DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques Mobile / Fonctions de gestion du téléphone
  • 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
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
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é WLangageNom de la clé JSONType de la valeur
ActionSupplémentaireNon supporté pour les notifications push
ActiveApplicationWX_PROP_ACTIVEAPPLICATIONBooléen
AffichageLEDWX_PROP_AFFICHAGELEDBooléen
ChronomètreWX_PROP_CHRONOMETREBooléen
ContenuWX_PROP_CONTENUChaîne de caractères
CouleurLEDWX_PROP_COULEURLEDEntier
FormatWX_PROP_FORMATChaîne de caractères au format JSON (voir le tableau ci-dessous)
GrandeIconeWX_PROP_GRANDEICONEChaîne de caractères
IconeWX_PROP_ICONEChaîne de caractères
LocaleWX_PROP_LOCALEBooléen
MessageWX_PROP_MESSAGEChaîne de caractères
MessageSecondaireWX_PROP_MESSAGESECONDAIREChaîne de caractères
PrioritéWX_PROP_PRIORITEEntier
SonWX_PROP_SONChaîne de caractères
SupprimableWX_PROP_SUPPRIMABLEBooléen
TexteDéroulantWX_PROP_TEXTEDEROULANTChaîne de caractères
TitreWX_PROP_TITREChaîne de caractères
VibrationWX_PROP_VIBRATIONBooléen

Description du format de la notification : Correspondance des propriétés WLangage du type notificationFormat

Nom de la propriété WLangageNom de la clé JSONType de la valeur
ContenuWX_PROP_CONTENUChaîne de caractères
GrandeIconeWX_PROP_GRANDEICONEChaîne de caractères
TitreWX_PROP_TITREChaîne de caractères
TypeWX_PROP_TYPEEntier

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 :
  1. 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
  2. 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é JSONNom de la propriété WLangage
"body"Message
"action-loc-key"LibelléAction
"launch-image"Icone
"sound"Son
"badge"Badge
"wd"Contenu
Version minimum requise
  • Version 21
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale