Ответ 1
Независимо от языка и библиотеки, которую вы используете, полезная нагрузка push-сообщения - полезная нагрузка JSON:
{
"aps": {
"badge": 10,
"alert": "Hello world!",
"sound": "cat.caf"
}
}
Ток aps
- это данные APN Apple. Вы также можете добавить свои данные в свою полезную нагрузку:
{
"aps": {
"badge": 10,
"alert": "Hello world!",
"sound": "cat.caf"
},
"job_id": 1
}
Когда вы получаете уведомление в приложении, проверьте свой параметр в словаре уведомлений:
- (void)handleBackgroundNotification:(NSDictionary *)notification
{
NSDictionary *aps = (NSDictionary *)[notification objectForKey:@"aps"];
NSMutableString *alert = [NSMutableString stringWithString:@""];
if ([aps objectForKey:@"alert"])
{
[alert appendString:(NSString *)[aps objectForKey:@"alert"]];
}
if ([notification objectForKey:@"job_id"])
{
// do something with job id
int jobID = [[notification objectForKey:@"job_id"] intValue];
}
}
Имейте в виду, что общий размер полезной нагрузки составляет 256 байтов, и это включает, конечно, ваши пользовательские параметры. Таким образом, вам может потребоваться (с целью снижения удобочитаемости) вызвать свой собственный параметр "ji" вместо "job_id", чтобы сжать байты.
Все это описано в Руководство по программированию локальных и Push Notification в документации iOS. Определенно рекомендую прочитать, потому что он более сложный, чем он изначально звучит (по крайней мере, то, что я думал).