首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在广告拦截器阻止广告时发出警报

在广告拦截器阻止广告时发出警报
EN

Stack Overflow用户
提问于 2018-04-17 19:05:55
回答 3查看 594关注 0票数 0

我在Google Play上发布了我的android应用,就像你们中的许多人一样。我知道许多用户使用广告拦截程序来阻止我的AdMob加载并显示插入式广告。由于广告是我花了几个小时在电脑前编写我的应用程序的原因,我认为我的用户避开它们是不公平的。那么,有没有什么地方我可以检测到我的广告被屏蔽了( 100%,这是危险的假阳性)?是否有ad.blocker应用程序包名称的列表,所以如果我的应用程序检测到其中之一,则停止显示消息,如“已安装总广告拦截程序。此应用程序将不会运行”或类似的消息。你认为这是可能的,还是说这是一场失败的战争?

EN

回答 3

Stack Overflow用户

发布于 2018-04-17 21:04:03

解决“你认为这是可能的还是失败的战争?”问题的一部分:

即使有可能检测到广告拦截器,并在它们存在的情况下采取“规避行动”,这样做可能也不是最有意义的。

假设简单地显示广告的收入远远低于点击时的收入,那么当广告拦截程序存在时拒绝运行,或者(最好是)当广告实际上被阻止时,似乎不太可能对收入产生很大影响:遇到这种拒绝运行的广告而麻烦地阻止广告的人可能会:

  • 卸载应用程序并选择一个替代方案(已收回收入:£0.00)
  • Grudgingly禁用广告拦截程序,但永远不会点击广告(已收回收入:最低限度)。

相反,专注于应用程序的其他盈利方式可能会更好:

  • 应用内购买。虽然有许多游戏滥用了这一点-故意设计一种“必须前进”的心态,再加上游戏的玩法,使得不购买就几乎不可能取得进展-但我怀疑当完成judiciously.
  • Ad-free版本后,有机会获得“公平”的收入。提供免费的广告赞助版本和付费的无广告版本。如果人们足够喜欢这个应用程序,一些人就会花钱不看adds (如上所述,你可能不会从那些不喜欢anyway).
  • Premium版本的应用程序中获得收入)。提供免费“试用”版,部分功能缺失或受限,以及付费完整/高级版,启用所有功能。
票数 1
EN

Stack Overflow用户

发布于 2018-05-14 12:34:38

您可以在AdView对象上设置listener,以便在广告加载失败等情况下进行检测。在你的代码部分可以检测到广告是否在过去10分钟内(例如)没有加载,并禁用一些应用程序功能或完全终止应用程序。这将解决AdBlocker的问题,关闭WiFi/移动数据和网络级拦截器。

另一方面,你必须决定是否值得拒绝没有网络连接的用户使用你的应用程序。我猜你还可以向用户显示一个友好的“提醒”或者类似的东西。不管怎样,这是一种选择

票数 0
EN

Stack Overflow用户

发布于 2020-04-28 07:21:21

如果设备连接到网络,我尝试通过pinging来解决此问题。

代码语言:javascript
复制
static boolean adblockcheck(Context con, @SuppressWarnings("SameParameterValue") String link) {
    ConnectivityManager connMgr = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = Objects.requireNonNull(connMgr).getActiveNetworkInfo();
    if(networkInfo != null && networkInfo.isConnected()){
        try {
            final String command = "ping -c 1 "+ link;
            //admob.com ping success, return true
            return Runtime.getRuntime().exec(command).waitFor() == 0;
        } catch (InterruptedException | IOException e) {
            e.printStackTrace();
            // admob.com ping error, return false
            return false;
        }
    } else {
        //No network connection? return true
        return true;
    }
}

使用

代码语言:javascript
复制
if(!adblockcheck(this,"admob.com")){
        // do something
    }

也许这会有帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49876455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档