【问题标题】:AdRequest.DEVICE_ID_EMULATOR showing live ads instead of test adsAdRequest.DEVICE_ID_EMULATOR 显示实时广告而不是测试广告
【发布时间】:2015-01-08 18:56:23
【问题描述】:

我尝试使用以下代码在我的应用中显示全屏广告:

AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
AdRequest adRequest = adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();

interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(this.getText(R.string.full_screen_ad_unit_id).toString());
interstitial.loadAd(adRequest);


if(interstitial.isLoaded()) 
{
    interstitial.show();
}

但在模拟器和真实设备中,adMob 会显示实时广告而不是测试广告。

这会给我带来很大的问题,即它可能会因为无效展示或无效点击而阻止我的 admob 帐户。

我有以下this 教程。

那么请帮我解决这个问题?

【问题讨论】:

  • 试试这个>>- AdRequest adRequest = adRequestBuilder.addTestDevice("CD0005AF3FFA73AC718D23D8CC419110").build();
  • @MdAbdulGafur 这些类型的 id 特定于设备。这不适用于不同的设备。而且我已经尝试过 Eclipse logcat 中 admob 推荐的“3B361E14CEFB340462CDE8F77C97EC87”ID。但是这个 id 只能在那个设备上工作,不能在另一个设备上工作。而且我不想在更换设备时自己更改此 ID。

标签: android admob


【解决方案1】:

我找到了解决此问题的替代方法。工作代码是:

AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
AdRequest adRequest;
String android_id = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceId = Utilities.getMD5(android_id).toUpperCase(Locale.ENGLISH);

adRequest = adRequestBuilder.addTestDevice(deviceId).build();
boolean isTestDevice = adRequest.isTestDevice(this);

SetLogInfo.writeLog1("is Admob Test Device ? "+deviceId+" "+isTestDevice);

interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(this.getText(R.string.full_screen_ad_unit_id).toString());
interstitial.loadAd(adRequest);


if(interstitial.isLoaded()) 
{
interstitial.show();
}

还有getMD5():

protected static String getMD5(String inputText)
{
    String md5 = "";
    try
    {
        MessageDigest digester = MessageDigest.getInstance("MD5");
        digester.update(inputText.getBytes());
        md5 = new BigInteger(1, digester.digest()).toString(16);
    }
    catch(Exception e)
    {
        SetLogInfo.writeLog("Exception: "+e);
    }
    return md5;
}

至少这个解决方案最好不要使用“AdRequest.DEVICE_ID_EMULATOR”。从here得到想法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-10
    • 2019-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多