当前位置: 首页 > 知识库问答 >
问题:

没有收到亚马逊社交网站的GCM推送通知

房子昂
2023-03-14

我正在尝试通过php向Android应用程序发送推送通知。我设置了亚马逊SNS帐户,并使用谷歌服务器密钥为GCM API创建了SNS平台。

使用 AWS 凭证,我编写了一个 cron,它从数据库读取通知消息,并使用 Amazon php api 发布到 sns 服务。我正在以 cron 获取 Amazon 终端节点,并在其上发布通知。

我收到的状态是通行证和通知请求。但设备上没有收到实际通知。

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 ) ) ) )

我遵循的步骤:

> < li>

为GCM创建了google API凭据。在亚马逊平台的应用程序和服务器密钥中使用了projectid

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

在php aws api中使用amazon用户凭证

从Android/GCM创建了amazon sns应用平台,并在那里使用了google server key。

将从上述步骤接收到的应用程序ARN添加到php api调用中。

在php cron中,使用从GCM接收的registration_id为设备创建了AmazonEndpoint。

在亚马逊终端节点上发布了通知消息。

卡住了......即使在api调用中获得成功状态后,设备上仍未收到通知

有人能告诉我具体步骤吗?我错过了什么吗?

共有2个答案

雷献
2023-03-14

使用 json 来主题,例如:

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

对于endpoint,退出默认行:

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

其中< code>id和< code>_event.created行对于每次推送都是唯一的。

马淇
2023-03-14

我用Firabase和AWS SNS服务从php发送。我是按照https://youtu.be/iBTFLu30dSg的视频教程一步一步做的(俄语版,有英语字幕)。它现在对我很有效,我成功地在移动设备上收到了来自我的php代码的推送通知

 类似资料:
  • 我对amazon sns有奇怪的问题。我正在使用amazon aws的nodejs sdk向android设备发送推送通知。问题是当我将消息发送到亚马逊服务器时,它会返回一个MessageID,但消息没有传递。 这是亚马逊发布的代码: 如果我使用亚马逊控制台发布通知工作完美。此外,如果我从gcmMessage中删除JSON.stringify,它正在发送push通知,但没有gcm数据。

  • 我一直在努力解决亚马逊SNS推送通知中的一个特殊问题,这在任何亚马逊文档中都找不到。 我正在尝试发送包含<code>的通知 < code >尝试我们的新M 提前致谢!

  • 我想向移动设备发送丰富的推送通知。我的意思是,当用户收到推送通知时,设备可以显示图像或视频等媒体附件(例如https://medium . com/@ tsif/IOs-10-rich-push-notifications-with-media-attachments-a54dc 86586 c 2)。 亚马逊SNS推送通知是否支持富推送功能?

  • 我正在将自己的iOS推送服务迁移到亚马逊SNS。以前,我通过我们自己的服务器推送消息,这已经不够了。 后端是用PHP构建的,这是我如何使用旧解决方案发送推送通知的一些代码: 这是我发送的通知的正文。现在,我想使用AWS PHP SDK发布方法,通过SNS发送相同的通知。 我发现我必须通过这个发送推送通知: 在上面的代码示例中,$message是什么?感谢所有的帮助! 编辑:我已经用下面的JSON通

  • 我设置了一个 AWS 服务器和一个使用 GCM 和 SNS 推送通知的Android应用程序。 应用程序注册成功,即收到带有注册ID的通知。 有没有办法检查设备是否收到了通知,但由于某种原因没有发送到< code>BroadcastReceiver? 此外,可能我做了一些错误的事情(可能是包名)?以下是清单:

  • 我们正在使用Amazon SNS通过API(PHP)向客户发送SMS。该主题可能有电子邮件订阅以及SMS订阅。i. e在创建订阅时,协议可能是电子邮件/短信。但我们希望在发布消息时仅发送SMS。电子邮件订阅不应收到任何消息。如何存档?