我正在使用 Amazon SNS 为我的 iOS 应用程序提供远程通知,并且在客户端设备上收到通知类别时遇到了问题。
以下是我使用 SNS 从服务器发布通知的方式:
@client = Aws::SNS::Client.new(...)
resp = @client.publish({
target_arn: endpoint_arn,
message: {
default: body,
APNS: {
aps: {
alert: {
title: title,
body: body
},
category: category
}
}
}.to_json,
subject: title,
message_structure: "json"
})
在 iOS 设备上,我在应用程序委托中收到通知:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
NSDictionary<NSString *, id> * aps = [userInfo objectForKey:@"aps"];
if (aps) {
NSString * category = [aps objectForKey:@"category"];
NSLog(@"Category is: %@", category); // Category is: nil
} else {
NSLog(@"APS dictionary nil");
}
}
问题是类别始终为零。我尝试了几种不同的aps
对象结构,但似乎无法在 iOS 设备上获取类别。