问题:违反了干扰应用程序,第三方广告或设备功能政策的规定

时间:2019-07-27 16:48:23

标签: android google-play admob google-play-services

我只是尝试在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()方法的任何实现。

我现在真的很沮丧,首先是因为所谓的“谷歌支持”根本没有帮助! 并且因为我不知道应该更改什么代码才能更新应用程序。 因此,我们将不胜感激任何帮助。 预先谢谢你

2 个答案:

答案 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方面是普遍问题,请回复

第二,据说我可以在修复后上载更新应用程序,但是每当我上载新更新时,都会发送一封自动回复电子邮件,说明相同的违规问题。 如何更新我的应用程序? 谢谢

谢谢。