我在我的应用中看到了实际的广告,而不是测试广告。查看图片和代码。
AdView mAdView = (AdView) findViewById(R.id.adView);
//AdRequest adRequest = new AdRequest.Builder().build();
AdRequest request = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR) // All emulators
.addTestDevice("32F40C185F4A9214").addTestDevice("31B340D6693D6C01").addTestDevice("759E79391A5A27C3")
.addTestDevice("aa6705960ab37b0d")
.build();
mAdView.loadAd(request);
答案 0 :(得分:3)
你确定这4个设备ID中有一个有效的设备ID吗?
请检查您的日志,Admob会在其中打印您的设备ID。将相同的设备ID放在addTestDevice();
中答案 1 :(得分:1)
您的设备ID可能有误。
像这样添加测试设备ID,因此您不需要在设备更换时更换它。
.addTestDevice(getDeviceId(context))
getDeviceId()和md5()
的代码public static String getDeviceId(Context context)
{
String android_id = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
String deviceId = md5(android_id).toUpperCase();
//return deviceId;
return "0";
}
public static final String md5(final String s) {
try {
// Create MD5 Hash
MessageDigest digest = java.security.MessageDigest
.getInstance("MD5");
digest.update(s.getBytes());
byte messageDigest[] = digest.digest();
// Create Hex String
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < messageDigest.length; i++) {
String h = Integer.toHexString(0xFF & messageDigest[i]);
while (h.length() < 2)
h = "0" + h;
hexString.append(h);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
答案 2 :(得分:0)
将AdMob广告整合到您的应用中时,建议您使用测试模式。在测试模式测试中,始终会返回广告。基于每个设备启用测试模式。要为设备启用测试模式,请首先请求广告,然后在LogCat中查找如下所示的行:
要在模拟器上获取测试广告,请使用AdManager.setTestDevices ...
获得设备ID后,您可以通过调用主要活动AdManager.setTestDevices来启用测试模式:
AdManager.setTestDevices(new String [] {AdManager.TEST_EMULATOR,&#34; E83D20734F72FB3108F104ABC0FFC738&#34;,//电话ID });
比较这两个屏幕截图,它让我看到您的程序已正确配置为测试模式。