cyb*_*6pl 13 push-notification amazon-web-services amazon-sns ios amazon-cognito
我正在使用Amazon SNS和Amazon Cognito服务在iOS应用程序中实现推送通知.Cognito成功保存令牌,我的应用程序得到通知,一切正常,但有一件事.
现在,当仍处于开发阶段时,我需要手动将端点添加到SNS主题,因此所有订阅者都可以收到通知.当我将更新推送到App Store时,将会有数千个令牌添加.
我正在研究亚马逊AWS文档,但不知道是否可以在没有额外努力的情况下实现它.
我的问题:是否可以自动将端点订阅到仅包含Amazon服务的主题?
Bob*_*ney 23
无法自动将端点订阅到主题,但您可以完成所有代码.
您可以Subscribe
在创建端点后直接调用API.与其他类型的订阅不同,SNS Mobile Push无需确认.
下面是一些示例Objective-C代码,它创建一个端点并将其订阅到一个主题:
AWSSNS *sns = [AWSSNS defaultSNS];
AWSSNSCreatePlatformEndpointInput *endpointRequest = [AWSSNSCreatePlatformEndpointInput new];
endpointRequest.platformApplicationArn = MY_PLATFORM_ARN;
endpointRequest.token = MY_TOKEN;
[[[sns createPlatformEndpoint:endpointRequest] continueWithSuccessBlock:^id(AWSTask *task) {
AWSSNSCreateEndpointResponse *response = task.result;
AWSSNSSubscribeInput *subscribeRequest = [AWSSNSSubscribeInput new];
subscribeRequest.endpoint = response.endpointArn;
subscribeRequest.protocols = @"application";
subscribeRequest.topicArn = MY_TOPIC_ARN;
return [sns subscribe:subscribeRequest];
}] continueWithBlock:^id(BFTask *task) {
if (task.cancelled) {
NSLog(@"Task cancelled");
}
else if (task.error) {
NSLog(@"Error occurred: [%@]", task.error);
}
else {
NSLog(@"Success");
}
return nil;
}];
Run Code Online (Sandbox Code Playgroud)
确保您已授予sns:Subscribe
Cognito角色访问权限,以允许您的应用程序进行此调用.
更新2015-07-08:已更新以反映AWS iOS SDK 2.2.0+
归档时间: |
|
查看次数: |
8474 次 |
最近记录: |