【问题标题】:App was denied on playstore because of violation of section 4.4 of the Developer Distribution Agreement由于违反开发者分发协议第 4.4 节,应用在 Playstore 上被拒绝
【发布时间】:2015-06-13 13:52:00
【问题描述】:

我刚刚收到以下电子邮件:

这是一个通知,您的应用程序提交,Chami 浏览器,包 ID com.chami.browser,已被拒绝。如果这 提交是对现有应用程序的更新,发布的版本 在此更新之前仍可在 Google Play 上使用。

请解决下述问题,然后提交更新 您的更改。

拒绝原因:违反了开发者的第 4.4 条 分销协议。

经过定期审核,我们确定您的应用下载、 通过违反以下规定获利或以其他方式访问 YouTube 视频 YouTube 服务条款或 YouTube API 服务条款。访问 未经授权的内容、产品或服务是 违反开发者分发协议,不允许 在 Google Play 上。

跟踪所有提交拒绝。由于多次拒绝 违反政策将导致应用暂停,此时此 应用程序将被视为对开发者良好信誉的打击 帐户,并且不再在 Google Play 上可用。

此通知也可作为您的其他应用的通知 目录。您可以避免将来的提交被拒绝和/或应用 通过立即确保您的目录中没有其他应用程序来暂停 违反(但不限于)上述政策。前 发布应用程序,请确保您的应用程序符合 开发者分发协议和内容政策。

如果您认为我们做出此决定有误,您可以访问 这篇 Google Play 帮助中心文章。

Google Play 团队

他们在开发者控制台中为我提供了另外一项信息。他们认为我违反了 Youtube 或 Youtube API 的条款和条件。 我真的不明白这一点。我的应用不使用 Youtube API。我的应用程序允许在 webview 中查看 HTML5 视频并全屏显示。这是通过以下 WebChromeClient 的实现来实现的。

 class mojWebChromeClient extends WebChromeClient {
        private View nacitavanieVideaView;
        private FrameLayout vlastnyViewFrameLayout = (FrameLayout) findViewById(R.id.FLvideo);

        @Override
        public void onShowCustomView(View view, int requestedOrientation, CustomViewCallback callback) {
            onShowCustomView(view, callback);
        }

        @Override
        public void onShowCustomView(View view,CustomViewCallback callback) {

            if (mojVlastnyView != null) {
                callback.onCustomViewHidden();
                return;
            }
            mojVlastnyView = view;
            net.setVisibility(View.GONE);
            findViewById(R.id.PBnacitavanie).setVisibility(View.GONE);
            findViewById(R.id.RLOvladaciPanel).setVisibility(View.GONE);
            vlastnyViewFrameLayout.setVisibility(View.VISIBLE);
            vlastnyViewFrameLayout.addView(view);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
            vlastnyViewCallback = callback;
        }

        @Override
        public View getVideoLoadingProgressView() {


            if (nacitavanieVideaView == null) {
                LayoutInflater inflater = LayoutInflater.from(HlavnaAktivita.this);
                nacitavanieVideaView = inflater.inflate(R.layout.nacitavanie_videa, null);
            }
            return nacitavanieVideaView;
        }

        @Override
        public void onHideCustomView() {
            super.onHideCustomView();
            if (mojVlastnyView == null)
                return;

            net.setVisibility(View.VISIBLE);
            findViewById(R.id.PBnacitavanie).setVisibility(View.VISIBLE);
            findViewById(R.id.RLOvladaciPanel).setVisibility(View.VISIBLE);
            vlastnyViewFrameLayout.setVisibility(View.GONE);

            mojVlastnyView.setVisibility(View.GONE);

            vlastnyViewFrameLayout.removeView(mojVlastnyView);
            vlastnyViewCallback.onCustomViewHidden();


    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
                mojVlastnyView = null;
            }
}

然后我只是在 onCreate() 中的 Webview 上应用了 WebChromeClient:

 WebView net = (WebView) findViewById(R.id.net);
net.setWebChromeClient(new mojWebChromeClient());

【问题讨论】:

  • 如果他们说你违反了 A 或 B,而你没有使用 B,那么看看 A。
  • 在我看来,我的应用没有违反 A 也没有违反 B,我真的很困惑。

标签: android html webview youtube


【解决方案1】:

自推出 Youtube API 以来,您最好使用 sdk 。它只是更好。通过 webview 在 youtube 中投放的视频会显示广告,而您无法控制这些广告。只需使用 youtube sdk for android

另外,请阅读 youtube.com 上的 TOS

【讨论】:

    猜你喜欢
    • 2019-02-27
    • 2019-07-03
    • 2019-05-29
    • 2019-04-07
    • 1970-01-01
    • 2019-12-06
    • 2021-10-01
    • 2020-02-20
    • 2016-03-11
    相关资源
    最近更新 更多