Web 推送通知在 Android 上工作,但在 IOS 上不工作

Posted

技术标签:

【中文标题】Web 推送通知在 Android 上工作,但在 IOS 上不工作【英文标题】:Web Push Notification working on Android but not on IOS 【发布时间】:2021-03-17 04:34:37 【问题描述】:

我正在尝试使用此代码从网络应用程序向手机发送推送通知。

function notify(mess) 
  navigator.serviceWorker.register('sw.js');
  Notification.requestPermission(function (result) 
    if (result === 'granted') 
      navigator.serviceWorker.ready.then(function (registration) 
        registration.showNotification('Valet Pra', 
          body: mess,
          icon: './WebsiteLogo.png',
          vibrate: [200, 100, 200, 100, 200, 100, 200],
          tag: 'vibration-sample',
        );
      );
    
  );

sw.js 文件为空。

我使用 chrome 浏览器在我的 android 手机上收到通知。

但是,当我在 iPhone 的 ios(Safari 和 Chrome)上尝试相同操作时,通知不会创建。

请帮帮我。我也愿意尝试任何其他方法。

【问题讨论】:

【参考方案1】:

iOS 版 Chrome 使用 safari webkit。所以你必须在 Notification api 上查看 webkit 开发状态:

https://webkit.org/status/

您可以支持此功能请求: https://bugs.webkit.org/show_bug.cgi?id=182566

这仍然无法在 ios 上运行(查看 safari ios 专栏):

https://developer.mozilla.org/en-US/docs/Web/API/notification#browser_compatibility

https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification#browser_compatibility

【讨论】:

以上是关于Web 推送通知在 Android 上工作,但在 IOS 上不工作的主要内容,如果未能解决你的问题,请参考以下文章

Worklight 6.2:成功发送标签推送通知,但在 android 设备上未收到

在发布版本上推送通知工作,但在上传到 TestFlight 之后没有

C# 推送通知在模拟器上工作但在真实设备上不工作

通过 FCM 发送时未收到推送通知,但在 IOS 上通过 APN 发送时收到

来自通知中心的推送通知不起作用,但在 FCM 中它正在工作

我的应用程序中的推送通知在 iPhone 6s 上停止工作,但在 iPad 上仍然有效