首页 文章

未收到Amazon SNS的GCM推送通知

提问于
浏览
5

我试图通过 php 发送 Push notificationandroid app . 我设置了 amazon sns 帐户并使用 Google Server key for GCM API 创建了 SNS Platform .

使用 AWS credentials ,我写了一个 cron ,它从数据库读取通知消息,并使用amazon php api发布到sns服务 . 我在cron上获得了亚马逊 endpoints ,我发布了通知 .

我收到状态 passrequestid 通知 . 但实际通知未在设备上接收 .

Array ( [data] => Guzzle\Service\Resource\Model Object ( [structure:protected] => [data:protected] => Array ( [MessageId] => ac9e1d0c-43a4-5d1a-833d-50c94465421d [ResponseMetadata] => Array ( [RequestId] => c1da8997-2e32-50d0-a092-c45229f36fd7 ) ) ) )

我遵循的步骤:

  • 为GCM创建了Google API凭据 . 在应用程序中使用projectid,在Amazon平台上使用Server密钥

  • 在aws中创建了用户并添加了具有sns所有访问权限的策略

  • 在php aws api中使用了amazon用户凭据

  • 从Android / GCM创建了amazon sns应用程序平台,并在那里使用了google服务器密钥 .

  • 从上述步骤中添加了应用ARN到php api调用 .

  • 在php cron中,使用从GCM收到的registration_id为设备创建了AmazonEndpoint .

  • 在亚马逊 endpoints 上发布了通知消息 .

  • 并且卡住......即使在api通话中获得成功状态后也没有在设备上接收通知

谁能告诉我确切的步骤?我错过了什么吗?

2 回答

  • 0

    我使用Firabase和AWS SNS服务从php发送 . 我按照这个视频教程https://youtu.be/iBTFLu30dSg(俄语但有英文字幕)一步一步地做了 . 它现在适用于我,我成功地从移动设备上的PHP代码接收推送通知

  • 2

    使用json主题如:

    {
      "default": "Msg test from sns",
      "GCM": "{\"data\":{\"id\":\"161223182046\",\"badge\":1,\"message\":\"Msg test from sns\",\"title\":\"test\",\"_event\":{\"created\":1482547772}}}"
    }
    

    对于 endpoints 退出默认行:

    {
      "GCM":"{\"data\":{\"id\":\"161223182046\",\"badge\":1,\"message\":\"Msg test from sns\",\"title\":\"test\",\"_event\":{\"created\":1482547772}}}"
    }
    

    id_event.created 行在每次推送时都是唯一的 .

相关问题