DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques Mobile / Fonctions de gestion du téléphone
  • Procédure WLangage appelée
  • Cas particuliers
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
Active la gestion des notifications push dans une application WINDEV Mobile (Android ou iOS).
iPhone/iPad Il est conseillé d'appeler cette fonction dans le traitement d'initialisation du projet car elle doit être exécutée à chaque démarrage de l'application.
Exemple
// Activation des notifications push
NotifPushActive(EnregistreNotifPush)
// Gestion de l'enregistrement
PROCÉDURE EnregistreNotifPush(Token est un Buffer, ErreurNotif est une chaîne)
SI Taille(Token) > 0 ALORS
// Informe le serveur d'application du nouvel identifiant
EnvoieIDSurServeur(Token)
SINON
// Traitement de l'erreur
FIN
Syntaxe
NotifPushActive(<Procédure WLangage> [, <Options>])
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage appelée lorsque l'application reçoit l'identifiant d'enregistrement du service de notification.
<Options> : Combinaison de constantes optionnelle de type Entier
Options d'enregistrement. Peut correspondre à une ou plusieurs des constantes suivantes :
notifPushToutesNotif
(Valeur par défaut)
L'application mobile acceptera toutes les types de notifications push.
notifPushTypeAlerteL'application mobile acceptera les notifications push sous forme d'alerte.
Android Constante non disponible.
notifPushTypePastilleL'application mobile acceptera les notifications push sous forme de pastille.
Android Constante non disponible.
notifPushTypeSonL'application mobile acceptera les notifications push sonores.
Android Constante non disponible.

Attention : Ces options sont prises en compte à la première installation de l'application. L'utilisateur peut ensuite modifier les notifications acceptées dans le Centre de notifications de l'appareil.
Remarques

Procédure WLangage appelée

La procédure WLangage appelée par la fonction NotifPushActive doit être de la forme :
PROCEDURE EnregistreNotifPush(<Identifiant> est un Buffer, <Erreur> est une chaîne)
Cette procédure est rappelée lorsque l'enregistrement auprès du service de notification s'est terminé.
Les paramètres de cette procédure sont les suivants :
  • <Identifiant> : Buffer "token" correspondant à l'identifiant d'enregistrement retourné par le service de notification. Ce buffer doit ensuite être transmis au serveur d'application afin qu'il puisse envoyer des notifications push à l'application.
    Attention : Ce buffer doit être transmis au serveur d'application :
    • lorsque sa valeur a changé par rapport à la précédente exécution de l'application. Il faut pour cela mémoriser sa valeur dans un fichier de données de l'application ou dans un buffer sur disque créé avec les fonctions fSauveBuffer ou SauveParamètre.
    • si l'application est lancée par l'utilisateur (et non par l'arrivée d'une notification push). La fonction ExeInfo permet de savoir si l'application est lancée par l'arrivée d'une notification.
    Ce buffer peut être vide si une erreur d'enregistrement s'est produite lors de la demande d'enregistrement. Dans ce cas, le paramètre <Erreur> sera renseigné avec le message d'erreur.

    iPhone/iPad Le buffer qui correspond à l'identifiant peut contenir des caractères non imprimables (comme des zéros binaires). Pour transmettre ce buffer à une application tierce, par exemple à l'application qui fera l'envoi des notifications, il peut être nécessaire de convertir ce buffer en hexadécimal (fonction BufferVersHexa) ou en Base 64 (fonction Encode) selon le format attendu par l'application tierce. Si l'application tierce (qui récupère les données) est une application WINDEV/WEBDEV/WINDEV Mobile, la conversion inverse devra être effectuée (fonctions HexaVersBuffer ou Décode) pour pouvoir envoyer les notifications.
  • <Erreur> : Chaîne de caractères décrivant une erreur d'enregistrement. Ce paramètre est renseigné uniquement si une erreur est survenue durant la demande d'enregistrement.

Cas particuliers

  • iPhone/iPad Cette fonction peut être appelée uniquement si l'application dispose d'un certificat pour les notifications push.
  • iPhone/iPad Si la fonction est appelée plusieurs fois lors de la même exécution de l'application, seul le premier appel est pris en compte.
  • Android L'appareil communique avec le service de notification Google Cloud Messaging (GCM) en utilisant les ports suivants 5228, 5229 et 5230. Veillez à configurer si nécessaire votre firewall en conséquence.
  • Android Si le service de notification Google Cloud Messaging n'a pas pu être contacté au moment de l'appel de la fonction NotifPushActive (problème de connectivité réseau par exemple), la demande d'enregistrement sera automatiquement réitérée avec un intervalle de temps de plus en plus important (1 heure maximum) jusqu'à ce que la demande aboutisse ou qu'une erreur soit levée. Il peut donc se passer un délai relativement long entre l'appel de la fonction NotifPushActive et l'appel de la procédure passée en paramètre.
  • La fonction NotifPushActive est asynchrone car elle exécute une requête :
    • iPhone/iPad sur le serveur de Apple pour iOS.
    • Android sur le serveur de Google dans le cas d'Android.
      A partir de Android 12, le délai nécessaire pour obtenir le token lors de la première installation ou lors de la réinstallation d'une application est supérieur à celui des anciennes versions. La procédure WLangage appelée par la fonction NotifPushActive peut donc être exécutée après la fin de l'initialisation du projet, ou après l'ouverture de la première fenêtre.
Liste des exemples associés :
WM Push Exemples multiplateforme : WM Push
[ + ] Cet exemple montre comment recevoir des notifications Push.
Il appelle la fonction NotifPushActive et envoie l'identifiant obtenu à l'exemple WINDEV "WD Serveur Push" afin qu'il le stocke.
Cet identifiant est ensuite lu par l'exemple WINDEV "Envoi Push" afin qu'il envoie les notifications en push à cet exemple.
Classification Métier / UI : Code métier
Composante : wd300android.jar
Version minimum requise
  • Version 19
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 12/01/2023

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