在模拟器和设备上获取真实广告而非测试广告

时间:2018-04-07 15:43:18

标签: android admob ads google-admob

我使用正确的指南来查看测试广告,而logcat也将其显示为测试设备,但广告是真实的广告而不显示"测试广告"。

我使用以下代码生成广告请求:

2.0.0-beta.11

Log cat显示它是一个测试广告:

public static AdRequest getNewAdrequest()
{
    if (isDebugBuild()) {
        String android_id = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
        String deviceId = md5(android_id).toUpperCase();
        AdRequest adRequest =  new AdRequest.Builder().addTestDevice(deviceId).addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
        boolean isTestDevice = adRequest.isTestDevice(context);
        return adRequest;
    }
    else
    {
       return new AdRequest.Builder().addTestDevice("4CA0623922B985F481ACC93F908C7850").build();
    }
}

public static String md5(String md5) {
    try {
        java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
        byte[] array = md.digest(md5.getBytes());
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < array.length; ++i) {
            sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1,3));
        }
        return sb.toString();
    } catch (java.security.NoSuchAlgorithmException e) {
    }
    return null;
}

但广告就像这些广告: ad1 ad2

我没有使用firebase。使用:

I/Ads: Starting ad request.
This request is sent from a test device.

在genymotion和硬件设备上测试过。无法弄清楚什么是错的。

1 个答案:

答案 0 :(得分:0)

您已使用Test ads单元ID检查测试广告。几个小时后,会显示真实的广告。