0

如您所知,许多人都在使用自定义 rom。几乎所有自定义 rom 都将阻止访问(向 127.0.0.1 发送广告请求)的 hosts 文件更改为 admob。

有什么办法可以克服吗?也许不可能以编程方式更改主机文件,但也许我们可以在我们的应用程序中为 admob 定义 ip,不是吗?像这样的问题,你在做什么来阻止广告拦截器?

如果应用检测到广告拦截器,我不想阻止我的应用被用户使用。

4

2 回答 2

1

您可以使用AdListener来检测您的 AdView 是否收到广告。如果它在很长一段时间内(例如连续几天)没有收到广告,但该应用程序已被使用,您可以开始屏蔽它。

AdView adView = new AdView(activity, AdSize.BANNER, "xxxxxxxxxx");
adView.setAdListener(new AdListener() {
    @Override public void onReceiveAd(Ad arg0) { }
    @Override public void onPresentScreen(Ad arg0) {  }
    @Override public void onLeaveApplication(Ad arg0) { }
    @Override public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
        // implement this method
    }
    @Override public void onDismissScreen(Ad arg0) { }
});
于 2013-08-26T14:30:08.803 回答
0

如果您使用标准系统调用将主机解析为 IP,则您无法阻止用户控制其 DNS 的配置方式以进行解析。我还没有在 Android 上做过这个,但是你可以推出你自己的 DNS 解析功能,它自己会发送到一个 DNS 服务器,比如谷歌的 8.8.8.8,并为你解析一个 IP。

正如您所提到的,另一种选择是简单地使用 IP 地址,可能是您拥有的一个,然后重定向到您想要的任何地方。

或者最好的是,让用户控制他们对 DNS 的操作?这真的是一个大问题吗?

于 2013-08-26T14:24:56.640 回答