PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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
PROCEDURE 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
// Remonte l'erreur
Info("Erreur d’enregistrement : " + ErreurNotif)
FIN
Syntaxe
NotifPushActive(<Procédure WLangage> [, <Options>])
<Procédure WLangage> : Chaîne de caractères (avec ou sans guillemets)
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 Pour transmettre le buffer à une application tierce (qui fera l'envoi des notifications), le plus souvent ce buffer devra être converti pour utiliser la notation hexadécimale via la fonction BufferVersHexa. Exemple :
      BufferVersHexa(bufToken, 4, BigEndian)
  • <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 fait une requête sur le serveur de Apple (ou Google dans le cas d'Android).
Liste des exemples associés :
Android Push Exemples multiplateforme (WINDEV Mobile) : Android Push
[ + ] Cet exemple montre comment recevoir des notifications Push sur Android.

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 "WD Envoi Push" afin qu'il envoie les notifications en push à cet exemple Android.
iOS Push Exemples multiplateforme (WINDEV Mobile) : iOS Push
[ + ] Cet exemple montre comment recevoir des notifications Push sur iOS.

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 "WD Envoi Push" afin qu'il envoie les notifications en push à cet exemple iOS.
Composantes
Android wd220android.jar
Version minimum requise
  • Version 19
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire