Android 为什么要删除AdMob';s addTestDevice()正在生产中?

Android 为什么要删除AdMob';s addTestDevice()正在生产中?,android,testing,click,admob,ads,Android,Testing,Click,Admob,Ads,在这一页上 上面说 注意:请确保在安装之前删除设置这些测试设备的代码 你发布你的应用程序 有人能解释为什么吗?为什么我不能离开发送我的特定设备测试广告的代码行呢?这是否有助于防止我违反AdMob关于开发人员不会意外地给自己留下错误印象或点击的规则?没有确切的理由说明为什么应该删除使用测试设备进行广告的那一行。作为发布应用程序的一般规则,应删除所有测试和调试跟踪,以免干扰应用程序的发布版本,并避免应用程序中出现任何循环漏洞。代码中的这一行意味着如果有人使用相同的测试id使用设备测试你的应用程序,

在这一页上

上面说

注意:请确保在安装之前删除设置这些测试设备的代码 你发布你的应用程序


有人能解释为什么吗?为什么我不能离开发送我的特定设备测试广告的代码行呢?这是否有助于防止我违反AdMob关于开发人员不会意外地给自己留下错误印象或点击的规则?

没有确切的理由说明为什么应该删除使用测试设备进行广告的那一行。作为发布应用程序的一般规则,应删除所有测试和调试跟踪,以免干扰应用程序的发布版本,并避免应用程序中出现任何循环漏洞。代码中的这一行意味着如果有人使用相同的测试id使用设备测试你的应用程序,admob使用的是测试设备id,而不是实际的设备id,因此您无法从admob获得任何信息。我通常会在以后修改我的应用程序以获得另一版本发布时对其进行注释,以便于测试。

如果您的addTestDevice()正在生产中,用户将无法看到真实的广告,无论传递给方法的设备id是什么


您应该只在测试中使用此代码。

我不会在我的任何应用程序中删除testdevice指令。这是为了我自己的保护-当我从应用商店下载我自己的应用程序时,我仍然只想在我自己的设备上看到标记为测试广告的广告。如果我无意中点击了其中一个广告,我没有因为留下代码行而受到任何不利影响,最重要的是,它可以保护我免受谷歌禁止我进入Admob。点击你自己的应用程序中显示的未经测试的广告,Admob尤其不赞成。请放心,所有其他用户(不在testdevice指令内的用户)仍然可以看到未标记为testad的真实广告


编辑2019年6月-两年后我仍然这样做。在最新的Admob API中,您将看到真实公司的真实广告,但它的顶部会有一个小的“TestAd”文本。这表示该广告被标记为测试广告,您不会因为点击该广告而受到Admob的处罚。如果没有测试文本,千万不要点击你自己的广告

文档之所以说要在生产中删除测试设备,是因为存在一个低风险的安全问题,如果你将该代码留在你的应用程序中,从理论上讲,如果有人将某些恶意软件放入你设备上的其他应用程序中,他们可能会清除APK,获取你的哈希,并检测到你是该应用程序的作者。从应用程序中删除测试设备ID可消除此风险


如果您可以承担该风险,最好将测试设备ID保留在应用程序中,这样您就可以继续在生产中单击该设备上的广告,而不用担心产生无效流量。

其他设备可能与我具有相同的设备ID?否,但是,如果任何人使用仿真器测试你的应用程序或android设备,他都可以模拟测试设备ID。我曾经这样做是为了在模拟器中测试一个旧的应用程序,看看我是否得到了测试广告。既然升级到无广告版本是在应用程序内购买的,那么我如何在没有看到真实广告的情况下给自己提供无广告版本的应用程序呢?(看到或点击你自己的广告是违反AdMob政策的)@user8298723只要你不点击它们,就没有问题谷歌通常甚至禁止显示现场广告进行测试。文档中到处都有。然而,谷歌知道开发人员不会听从其建议,因此在测试时会忽略(或无法检测)此类广告。然而,仅仅因为开发人员没有被抓到并不意味着他们没有违规。查看,甚至仅仅是加载,一个真实的广告会弄乱谷歌的数据(尽管是在微观层面上),所以我建议始终保持安全。如果字符串不重要,那么将任何字符串传递到addTestDevice的目的是什么?通过Android Studio等在物理手机上测试?有一些特定字符串可以传递,因此它可以在模拟器上工作。这绝对不是真的。@William您可能应该在回答或评论中详细说明指定设备ID为addTestDevice()的设备将接收测试广告。所有其他设备将接收真实广告。在进入生产阶段时,无需删除此声明。您好,此测试广告分类是否会阻止我从应用程序中显示的广告中获利?我对此非常不确定和不清楚!请澄清您的货币化@Peter Smith我真的很困惑。据我记忆所及,谷歌说要删除它,但我不太明白为什么。这是否仍然存在?我的意思是,不删除不会造成损害?我们是否应该删除代码?请回答是或否的格式