直接向Amazon SNS注册设备ID

Ani*_*udh 10 notifications android amazon push

我正在使用Amazon Web Service将推送通知直接发送到设备.安装应用程序后,我获得了设备ID,我需要手动添加到Amazon SNS.我想知道是否有用户在启动应用程序时直接向amazon服务器注册设备ID.

我读过这个,但发现很难理解.有没有人有过如何做到这一点的经验?

编辑2(到目前为止我做了什么)

我已按照此链接中的说明操作

  1. 我按照说明下载了snspobilepush.zip文件,并将项目解压缩并导入到eclipse中.我添加GCM项目编号,添加jar文件并运行应用程序.我得到了我的设备注册ID.

  2. 我打开Amazon SNS,添加我的设备ID并发布消息.我在手机上收到了这条消息.到目前为止效果很好.

    我的问题

我的应用程序会有很多潜在用户.因此,手动将每个设备ID添加到SNS是没有意义的.当我启动应用程序时,我需要Amazon SNS直接注册我的设备ID.我有什么选择吗?我在文档中找不到任何确定的答案.
此链接告诉我使用"AWS令牌自动售货服务".但是,我找不到任何如何做到这一点的例子.

Rya*_*yan 11

使用此处记录的AmazonSNSClient:

http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/

应该可以使用类似于此的代码进行注册:

AWSCredentials awsCredentials = new BasicAWSCredentials("XXXXXX", XXXXXXXXXXXXXXX");
String platformApplicationArn = "arn:aws:sns:us-east-1:123456789:app/GCM/myappname";
AmazonSNSClient pushClient = new AmazonSNSClient(awsCredentials);

String customPushData = "my custom data";
CreatePlatformEndpointRequest platformEndpointRequest = new CreatePlatformEndpointRequest();
platformEndpointRequest.setCustomUserData(customPushData);
platformEndpointRequest.setToken(pushNotificationRegId);
platformEndpointRequest.setPlatformApplicationArn(platformApplicationArn);
CreatePlatformEndpointResult result = pushClient.createPlatformEndpoint(platformEndpointRequest);
Log.w(TAG, "Amazon Push reg result: " + result);
Run Code Online (Sandbox Code Playgroud)

它不喜欢我的ARN,但这是一个愚蠢的错误,里德指出并现在固定在上面.


Tea*_*App 1

有 Android AWS SDK 可供使用。查看文档链接:http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/

此外,还提供更多信息:http://aws.amazon.com/sdkforandroid/

  • 我已经浏览过这两个链接。我感觉自己在兜圈子。这些说明的记录非常少。 (5认同)