Apple Push Notification with Sending Custom Data

前端 未结 3 1690
终归单人心
终归单人心 2020-12-04 06:31

I am sending push notifications from php job application to iphone. I am sending push notifications regarding new jobs. Is this possible that when user click on the view of

相关标签:
3条回答
  • 2020-12-04 06:48

    We can add more than one custom data,but, if i use sub_action as the name, my iPhone can't receive push msg

    Java:

    PayLoad payLoad = new PayLoad();
    payLoad.addCustomDictionary("action", action_type);
    payLoad.addCustomDictionary("subaction", sub_action_type);
    
    0 讨论(0)
  • 2020-12-04 06:55

    Yes you can send custom data, check apns-php library for all push notification needs:

    0 讨论(0)
  • 2020-12-04 07:08

    Regardless of the language and library you use, the push notification payload is a JSON payload:

    {
        "aps": {
             "badge": 10,
             "alert": "Hello world!",
             "sound": "cat.caf"
        }
    }
    

    The aps token is the Apple APN data. You can add custom data to your payload as well:

    {
        "aps": {
             "badge": 10,
             "alert": "Hello world!",
             "sound": "cat.caf"
        },
        "job_id": 1
    }
    

    When you receive the notification in the app, check for your param in the notification dictionary:

    - (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];
        }
    }
    

    Keep in mind that the total size of the payload is 256 bytes, and that includes, of course, your custom parameters. So you may have to (at risk of reducing readability) call your custom param "ji" instead of "job_id" to squeeze bytes.

    All of this is documented in the Local and Push Notification Programming Guide in the iOS documentation. Definitely would recommend a read because it's more complex than it initially sounds (at least, that's what I thought).

    0 讨论(0)
提交回复
热议问题