|
|
|
|
|
- Présentation
- Principe d'envoi d'une notification PUSH Ã un appareil Android depuis un langage tiers
- Notification push en utilisant la plateforme GCM
- Notification push en utilisant la plateforme Firebase
- Description de l'entête (header)
- Description du corps (body)
- Description du format de la notification : Correspondance des propriétés WLangage du type Notification
- Description du format de la notification : Correspondance des propriétés WLangage du type notificationFormat
- Exemple de document JSON
- Principe d'envoi d'une notification PUSH Ã un appareil iOS depuis un langage tiers
Notifications Push : format des notifications (Android et iOS)
Une application écrite en WINDEV Mobile Android ou iOS peut recevoir des notifications Push. Ces notifications Push peuvent être émises depuis : - Une application WINDEV ou un site WEBDEV par la fonction WLangage NotifPushEnvoie.
- Une application ou un site écrit dans un langage tiers (Java, PHP,C#, etc.).
Dans le cas de l'envoi d'une notification Push depuis un langage tiers, il est nécessaire de connaître et respecter : Principe d'envoi d'une notification PUSH à un appareil Android depuis un langage tiers Notification push en utilisant la plateforme GCM Pour envoyer une notification Push à un appareil Android, l'application serveur doit effectuer une requête HTTP de type POST à l'adresse suivante https://gcm-http.googleapis.com/gcm/send. Cette requête doit être composée de : - une entête (header).
- un corps (body) décrivant la notification à envoyer.
ATTENTION : A partir de WINDEV Mobile 22 update 1, l'envoi de notifications push pour Android utilise la plateforme Firebase (et n'utilise plus Google Cloud Messaging, GCM). Les anciens projets peuvent continuer utiliser la solution GCM mais les nouveaux projets utilisent obligatoirement Firebase. WINDEV Mobile supporte les notifications push par Firebase à partir de la version 22 Update 1. Notification push en utilisant la plateforme Firebase Pour envoyer une notification Push à un appareil Android, l'application serveur doit effectuer une requête HTTP de type POST à l'adresse suivante https://fcm.googleapis.com/fcm/send.Cette requête doit être composée de : - une entête (header).
- un corps (body) décrivant la notification à envoyer.
ATTENTION : A partir de WINDEV Mobile 22 update 1, les nouveaux projets utilisent obligatoirement Firebase pour l'envoi des notifications push. Description de l'entête (header) L'entête doit contenir au minimum les deux éléments suivants : - Content-Type:application/json
- Authorization:key=<Identifiant GCM/Firebase>
<Identifiant GCM/Firebase> correspond : Description du corps (body) Le corps de la requête doit correspondre à un document au format JSON contenant : - La liste des tokens représentant les appareils sur lesquels la notification doit être envoyée.
"registration_ids" : [<id appareil 1>,...<id appareil N>] - La version du format d'échange de données (obligatoire).
"WX_PUSH_EXT_VERSION":"1.0" - Les données de la notification sous la forme de couples clé-valeur pour chacune des propriétés du type Notification à affecter. Il n'est pas obligatoire de fournir la valeur de toutes les propriétés du type Notification. Les propriétés non affectées prendront leur valeur par défaut.
Remarque : La version actuelle du format d'échange est "1.0". Description du format de la notification : Correspondance des propriétés WLangage du type Notification | | | Nom de la propriété WLangage | Nom de la clé JSON | Type de la valeur |
---|
ActionSupplémentaire | Non supporté pour les notifications push | | ActiveApplication | WX_PROP_ACTIVEAPPLICATION | Booléen | AffichageLED | WX_PROP_AFFICHAGELED | Booléen | Chronomètre | WX_PROP_CHRONOMETRE | Booléen | Contenu | WX_PROP_CONTENU | Chaîne de caractères | CouleurLED | WX_PROP_COULEURLED | Entier | Format | WX_PROP_FORMAT | Chaîne de caractères au format JSON (voir le tableau ci-dessous) | GrandeIcone | WX_PROP_GRANDEICONE | Chaîne de caractères | Icone | WX_PROP_ICONE | Chaîne de caractères | Locale | WX_PROP_LOCALE | Booléen | Message | WX_PROP_MESSAGE | Chaîne de caractères | MessageSecondaire | WX_PROP_MESSAGESECONDAIRE | Chaîne de caractères | Priorité | WX_PROP_PRIORITE | Entier | Son | WX_PROP_SON | Chaîne de caractères | Supprimable | WX_PROP_SUPPRIMABLE | Booléen | TexteDéroulant | WX_PROP_TEXTEDEROULANT | Chaîne de caractères | Titre | WX_PROP_TITRE | Chaîne de caractères | Vibration | WX_PROP_VIBRATION | Booléen |
Description du format de la notification : Correspondance des propriétés WLangage du type notificationFormat | | | Nom de la propriété WLangage | Nom de la clé JSON | Type de la valeur |
---|
Contenu | WX_PROP_CONTENU | Chaîne de caractères | GrandeIcone | WX_PROP_GRANDEICONE | Chaîne de caractères | Titre | WX_PROP_TITRE | Chaîne de caractères | Type | WX_PROP_TYPE | Entier |
Exemple de document JSON Exemple de document JSON décrivant une notification push à envoyer : { "registration_ids" : ["Aki9 ... yXgt","BTh44 ... iQW)"], "data": { "WX_PUSH_EXT_VERSION":"1.0", "WX_PROP_TITRE":"Titre de la notification", "WX_PROP_MESSAGE":"Message de la notification", "WX_PROP_ACTIVEAPPLICATION":true, "WX_PROP_FORMAT": { "WX_PROP_TYPE":1, "WX_PROP_CONTENU":"Message de la notification\r\nsur deux lignes", } } } Principe d'envoi d'une notification PUSH à un appareil iOS depuis un langage tiers ATTENTION : ce format est susceptible de changer SANS préavis.Pour envoyer une notification Push à un appareil iOS, il est nécessaire de : - Suivre la procédure de création de payload sur le site de Apple : https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/BinaryProviderAPI.html
- Fournir un JSON de la forme suivante.
{ "aps" : { "alert" : { "body" : "Bob wants to play poker", "action-loc-key" : "PLAY" "launch-image" : "play.png" }, "badge" : 5 "sound" : "bingbong.aiff" }, "wd" : "bar" }
Correspondance des propriétés WLangage | | Nom de la clé JSON | Nom de la propriété WLangage |
---|
"body" | Message | "action-loc-key" | LibelléAction | "launch-image" | Icone | "sound" | Son | "badge" | Badge | "wd" | Contenu |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|