admob测试广告出现

时间:2011-01-28 14:54:18

标签: java android admob

我两天前发布了我的Android应用程序,使用了admob广告。我使用我的个人手机作为测试手机,但在发布之前取出了测试模式代码。我的admob状态是活跃的,我收到报告上的请求和印象,但每当我尝试在我的个人电话上使用该应用程序时,我只会收到“测试广告”。我不知道为什么。我查看了我的应用程序的代码,找不到任何错误。我确实删除了应用程序的测试版本,然后从市场上下载了发布的版本。

4 个答案:

答案 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);