如果应用程序使用网络浏览器链接,如何通过 Android TV 的 Google Play 商店资格?

Posted

技术标签:

【中文标题】如果应用程序使用网络浏览器链接,如何通过 Android TV 的 Google Play 商店资格?【英文标题】:How to pass Google Play Store eligibility for Android TV if app uses web browser links? 【发布时间】:2019-03-01 10:34:30 【问题描述】:

所以我一直在向 Google Play 提交应用程序,并希望它也能发布到电视上。我必须在 apk 中添加多项内容,例如横幅、Leanback 启动器等。该应用程序在 android TV 上运行良好,但我一直收到此 Android TV 资格问题电子邮件:

应用链接到或取决于网络浏览器您的应用包含网络链接 内容,但是,Android TV 不支持任何网页浏览 内容。有关详细信息,请参阅我们的文档。

正如你在documentation 看到的那样:

TV-WB 对于 Web 内容,该应用使用 WebView 组件并且不会尝试启动 Web 浏览器应用。

现在,虽然我的应用在单击某些按钮时确实会打开 Web 浏览器链接,但此功能会检查浏览器是否存在,如果未安装浏览器,它将不会执行任何操作。

解决此问题的正确方法是什么?我想为手机和平板电脑保留 Web 浏览器链接,只为电视删除它。我应该使用简单的 if 条件吗?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

你有两个选择:

    使用multi-apk 发布一个电视应用程序和一个其他设备应用程序。这可能是应用程序做的最常见的事情。从您的电视应用程序中取出网络代码。如果你把代码放在一个 if 语句后面,这对于 TV 版本来说总是正确的,proguard 应该把它去掉。 只需将您的网络浏览代码粘贴在 if 语句后面,这样它就不会尝试跟踪电视上的链接。

选项 1 让您在将来可以更灵活地执行诸如分支电视和主要应用的功能之类的事情。它还允许每个 APK 更小,因为主应用程序没有任何电视特定代码,反之亦然。但是,协调发布需要更多的工作。

【讨论】:

谢谢,这是有道理的。我会跟进,我们现在将使用选项 2,管理 2 个分支机构对于我们拥有的小团队来说看起来太痛苦了 澄清一下,应该可以使用一个代码库(没有分支)来执行此操作,并且只需更改您的 gradle 文件(如果您使用 gradle)。我不是专家,但我认为您使用“产品风味”来做到这一点。见developer.android.com/studio/build/build-variants

以上是关于如果应用程序使用网络浏览器链接,如何通过 Android TV 的 Google Play 商店资格?的主要内容,如果未能解决你的问题,请参考以下文章

Android 设备上的 Apollo 网络错误(React Native)

如何获取图片网络链接啊?

如何将网络浏览器的类型设为网络浏览器

苹果手机为何突然无法浏览所有的链接内容

微信中如何通过手机系统默认外部浏览器打开指定网页URL

Android 链接到外部商店