aws php sns,AWS SNS发布的消息未被推送到设备

我正在尝试使用AWS SNS作为运行我自己的向iOS和Android应用程序发送推送通知服务的替代方案 . 我从GCM开始,所以我在SNS中创建了一个GCM应用程序,然后添加了一个 endpoints .

当我从AWS控制台发布消息时,它可以很好地进入设备,但是当我通过AWS PHP SDK发布时,它会返回一个messageId(因此SNS收到消息),但不会推送到设备 .

这是我做的:

$snsclient = Aws\Sns\SnsClient::factory(array(

"version" => "2010-03-31",

"region" => "eu-west-1",

"credentials" => array(

"key" => "***********",

"secret" => "***********"

)

));

$publish_result = $snsclient->publish(array(

"TargetArn" => "arn:aws:sns:eu-west-1:*********:endpoint/GCM/*******/********",

"Message" => "MESSAGE",

"Subject" => "SUBJECT",

));

然后导致

object(Aws\Result)#96 (1) {

["data":"Aws\Result":private]=>

array(2) {

["MessageId"]=>

string(36) "********************"

["@metadata"]=>

array(3) {

["statusCode"]=>

int(200)

["effectiveUri"]=>

string(35) "https://sns.eu-west-1.amazonaws.com"

["headers"]=>

array(4) {

["x-amzn-requestid"]=>

string(36) "****************"

["content-type"]=>

string(8) "text/xml"

["content-length"]=>

string(3) "294"

["date"]=>

string(29) "Mon, 27 Jun 2016 10:20:26 GMT"

}

}

}

}

编辑:我刚才意识到,如果我将MessageStructure设置为json,然后将Message设置为'{“GCM”:“{\”data \“:{\”message \“:\”aa \“}}}}',它送好了 . 发送原始的问题是什么?我应该选择哪种方式?我认为raw更好,因为它允许我使用相同的结构发送到iOS和Android(然后SNS会为我正确构建消息)...

谢谢,约瑟夫 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值