繁体   English   中英

Safari浏览器推送通知的“无法为网站标识符web.com.WEBSITE注册用户,收到响应404”错误

[英]“Could Not Register User For Website Identifier web.com.WEBSITE, received response 404” error for safari push notification

我一直在尝试将Safari Push Notification实施到我的网站,并且这种方法行得通。 我测试过的版本是:

  • 9和10转到V1 pushPackage端点(有效)
  • 转到V2 pushPackage端点的11和12(有效)
  • 12.1 应该转到V2端点(不起作用)

每个弹出窗口都会显示出来(12.1除外),我可以单击允许( 手动验证为Safari设置,将其更改为授予 )。 但是,此后,回调函数将不运行(根据下面的代码,它应该记录ASKED并且在我单击allow之后,它会记录GRANTED ),它只会记录ASKED ,并且在刷新页面GRANTED 我可以打印设备令牌

有趣的是,在刷新之前,它会将错误日志发送到

https://YOUR_API/v1/logs endpoint

(是的,甚至使用V2 pushPackage的11和12最终也会记录到V1错误端点)

错误日志说

无法注册网站标识符web.com.MYSITE的用户,收到响应404

不知道这意味着什么,它不在Apple文档中。

供参考,这是我的代码:

const checkRemotePermission = (permissionData) => {
   if (permissionData.permission === 'default') {
      console.log('ASKED')
         window.safari.pushNotification.requestPermission(
            'https://MYENDPOINT',
            'web.com.MYSITE',
            {},
            checkRemotePermission
         )
      } else if (permissionData.permission === 'denied') {
           console.log('DENIED')
      } else if (permissionData.permission === 'granted') {
           console.log('GRANTED')
      }
   }
   if ('safari' in window && 'pushNotification' in window.safari) {
      var permissionData = window.safari.pushNotification.permission('web.com.MYSITE')
      checkRemotePermission(permissionData)
   }

任何想法都将非常有帮助。

当用户注册,更新或忘记设备权限策略时,POST或DELETE请求将发送到以下URL webServiceURL / version / devices / deviceToken / registrations / websitePushID

因此,该URL必须存在以避免这种错误

示例网址看起来像https://yoursite.com/v1|v2/devices/75DA1C150840DAB9P7130022F4BF0F0638005B152C2D26B4B65FDAF5F7FDA19D/registrations/web.com.yoursite

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM