【发布时间】: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