Abonnement et Enregistrement aux notifications

Processus d'une notification Push

**Prérequis**: Avoir obtenu un identifiant auprès d'un PNS (apple ou android)
  1. Utiliser le webservice du hub pour référencer le device sur le système de push Geolys
  2. S'abonner aux notifications via le hub
  3. Stocker les informations (id d'enregistrement) sur le device.
  4. Envoyer/recevoir des notifications

Enregistrement du device

Requête:

PUT /hubs/{hub}/_vti_bin/HubNotificationService.svc/RegisterDeviceId/{pns-id}

Réponse:

ID d'enregistrement du device (device-id) fourni par la plateforme, par exemple :

7100090856576408604-4663139729199879403-1

Enregistrement du device sur Azure (2ème méthode, évitant les caractères spéciaux dans l'URL sur Android)

Requête:

PUT /hubs/{hub}/_vti_bin/HubNotificationService.svc/RegisterDeviceIdFromBody

Corps:

{
   "PNSID": "{pns-id}"
}

Réponse:

ID d'enregistrement du device fourni par la plateforme, par exemple :

{device-id}

Abonnement aux notifications

Le système de notifications gère les abonnements à des flux via des "tags". Cela permet de recevoir des notifications spécifiques à un tag.

Requête:

PUT /hubs/{hub}/_vti_bin/hubnotificationservice.svc/RegisterDeviceForNotification/{device-id}
  • {device-id} : ID d'enregistrement du device

Corps:

{
   "Platform": "wns",
   "Handle": "{pns-id}",
   "ChannelUri": "...",
   "Tags": ["Tag1","Tag2"]
}
  • Platform : "wns" (Windows) ou  "apns" (Apple) ou "gcm" (Android)
  • Handle (identifiant du PNS)
  • Tags (tableau de strings)
  • ChannelUri (utilisé par les Apps Windows, laisser vide pour les autres systèmes)

Réponse:

Format: JSON

"true"

Suppression d'un device enregistré sur Azure

Requête:

PUT /hubs/{hub}/_vti_bin/HubNotificationService.svc/UnregisterDeviceId/{pns-id}

Réponse:

Format: JSON

"true"

 

Suppression du device sur Azure (2ème méthode, évitant les caractères spéciaux dans l'URL sur Android)

Requête:

PUT /hubs/{hub}/_vti_bin/HubNotificationService.svc/UnregisterDeviceIdFromBody

Corps:

{
   "PNSID": "{pns-id}"
}

Réponse:

Format: JSON

"true"

Support