Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未收到来自Amazon SNS的GCM推送通知_Php_Android_Push Notification_Google Cloud Messaging_Amazon Sns - Fatal编程技术网

Php 未收到来自Amazon SNS的GCM推送通知

Php 未收到来自Amazon SNS的GCM推送通知,php,android,push-notification,google-cloud-messaging,amazon-sns,Php,Android,Push Notification,Google Cloud Messaging,Amazon Sns,我正试图通过php向android应用程序发送推送通知。 我设置了亚马逊sns帐户,并使用谷歌GCM API服务器密钥创建了sns平台 使用AWS凭据,我编写了一个cron,它从数据库中读取通知消息,并使用amazon php api发布到sns服务。 我在cron中获取Amazon端点,并在其上发布通知 我正在接收状态为“通过”和“请求ID”的通知。但设备上未接收到实际通知 Array ( [data] => Guzzle\Service\Resource\Model Object (

我正试图通过phpandroid应用程序发送推送通知。 我设置了亚马逊sns帐户,并使用谷歌GCM API服务器密钥创建了sns平台

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

我正在接收状态为“通过”和“请求ID”的通知。但设备上未接收到实际通知

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凭据。用于Amazon平台的应用程序中的projectid和服务器密钥

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

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

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

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

  • 在php cron中,使用从GCM收到的注册id为设备创建AmazonEndpoint

  • 已在amazon端点上发布通知消息

  • 并且被卡住……即使在api调用中获得成功状态后,也无法在设备上接收通知


  • 谁能告诉我确切的步骤吗?我遗漏了什么吗?

    使用json来描述以下主题:

    {
      "default": "Msg test from sns",
      "GCM": "{\"data\":{\"id\":\"161223182046\",\"badge\":1,\"message\":\"Msg test from sns\",\"title\":\"test\",\"_event\":{\"created\":1482547772}}}"
    }
    
    对于端点退出默认行:

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

    其中
    id
    \u事件。创建的
    行对于每次推送都是唯一的。

    我使用Firabase和AWS SNS服务从php发送。我是根据这个视频教程一步一步地做的(俄语但有英文字幕)。它现在对我来说运行良好,我成功地从移动设备上的php代码接收推送通知

    使用该工具在SNS仪表板上发送手动消息,以确保SNS/GCM设置正确。然后试着从那里一步一步地调试。或者,如果失败的话,只需一步。共享您的相关代码JSON数据内容到底是什么?我使用{“GCM”:{“data”:{“message”:“blah blah”}}