我两天前发布了我的Android应用程序,使用了admob广告。我使用我的个人手机作为测试手机,但在发布之前取出了测试模式代码。我的admob状态是活跃的,我收到报告上的请求和印象,但每当我尝试在我的个人电话上使用该应用程序时,我只会收到“测试广告”。我不知道为什么。我查看了我的应用程序的代码,找不到任何错误。我确实删除了应用程序的测试版本,然后从市场上下载了发布的版本。
答案 0 :(得分:5)
我不确定为什么测试广告会出现在您的应用中,但关闭它们的一种方法是转到您的Admob应用设置,并选择“禁用所有请求的测试模式”选项作为您的测试模式设置。
答案 1 :(得分:5)
您的客户不会看到调试广告。你可能有一句话:
AdManager.setTestDevices( new String[] {
AdManager.TEST_EMULATOR, // Android emulator
"E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone
}
假设E83D20734F72FB3108F104ABC0FFC738是您的个人电话,那么只要该电话提出请求,它就会获得测试广告。所有其他手机都不符合测试广告的条件,除非它们也单独添加到该方法中。
答案 2 :(得分:2)
尼克的回答有效。 (但缺少最后的括号。)
但是如果我想将我的(尚未发布的)Android应用程序发给10位朋友呢?
是否有任何java代码说“将所有手机视为测试设备”?
答案 3 :(得分:1)
以下是将所有设备视为测试设备的代码:
String aid = Settings.Secure.getString(context.getContentResolver(), "android_id");
try {
Object obj;
((MessageDigest) (obj = MessageDigest.getInstance("MD5"))).update(aid.getBytes(), 0, aid.length());
aid = String.format("%032X", new Object[] { new BigInteger(1, ((MessageDigest) obj).digest()) });
} catch (NoSuchAlgorithmException localNoSuchAlgorithmException) {
aid = aid.substring(0, 32);
}
adRequest.addTestDevice(aid);