【问题标题】:Setting up push notifications with pubnub使用 pubnub 设置推送通知
【发布时间】:2016-09-21 12:09:59
【问题描述】:

我正在尝试在 react-native 项目上使用 PubNub 设置推送通知。但是调用 push.addChannels() 方法会给我错误 403 并带有“PNAccessDeniedCategory”。

我已尝试关闭访问管理器,但仍然得到相同的结果。不确定我是否传递了正确的参数。

我已经用苹果设置了推送通知并将 cert.pem 文件上传到 PubNub。

pubnub.push.addChannels({
        channels: ['ch.staff'],
        device: 'ECID-OF-DEVICE-HERE',
        pushGateway: 'apns' // apns, gcm, mpns
      }, function(status) {
        if (status.error) {
          console.log("operation failed w/ error:", status);
        } else {
          console.log("operation done!")
        }
      });

我可以毫无问题地发送和接收标准消息,只是这个不起作用。

我正在关注这里的文档:

https://www.pubnub.com/docs/javascript/mobile-gateway-sdk-v4#Provisioning_devices_with_channel_names_per_lang_Examples

我的主要问题是。

我是否需要授予访问权限才能使用此方法?我该怎么做? 设备字段是否应该是 ECID?

【问题讨论】:

    标签: pubnub


    【解决方案1】:

    PubNub 移动推送 + 访问管理器

    Access Manager 拒绝访问,因为客户端设备的 auth-key 没有 read 权限(或者根本没有 auth-key)。

    要么禁用 Access Manager,直到您准备好通过服务器为您的客户端实施授权密钥授予权限,或者为客户端的授权密钥授予 read 权限,以访问它需要注册推送的通道(以及可选择订阅)。

    有关详细信息,请参阅 PubNub JavaScript SDK 文档访问管理器教程中的 PubNub Nub operations/permissions mapping

    【讨论】:

      【解决方案2】:

      授予权限如下所示:

      pubnub.grant(
      {
          channels: ['ch.staff'],
          authKeys: ['clientAuthKey'],
          read: true, // false to disallow
          write: true, // false to disallow
      },
      function (status) {
          // handle state setting response
          console.log('Status', status)
      }
      );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多