web-dev-qa-db-fra.com

Apple Notification push avec envoi de données personnalisées

J'envoie des notifications Push de l'application de travail php à l'iphone. J'envoie des notifications Push concernant de nouveaux emplois. Est-il possible que lorsque l'utilisateur clique sur la fenêtre contextuelle de notification Push, l'utilisateur redirige vers le travail particulier sur le périphérique.

Je veux dire que je voulais savoir puis-je envoyer des données personnalisées avec une notification Push comme jobId, autre chose .... pour que Iphone end puisse récupérer et afficher le travail particulier?

Merci.

52
vikas

Quelle que soit la langue et la bibliothèque que vous utilisez, la charge utile de notification Push est une charge utile JSON:

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

Le jeton aps est le Apple APN. Vous pouvez également ajouter des données personnalisées à votre charge utile:

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

Lorsque vous recevez la notification dans l'application, vérifiez vos paramètres dans le dictionnaire de notification:

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

Gardez à l'esprit que la taille totale de la charge utile est de 256 octets , et cela inclut, bien sûr, vos paramètres personnalisés. Vous devrez donc (au risque de réduire la lisibilité) appeler votre paramètre personnalisé "ji" au lieu de "job_id" pour presser les octets.

Tout cela est documenté dans le Local and Push Notification Programming Guide dans la documentation iOS. Je recommanderais certainement une lecture car elle est plus complexe qu'elle n'y paraît initialement (du moins, c'est ce que je pensais).

119
typeoneerror

Oui, vous pouvez envoyer des données personnalisées, vérifiez bibliothèque apns-php pour tous les besoins de notification Push:

8
Arfeen