PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Principe
  • Gestion des notifications dans l'application Mobile
  • Gestion des notifications dans le serveur d'application
Produits
WinDevWebDev - Code ServeurWebDev - Code NavigateurWinDev MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
Présentation
Un terminal mobile peut recevoir des notifications en push. Une notification est un message qui s'affiche (et est conservé) sur le terminal, dans le centre de notification du terminal. Une notification peut par exemple permettre de lancer un traitement.
Une notification est envoyée depuis une application distante, présente en général sur un serveur.
L'application d'envoi de notifications peut être réalisée avec WINDEV ou WEBDEV, ou par des logiciels tiers.
Principe
Afin de réaliser un système de notification push, quatre éléments sont nécessaires :
  • Une application mobile (iOS ou Android) tournant sur le matériel approprié.
  • Un service de notification fourni soit par Google (GCM) ou par Apple (APM) qui permet de distribuer les messages push aux téléphones ou tablettes.
  • Un serveur d’application (ou fournisseur) qui décide de l’envoi des messages et se charge de communiquer avec la base de données métier (ce serveur peut être un webservice ou une application WEBDEV ou WINDEV).
  • Une base de données, stockant les identifiants des différents devices recevant les messages push, ainsi que des données métier.
Le schéma de fonctionnement global des messages push est alors le suivant :
  1. L'application s'enregistre auprès du service Apple ou Google en utilisant le "device id" et l' "application id".
  2. Si l'enregistrement est réussi, le service Apple ou Google renvoie un token (ou "registration id") à l’application.
  3. L'application transmet alors le token au serveur d’application (fournisseur).
  4. Le serveur stocke le token dans sa base de données.
Un message push est alors envoyé de la manière suivante :
a. Le serveur d’application envoie un message (en utilisant une socket SSL (iOS) ou HTTPS (Android)) contenant le token au service Apple ou Google.
Remarque : cet envoi peut être fait par une application tierce, du moment que celle-ci a accès à la base de données métier et au certificat utilisé pour la communication avec le service de notification.
b. Le service Apple ou Google se charge alors de transmettre le message au device concerné.
Gestion des notifications dans l'application Mobile
Plusieurs fonctions sont disponibles pour gérer les notifications dans l'application Mobile :
Versions 19 et supérieures
NotifPushActive
Nouveauté 19
NotifPushActive
NotifPushActive
Active la gestion des notifications push dans une application WINDEV Mobile (Android ou iOS).
Versions 19 et supérieures
NotifPushDésactive
Nouveauté 19
NotifPushDésactive
NotifPushDésactive
Désactive la gestion des notifications push pour une application WINDEV Mobile (Android ou IOS).
Versions 19 et supérieures
NotifPushProcédure
Nouveauté 19
NotifPushProcédure
NotifPushProcédure
Spécifie la procédure WLangage appelée lorsqu’une notification push est reçue par une application WINDEV Mobile (Android ou iOS).
Attention : une configuration spécifique est nécessaire pour faire fonctionner les applications mobiles :
  • Android Une configuration spécifique doit être réalisée via la console Google API. Pour plus de détails, consultez Configuration Android.
  • iPhone/iPad Une configuration spécifique doit être réalisée. Pour plus de détails, consultez Configuration iOS.
Le comportement lors de la réception d’une notification est le suivant :
  1. Si l’application est fermée, le système affiche la notification dans la barre de notification. L’utilisateur peut alors choisir de valider la notification. S’il le fait, l’application est lancée.
    Android Si aucun message n’est spécifié dans la notification, l’application s’ouvre directement et la notification n’est pas affichée.
    Une fois l’application lancée, il y a deux cas de figures :
    • Si la fonction NotifPushProcédure a été appelée dans le code d'initialisation du projet, la procédure globale passée en paramètre à cette fonction est appelée et la première fenêtre de l’application n’est pas ouverte.
      Remarque : La fonction OuvreFenêtreMobile doit être appelée dans la procédure.
    • Si la fonction NotifPushProcédure n’a pas été appelée, la première fenêtre de l’application est ouverte.
  2. Si l’application est déjà lancée :
    • Android Si un message ou un titre est spécifié dans la notification, le système affiche la notification dans la barre de notification. Si l'utilisateur clique sur la notification, la procédure spécifiée dans la fonction NotifPushProcédure est alors appelée (si elle n’est pas spécifiée, rien ne se passe).
      Si aucun message ni aucun titre n’est spécifié dans la notification, la notification n’est pas affichée et la procédure est appelée directement.
    • iPhone/iPad Deux cas peuvent se présenter :
      • Si l'application est en avant-plan, la procédure de la fonction NotifPushProcédure est appelée directement. Si aucune procédure n'est spécifiée, seul un bouton "ok" est affiché.
      • Si l'application est en arrière-plan, le système affiche la notification. Si l’utilisateur valide la notification, l'application repasse en avant-plan et la procédure de la fonction NotifPushProcédure est appelée.
Gestion des notifications dans le serveur d'application
Le serveur d'application est l'application WINDEV ou le site WEBDEV qui envoie les notifications Push.
Ce serveur d'application envoie les notifications via la fonction NotifPushEnvoie.
Attention : la fonction NotifPushEnvoie doit connaître les identifiants (tokens) des téléphones concernés par la notification. Cette information doit être renvoyée par l'application mobile.
WINDEV Mobile est livré avec :
  • un exemple permettant de gérer l'envoi des notifications Push en Android.
  • un exemple permettant de gérer l'envoi des notifications Push en iOS.
  • un exemple WINDEV permettant d'envoyer des notifications sur des mobiles Android ou iOS.
  • un exemple WINDEV correspondant au Webservice permettant de gérer le dialogue et la récupération des identifiants.
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.
WD Envoi Push Exemples multiplateforme (WINDEV Mobile) : WD Envoi Push
[ + ] Cet exemple permet d'envoyer des notifications en push sur des appareils Android et iOS.

Il récupère les identifiants des mobiles dans la base HFSQL de l'exemple "WD Serveur Push", et leur envoie ensuite les notifications grâce à la fonction NotifPushEnvoie.
WD Serveur Push Exemples multiplateforme (WINDEV Mobile) : WD Serveur Push
[ + ] Cet exemple est un webservice servant à stocker les identifiants nécessaires au Push sur mobiles.

Les applications WINDEV Mobile "Android Push" et "iOS Push" stockent leurs identifiants Push dans la base de cet exemple.

Ces identifiants sont ensuite lus par l'exemple "WD Envoi Push" afin qu'il envoie les notifications.
Version minimum requise
  • Version 19
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire