1

我使用 Trusted Web Activity 将我的 PWA 网站转换为 Android 应用程序。但是推送通知正在向用户询问权限。

我们怎样才能避免这种许可对话,让它像原生应用一样工作,在没有任何许可的情况下发送通知。

如果我在 Play 商店中列出此 pwa android 应用程序,是否会询问此推送通知权限。

4

2 回答 2

1

据我所知,TWA 是 PWA 的包装器,允许您将 PWA 存储在 PlayStore 中。

TWA 可以在 Android Chrome 或 Android 应用程序内的 WebView 中运行。但是,对于后者,Web Notifications 不起作用,因此我猜您使用第一种方法。

在 Chrome 中,您仍然必须遵守浏览器规则,这意味着您不能跳过向用户请求权限。

要记住的另一件事是 PWA 和 TWA 仍然在浏览器沙箱下运行,这意味着它们无法访问本机 API。

于 2019-11-21T14:07:01.060 回答
1

如果您安装了 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以获得更多关于如何让它工作的例子。

于 2020-03-20T10:44:42.160 回答