won*_*wai 1 amazon-web-services amazon-sns ios
我正在开发一个使用亚马逊aws服务的应用程序,它是一个信使.
我想使用IOS推送通知服务和亚马逊SNS来实现2个用户之间的通信.我可以通过向名为endpoint的目标发布消息来从SNS控制台发送消息.
但是,我无法通过IOS的amazon SDK从一个手机向另一个手机发送消息.我可以通过亚马逊的API以这种方式做到吗?
我想将名为messageDict的NSDictionary发送到目标endPoint.我可以不使用服务器实现这一目标吗?
NSDictionary *messageDict = [[NSDictionary alloc]init];
messageDict = @{ @"Name" : @"HelloWrold" ,@"Id" :@"GoodBye",};
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:messageDict options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonString = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"Jsonstring %@",jsonString);
AWSSNS *publishCall = [AWSSNS new];
AWSSNSPublishInput *message = [AWSSNSPublishInput new];
message.subject = @"My First Message";
//This is the ending point
message.topicArn = @"arn:aws:sns:us-east-1:012345678912:endpoint/APNS_SANDBOX/appTesting/201sjad-XXXX-XXXX-XXXX-c34sdfdsf1d9c";
message.messageAttributes = messageDict;
message.messageStructure = jsonString;
[[publishCall publish:message]continueWithExecutor:[BFExecutor mainThreadExecutor] withBlock:^id(BFTask *task){
if (task.error != nil) {
NSLog(@"Error %@",task.error);
}
else{
NSLog(@"Successful");
}
return nil;
}];
Run Code Online (Sandbox Code Playgroud)
发送APN最困难的事情SNS是使数据结构正确.以下是使用swift发布主题的方法.每个平台都需要是一个编码的字符串,如果你搞砸了它,SNS只会发送你的默认消息.
func publishPush() {
let sns = AWSSNS.defaultSNS()
let request = AWSSNSPublishInput()
request.messageStructure = "json"
var aps: NSMutableDictionary = NSMutableDictionary()
var dict = ["default": "The default message", "APNS_SANDBOX": "{\"aps\":{\"alert\": \"YOUR_MESSAGE\",\"sound\":\"default\", \"badge\":\"1\"} }"]
let jsonData = NSJSONSerialization.dataWithJSONObject(dict, options: nil, error: nil)
request.message = NSString(data: jsonData!, encoding: NSUTF8StringEncoding) as! String
request.targetArn = "blahblahblah:MyTopic"
sns.publish(request).continueWithBlock { (task) -> AnyObject! in
println("error \(task.error), result:; \(task.result)")
return nil
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3739 次 |
| 最近记录: |