我可以看到有一些测试ID用于测试Android设备中的AdMob广告。我知道如何从log cat获取测试ID。
使用语句adRequest.addTestDevice("TEST_DEVICE_ID");
测试Android设备中的广告有什么区别?因为在这两种情况下我都可以毫无问题地获得广告。
代码:
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice("TEST_DEVICE_ID");
答案 0 :(得分:5)
“TEST_DEVICE_ID”只是设备唯一ID的占位符 它应该被替换为:
adRequest.addTestDevice("3E4409D3BCF2XXXXX5D87F53CD4XXXXX");
要查找您的设备ID:在代码中使用adRequest.addTestDevice("TEST_DEVICE_ID");
运行您的应用,这会将您的设备ID打印到日志中。在logcat跟踪中搜索包含文本的INFO消息:
adRequest.addTestDevice
答案 1 :(得分:4)
通过这样做,您将在设备/模拟器上加载测试广告。
这很好,因为很多时候,您可能会错误地点击广告,如果这种情况经常发生或者Admobs决定您故意制作这些点击以增加收入,则可能会禁止您的帐户。
来自文档:
https://developers.google.com/admob/android/targeting#adrequest
在测试您的应用程序时,建议您申请测试广告 您不要求无效的展示次数。此外,你可以随时 依靠可用的测试广告。
答案 2 :(得分:0)
使用此:
new AdRequest.Builder()
.addTestDevice(Device.getId(this))
.build();
Device类:
public class Device {
public static String getId(Context context) {
String deviceId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
try {
MessageDigest digest = java.security.MessageDigest.getInstance("MD5");
digest.update(deviceId.getBytes());
byte messageDigest[] = digest.digest();
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);
}
deviceId = hexString.toString();
} catch (NoSuchAlgorithmException e) {
deviceId = "";
} finally {
return deviceId.toUpperCase();
}
}
}