如你所知,很多人都在使用定制的rom。几乎所有的自定义roms都改变了主机文件,这是阻止访问(发送请求到127.0.0.1的广告)到admob。
有什么方法可以克服它吗?也许不可能以编程方式更改主机文件,但也许我们可以在应用程序中定义admob的ip,不是吗?作为这样的问题,你在做什么来防止广告拦截程序?
如果我的应用程序检测到广告拦截程序,我不愿意阻止用户使用它。
发布于 2013-08-26 22:30:09
您可以使用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-26 22:24:57
如果使用标准系统调用将主机解析为IP,则无法防止用户控制其DNS配置为解析的方式。我没有在Android上这样做,但你可以推出你自己的DNS解析功能,它会自动连接到一个DNS服务器,比如Google的8.8.8.8,它会为你解析一个IP地址。
正如您所提到的,另一种选择是简单地使用IP地址,可能是您拥有的地址,然后重定向到您想要的任何位置。
或者更好的是,让用户控制他们的DNS做什么?这真的是一个大问题吗?
https://stackoverflow.com/questions/18446240
复制相似问题