Независимо от языка и библиотеки, которую вы используете, полезная нагрузка push-уведомлений является полезной нагрузкой JSON:
{
"aps": {
"badge": 10,
"alert": "Hello world!",
"sound": "cat.caf"
}
}
Маркер aps
представляет собой данные Apple APN.Вы также можете добавить пользовательские данные в свою полезную нагрузку:
{
"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-уведомлений в документации по iOS.Определенно рекомендую прочитать, потому что это сложнее, чем кажется на первый взгляд (по крайней мере, я так думал).