【问题标题】:How to test if user has tempered admob work on android device如何测试用户是否在 android 设备上调整了 admob 工作
【发布时间】:2021-10-18 22:16:15
【问题描述】:

我的 android 应用已经投入生产很长时间了,我的应用每天有 5000 名用户,最近我决定监控 Android Admob SDK 错误(使用 firebase)。

我注意到,当 sdk 尝试加载广告时,一些用户不断收到相同的错误

failed to load: Unable to obtain a JavascriptEngine. (0)

还有:

failed to load: Network error. (2)

网络错误可能听起来用户没有互联网,但如果用户没有互联网,我的应用程序不会通过 SplashScreen,因此如果有任何代码尝试加载广告,则在它之前测试了用户连接。

这些错误是不可恢复的,我的意思是,当其中一个发生在用户身上时,它会发生在所有广告格式(横幅、插页式...)上,并且会永远发生,不会向该用户提供任何广告完全没有。
我最近了解到有一些应用程序声称可以删除广告,例如:https://www.luckypatchers.com/download/(以及许多其他应用程序)

我没有深入研究这些应用程序是如何阻止 admob 的工作的,但显然它们确实如此。我的问题是,有没有确定的方法来检查 Admob 是否经过调和?

请不要建议:“测试用户是否安装了'luckypatchers'有几十个这样的应用程序,这个测试很可能会失败”,我也想要一个不会报告用户的测试合法的连接问题。

有人知道解决方案吗? 顺便说一句:google admob 有一个方法“Admob.TestAdmobOnThisDevice”来简单地检查它。

【问题讨论】:

  • 虽然您可能会实施某种广告中断检查,但用户最终仍将能够绕过它。至少,他们可以从您的应用程序中删除验证(即使自动修补程序不会这样做,实际的逆向工程师也会这样做)。一般来说,你的程序只不过是指示用户设备做什么,因此愿意改变其行为的用户最终将能够做到。你能做的最多就是让他们更难,但请记住,激励爱好者可能会适得其反
  • 普通用户不会进行逆向工程,他会使用现成的解决方案...如果您认为打击盗版毫无意义,那么您可能走错市场了

标签: android admob ads piracy-prevention


【解决方案1】:
  • 如果用户连接到互联网并且广告没有加载。

  • 然后您可以使用 onAdfailed 侦听器,如果没有加载广告,那么您可以 让用户退出应用程序(在让用户退出之前使用一些延迟)

【讨论】:

  • 你的假设是非常错误的,广告失败的原因有很多,如果仅仅因为广告失败就强迫用户离开应用程序会造成糟糕的体验
  • 你试过了吗?
  • 我不需要尝试,我有足够的经验知道你的想法是错误的。许多原因可能导致 admob 调用 onAdFailed、admob 帐户中的问题、配置错误、互联网问题,以及主要没有广告可投放(这种情况经常发生,很简单,因为没有广告可显示)所以抓住这些错误并假设它们是故意的由用户引起是一个可怕的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-16
  • 2013-08-24
  • 1970-01-01
  • 2016-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多