2014-01-06 43 views
2

我有一个基本的Android应用程序设置,它注册自己以通过谷歌接收推送通知。亚马逊网络服务(AWS)API(1.6.2) - 简单通知服务 - 添加端点

我得到密钥,然后存储它,然后我可以使用它将该设备手动添加为AWS控制面板中的端点。

现在我想这样做在后台手动步骤,以便我查找的文件,并得出这样的:http://docs.aws.amazon.com/AWSSDKforPHP/latest/#m=AmazonSNS/subscribe

它看起来像这样需要用户确认他们希望在名单上,但这稍后需要担心的事情。

但是,我不能让它工作。 如果我选择https作为协议,我会得到“无效的参数:端点必须匹配指定的协议”,我猜测这意味着我从Google获取的字符串不是它想要的。我不明白这一点,因为它如果我手动把它放在手边。我已经尝试了sqs协议,但我怀疑我正在尝试完全错误的方法 - 我只是看不到API提供的另一种方法,它可以做我所需要的。

我发现AWS文档有点垃圾(尽管我知道这是一个过时的API),他们的论坛远没有这里的人们那么积极。 :)

+0

哦 - 只是为了澄清 - Android应用程序很好 - 它是应该与AWS通信的PHP位。 谢谢 – bldcaveman

+0

我不认为你“订阅”(或确认)移动推送通知......你“注册”。 SNS似乎是一个名称下的不同服务(或至少实质上不同的功能子集):http://docs.aws.amazon.com/sns/latest/dg/SNSMobilePushPrereq.html –

回答

0

我回答了这个问题上AWS PHP Development forum

SNS推送通知是一个较新的功能,而不是的SDK版本1的一部分。您应该考虑升级或看看是否可以使用version 2 of the SDK side-by-side with version 1

我有一个想法,你可以尝试,但我没有自己测试过,所以我不知道它是否会工作。尝试将$ protocol参数设置为“application”,如version 2 API docs for subscribe()中所述。然后将$ endpoint参数设置为“移动应用程序和设备的EndpointArn”。由于Amazon SNS服务的API版本没有从SDK的版本1更改为版本2,因此很可能会发生这种情况。