我只是尝试在Google Play商店中发布我的应用程序的更新,我没有更改代码中的任何内容,只是增加了gradle中的“版本代码”并发布了该应用程序,但是该应用程序被拒绝了(3违反此政策):
问题:违反了应用,第三方广告或设备功能政策的干扰
与您的应用相关联的广告不得干扰其他应用,广告或设备的操作,包括系统或设备按钮和端口。这包括重叠式广告,随播广告功能和微件化的广告单元。广告只能在投放广告的应用中展示。
下一步:
1-仔细阅读干扰应用程序,第三方广告或设备功能的政策,并对您的应用程序进行适当的更改。
2-请确保删除用户退出应用后出现的所有广告,或者 用户按下“后退”按钮退出应用程序后。
3- 确保您的应用符合所有其他开发者计划政策。如果还有其他违反政策的行为,则可能会进一步执行。
登录到您的Play控制台,然后将更新提交到您的应用。
我已要求支持人员提供有关我的应用程序的更多信息,为什么当用户离开该应用程序时,该应用程序会被拒绝,因此不会显示任何广告。但是获得标准答案令人沮丧,就好像我们只是在和机器人聊天一样。
这是所谓的“ Google支持”的答案:
...再次感谢您与Google Play小组联系。
我将尽力提供更多信息,或者无法为您的问题提供更好的答案。在我们之前的电子邮件中,我确保将所有可用信息都包括在内...
如果您对Play开发者控制台有其他疑问,请告诉我。
我的应用程序是Quotes应用程序。在MainActivity中,有一个RecyclerView,其中列出了所有报价,当用户单击报价时,它将打开viewPager-Activity,用户可以在其中查看报价并水平滚动以查看其他报价。
在MainActivity中,屏幕底部有一个横幅广告。我计算用户点击报价的次数,如果计数器变为5,则显示在MainActivity和viewPager-Activity之间的插页式广告。
这是mainActivity中插页式广告的代码。 也许你们可以看到,如果我的应用程序确实违反了上述政策。
protected void onCreate(...){
//Interstitial
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId(getString(R.string.ad_interstitial));
mInterstitialAd.loadAd(new AdRequest.Builder().build());
mInterstitialAd.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
@Override
public void onAdFailedToLoad(int i) {
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
});
...
}
当用户点击引号时,我使用此代码显示插页式广告
@Override
public void onRecyclerViewItemClicked(int itemIndex) {
if(imageClickedAdsCounter % 5 == 0) { // if it's the fifth time a quote is clicked
showInterstitialAds();
}
++imageClickedAdsCounter;
Intent intent = new Intent(MainActivity.this, ImageViewPagerActivity.class);
...
startActivity(intent);
}
private void showInterstitialAds(){
if(mInterstitialAd != null && mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
}
}
我没有onBackPressed()
方法的任何实现。
我现在真的很沮丧,首先是因为所谓的“谷歌支持”根本没有帮助! 并且因为我不知道应该更改什么代码才能更新应用程序。 因此,我们将不胜感激任何帮助。 预先谢谢你
答案 0 :(得分:1)
我遇到了同样的问题,问题是当用户最小化我的应用程序时我的广告也正在展示,我通过检查我的应用程序是否在后台解决了问题
在build.gradle中添加库
if(ProcessLifecycleOwner.get().getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) {
mInterstitialAd.show();
}else {
Log.d("AppInBackground", "App Is In Background Ad Is Not Going To Show");
}
然后在调用mInterstitial.show()时检查应用程序是否不在后台
public int compare(MyObject o1, MyObject o2) {
return o1.getPrice() < o2.getPrice ?-1 :(o1.getPrice == o2.getPrice ?0 :1);
}
答案 1 :(得分:0)
我刚收到 问题:违反了干扰应用程序,第三方广告或设备功能政策
但是我的应用程序更新没有AdMob。该应用程序上没有任何广告,因为它是付费应用程序。如您所知,客户不希望在应用上投放广告。 我还没有收到Google方面的任何解释性答复。 如果有人可以解决问题,或者在Google方面是普遍问题,请回复
第二,据说我可以在修复后上载更新应用程序,但是每当我上载新更新时,都会发送一封自动回复电子邮件,说明相同的违规问题。 如何更新我的应用程序? 谢谢
谢谢。