【问题标题】:admob test ads appearingadmob 测试广告出现
【发布时间】:2011-01-28 14:54:17
【问题描述】:

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

【问题讨论】:

    标签: java android admob


    【解决方案1】:

    我不确定为什么测试广告会出现在您的应用中,但关闭它们的一种方法是转到您的 Admob 应用设置,然后选择“对所有请求禁用测试模式”选项作为您的测试模式设置。

    【讨论】:

    • 哇。谢谢。现在它的工作。也许我毕竟没有删除测试应用程序代码。这是否意味着我的客户正在查看“测试广告”或只是测试手机?
    • 只是您的测试手机。即使您保持启用它也没关系,事实上,如果您正在进行升级,它可以帮助您。
    【解决方案2】:

    您的客户不会看到调试广告。你可能有这样的一行:

    AdManager.setTestDevices( new String[] { 
      AdManager.TEST_EMULATOR, // Android emulator 
      "E83D20734F72FB3108F104ABC0FFC738", // My T-Mobile G1 Test Phone 
    }
    

    假设 E83D20734F72FB3108F104ABC0FFC738 是您的个人电话,任何时候该电话发出请求都会收到一个测试广告。所有其他手机都没有资格投放测试广告,除非它们也单独添加到该方法中。

    【讨论】:

      【解决方案3】:

      尼克的回答有效。 (但缺少最后的括号。)

      但是,如果我想将我的(尚未发布的)Android 应用分发给 10 位朋友怎么办?

      是否有任何 java 代码显示“将所有手机视为测试设备”?

      【讨论】:

        【解决方案4】:

        以下是将所有设备视为测试设备的代码:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多