Подтвердить что ты не робот

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

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

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

Спасибо.

4b9b3361

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

Ответ 2

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

Ответ 3

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

Java:

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