Уведомление Apple Push с отправкой пользовательских данных

Я отправляю push-уведомления из приложения PHP-приложения на iphone. Я отправляю push-уведомления о новых рабочих местах. Возможно ли, что, когда пользователь нажимает на представление push-уведомления, всплывает, а затем перенаправляется на конкретное задание на устройстве.

Я имею в виду, что я хотел знать, могу ли я отправлять какие-либо пользовательские данные с помощью push-уведомления, такого как jobId, что-то еще … чтобы конец Iphone мог извлекать и показывать конкретную работу?

Благодарю.

Solutions Collecting From Web of "Уведомление Apple Push с отправкой пользовательских данных"

Независимо от языка и библиотеки, которую вы используете, полезная нагрузка 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. Определенно рекомендую прочитать, потому что это сложнее, чем изначально звучит (по крайней мере, это то, что я думал).

Да, вы можете отправлять пользовательские данные, проверять библиотеку apns-php для всех потребностей push-уведомлений:

Мы можем добавить несколько пользовательских данных, но, если я использую sub_action в качестве имени, мой iPhone не может получать push-сообщения

Ява:

 PayLoad payLoad = new PayLoad(); payLoad.addCustomDictionary("action", action_type); payLoad.addCustomDictionary("subaction", sub_action_type);