【发布时间】:2019-11-21 12:43:20
【问题描述】:
我使用 Trusted Web Activity 将我的 PWA 网站转换为 Android 应用。但是推送通知正在向用户询问权限。
我们怎样才能避免这种权限对话,让它像原生应用一样工作,在没有任何权限的情况下发送通知。
如果我在 Play 商店中列出这个 pwa android 应用程序,是否会询问此推送通知权限。
【问题讨论】:
标签: android progressive-web-apps twa
我使用 Trusted Web Activity 将我的 PWA 网站转换为 Android 应用。但是推送通知正在向用户询问权限。
我们怎样才能避免这种权限对话,让它像原生应用一样工作,在没有任何权限的情况下发送通知。
如果我在 Play 商店中列出这个 pwa android 应用程序,是否会询问此推送通知权限。
【问题讨论】:
标签: android progressive-web-apps twa
据我所知,TWA 是您的 PWA 的包装器,允许您将 PWA 存储在 PlayStore 中。
TWA 可以在 Android Chrome 或 Android 应用内的 WebView 中运行。但是,对于后者,Web Notifications 不起作用,因此我猜您使用第一种方法。
在 Chrome 中,您仍然必须遵守浏览器规则,这意味着您不能跳过向用户请求权限。
要记住的另一件事是 PWA 和 TWA 仍然在浏览器沙箱下运行,这意味着它们无法访问本机 API。
【讨论】:
如果您安装了 TWA 应用程序,则无需在浏览器中请求即可获得通知权限。它通过“通知委托”工作,用户隐含同意通过安装您的应用而不禁用应用通知来接收推送通知。
您需要在您的 AndroidManifest 中包含类似的内容:
<service android:name="com.google.androidbrowserhelper.trusted.DelegationService"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.support.customtabs.trusted.TRUSTED_WEB_ACTIVITY_SERVICE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
也许可以查看bubblewrap 以获取有关如何使其工作的更多示例。
【讨论】: