如何本地化 Parse 推送通知?
How to localize Parse push notifications?
看起来 Apple 已经内置了通过在 aps 负载中包含 loc-key 来本地化 PUSH 通知的功能。但是,我不相信 Parse 的 iOS SDK 允许您使用 sendPushInBackground 自行设置该密钥。有什么方法可以在不先路由到我自己的服务器的情况下使用 Parse 本地化 PUSH?
与PFPush 一起使用的数据字典中的alert key 可以设置为字典而不是字符串。
对于以后发现这个的人,我的看起来像这样:
NSDictionary *data = [NSDictionary dictionaryWithObjectsAndKeys:
@{@"loc-key":@"NEW_MESSAGE_PUSH", @"loc-args":@[sender.name]}, @"alert",
@"default", @"sound",
@"Increment", @"badge",
sender.pid, @"senderID",
nil];
PFQuery *pushQuery = [PFInstallation query];
[pushQuery whereKey:@"user" equalTo:author];
NSString *key = @"PUSH_LOC_KEY_SEND_TO_AUTHOR";
NSArray *args = @[name]
NSDictionary *data = @{
@"alert": @{@"loc-key": key,
@"loc-args": args},
@"badge": @"Increment",
@"sound": @"default"
};
PFPush *push = [[PFPush alloc] init];
[push setQuery:pushQuery];
[push setData:data];
然后在Localizable.strings(基础)中添加:
"PUSH_LOC_KEY_SEND_TO_AUTHOR" = "%@ sent you a message";
在 Localizable.strings(法语)中添加:
"PUSH_LOC_KEY_SEND_TO_AUTHOR" = "%@ vous envoyé un message";
注意,在用户授权应用程序后,您应该将当前用户对象添加到安装中,以便我们可以 PFQuery 他(如上所示):
PFInstallation *installation = [PFInstallation currentInstallation];
installation[@"user"] = [PFUser currentUser];
[installation saveEventually];
看起来 Apple 已经内置了通过在 aps 负载中包含 loc-key 来本地化 PUSH 通知的功能。但是,我不相信 Parse 的 iOS SDK 允许您使用 sendPushInBackground 自行设置该密钥。有什么方法可以在不先路由到我自己的服务器的情况下使用 Parse 本地化 PUSH?
与PFPush 一起使用的数据字典中的alert key 可以设置为字典而不是字符串。
对于以后发现这个的人,我的看起来像这样:
NSDictionary *data = [NSDictionary dictionaryWithObjectsAndKeys:
@{@"loc-key":@"NEW_MESSAGE_PUSH", @"loc-args":@[sender.name]}, @"alert",
@"default", @"sound",
@"Increment", @"badge",
sender.pid, @"senderID",
nil];
PFQuery *pushQuery = [PFInstallation query];
[pushQuery whereKey:@"user" equalTo:author];
NSString *key = @"PUSH_LOC_KEY_SEND_TO_AUTHOR";
NSArray *args = @[name]
NSDictionary *data = @{
@"alert": @{@"loc-key": key,
@"loc-args": args},
@"badge": @"Increment",
@"sound": @"default"
};
PFPush *push = [[PFPush alloc] init];
[push setQuery:pushQuery];
[push setData:data];
然后在Localizable.strings(基础)中添加:
"PUSH_LOC_KEY_SEND_TO_AUTHOR" = "%@ sent you a message";
在 Localizable.strings(法语)中添加:
"PUSH_LOC_KEY_SEND_TO_AUTHOR" = "%@ vous envoyé un message";
注意,在用户授权应用程序后,您应该将当前用户对象添加到安装中,以便我们可以 PFQuery 他(如上所示):
PFInstallation *installation = [PFInstallation currentInstallation];
installation[@"user"] = [PFUser currentUser];
[installation saveEventually];