0

看起來Apple已經具有內置功能來通過在aps有效載荷中包含loc-key來本地化PUSH通知。但是,我不相信Parse的iOS SDK允許您使用sendPushInBackground自己設置該密鑰。有沒有什麼辦法可以使用Parse本地化PUSH而無需首先路由到我自己的服務器?如何本地化分析推送通知?

回答

0

與PFPush一起使用的數據字典中的警報密鑰可以設置爲字典而不是字符串。

任何人誰在將來發現這一點,我的是這樣的:

NSDictionary *data = [NSDictionary dictionaryWithObjectsAndKeys: 
         @{@"loc-key":@"NEW_MESSAGE_PUSH", @"loc-args":@[sender.name]}, @"alert", 
         @"default", @"sound", 
         @"Increment", @"badge", 
         sender.pid, @"senderID", 
         nil]; 
2
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(法文)add:

"PUSH_LOC_KEY_SEND_TO_AUTHOR" = "%@ vous envoyé un message"; 

並且請注意,在用戶授權應用後,您應該將當前用戶對象添加到安裝中,以便我們可以PFQuery他(如上所示):

PFInstallation *installation = [PFInstallation currentInstallation]; 
installation[@"user"] = [PFUser currentUser]; 
[installation saveEventually];