我正在尝试通过PHP向安卓应用程序发送推送通知。我设置了Amazon SNS账户并创建了SNS平台,使用Google GCM API的服务器密钥。
使用AWS凭据,我编写了一个cron,从数据库读取通知消息并使用Amazon PHP API将其发布到SNS服务。在cron中,我可以得到发布通知的Amazon端点。
我收到了“pass”的状态和通知的“requestid”,但是设备上没有接收到实际的通知。
我遵循的步骤如下:
使用AWS凭据,我编写了一个cron,从数据库读取通知消息并使用Amazon PHP API将其发布到SNS服务。在cron中,我可以得到发布通知的Amazon端点。
我收到了“pass”的状态和通知的“requestid”,但是设备上没有接收到实际的通知。
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 key。
在AWS中创建了用户并添加具有SNS所有访问权限的策略。
在php aws api中使用了Amazon用户凭证。
为Android/GCM创建了Amazon SNS应用程序平台,并在那里使用了Google服务器密钥。
将从以上步骤获得的应用程序ARN添加到php api调用中。
在php cron中,使用从GCM收到的registration_id为设备创建AmazonEndpoint。
在Amazon端点上发布通知消息。
然后出现问题......即使在api调用中获取成功状态,仍无法接收到设备上的通知