Android 我想停止在侧面加载的APK中显示广告。在一个堆栈溢出回答中,我发现安装程序packagename将来可能会更改。有办法吗?

Android 我想停止在侧面加载的APK中显示广告。在一个堆栈溢出回答中,我发现安装程序packagename将来可能会更改。有办法吗?,android,google-play-services,Android,Google Play Services,我想停止显示广告,如果apk是侧装版本,即如果它不是从play store安装的。所以我是这样做的: String installer = getPackageManager().getInstallerPackageName( "com.example.myapp"); if (installer == null) { // app was illegally downloaded from unknown source. // dear use

我想停止显示广告,如果apk是侧装版本,即如果它不是从play store安装的。所以我是这样做的:

String installer = getPackageManager().getInstallerPackageName(
    "com.example.myapp");

if (installer == null) {
    // app was illegally downloaded from unknown source. 
    // dear user, please re-install it from market
} 
else if(installer.equals("com.android.vending") {
    // app was installed legally
    
}
现在在一个堆栈溢出中回答(链接):

我发现: 安装程序packagename将来可能会更改。例如,安装程序包名以前是
“com.google.android.feedback”
(请参见此处),现在是
“com.android.vending”

于是我做了一些搜索,发现:

GooglePlayServicesUtilLight.GOOGLE_PLAY_STORE_PACKAGE
常数。

因此,我可以使用
GooglePlayServicesTillight.GOOGLE\u PLAY\u STORE\u软件包来代替检查硬编码值,即
“com.android.vending”
?下面的代码可以工作吗

String installer = getPackageManager().getInstallerPackageName(
"com.example.myapp");

if (installer == null) {
    // app was illegally downloaded from unknown source. 
    // dear user, please re-install it from market
} 
else if(installer.equals(GooglePlayServicesUtilLight.GOOGLE_PLAY_STORE_PACKAGE)) {
    // app was installed legally

}
为什么我不想在侧面加载的apk中显示广告?

回答:
目前我在play store上有应用程序,但我在10个国家/地区都没有。因此,我怀疑是否有来自这10个国家的一些用户从我无法控制的第三方网站安装了它的侧载版本。他们在我的应用程序中点击了横幅广告,这导致我的admob帐户上设置了广告服务限制。我说得对吗?或者侧向加载不会导致广告服务限制?

很多应用程序都发布在不受支持的应用商店上,例如Hauwei AppGallery,AdMob广告正常工作,我从2021年2月2日起就面临广告服务限制问题,你找到解决方案了吗?我删除了所有以前的广告单元,并创建了一个新的。然后我使用了上面的代码,如果不是从play store安装apk,目前不会显示任何广告。从那时起一个月,我的admob帐户中没有任何广告限制。谢谢,但是为什么APKPURE上有很多应用程序,admob可以使用它们呢!是的,你说得对。但我用这种方式解决了这个问题,它对我很有效。我想更新一些信息。我刚刚读到一些关于facebook的信息,其中一个原因是该应用程序没有从Google Play Store或App Store下载。因此,facebook只响应来自谷歌Play商店或iOS应用商店下载的应用程序的请求。所以我认为在AdMob的案例中可能也有同样的情况?因此,侧面加载的应用程序用户可能会导致问题?: