PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

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
Envoie une notification push (distante) à un appareil mobile (iOS ou Android). Cette fonction est utilisable dans une application WINDEV ou dans un site WEBDEV.
Exemple
// Envoi d'une notification push sur iOS
TokensEnvoi est un tableau de Buffers
POUR i = 1 A nbTokens
Ajoute(TokensEnvoi, tokens[i])
FIN

MaNotification est une Notification
MaNotification..Message = "Nouvelle notification"

MesCertificats est un tableau de Certificats
MesCertificats = CertificatCharge("certifapple.cer", "")

MonRésultat est booléen
MonRésultat = NotifPushEnvoie(MaNotification, TokensEnvoi, ...
MesCertificats[1], typeServiceIOSProd)

SI MonRésultat = Faux ALORS
Trace(ErreurInfo())
FIN
Syntaxe

iPhone/iPad : Envoyer une notification Masquer les détails

<Résultat> = NotifPushEnvoie(<Notification> , <Tokens> , <Identification> , <Type de serveur>)
<Résultat> : Booléen
  • Vrai si l’envoi a réussi,
  • Faux dans le cas contraire. La fonction ErreurInfo permet de connaître l'erreur renvoyée par le service de notification.
<Notification> : Notification
Nom de la variable de type Notification correspondant à la notification à envoyer.
<Tokens> : Tableau de buffers
Nom de la variable de type Tableau contenant la liste des tokens représentant les appareils sur lesquels la notification doit être envoyée.
<Identification> : Certificat
Nom de la variable de type Certificat permettant d'identifier l'application sur le service APN.
Cette variable représente le certificat pour les notifications push de l’application (obtenu auprès de Apple). Pour plus de détails, consultez Conditions nécessaires pour les notifications Push en iOS. Ce certificat peut avoir été chargé à l’aide de la fonction CertificatCharge.
<Type de serveur> : Constante de type Entier
Type de serveur sur lequel la notification doit être envoyée :
typeServiceIOSProdServeur de production IOS (APN).
typeServiceIOSTestServeur de test IOS (APN).

Android : Envoyer une notification Masquer les détails

<Résultat> = NotifPushEnvoie(<Notification> , <Tokens> , <Identification> , <Tokens invalides> [, <Plateforme>])
<Résultat> : Booléen
  • Vrai si l’envoi a réussi,
  • Faux dans le cas contraire. La fonction ErreurInfo permet de connaître l'erreur renvoyée par le service de notification. Ces erreurs peuvent contenir une liste de tokens invalides qui doivent être supprimés de la base de tokens.
<Notification> : Notification
Nom de la variable de type Notification correspondant à la notification à envoyer.
<Tokens> : Tableau de buffers
Nom de la variable de type tableau contenant la liste des tokens représentant les appareils sur lesquels la notification doit être envoyée.
<Identification> : Chaîne de caractères (avec guillemets)
Paramètre d'identification de l’application sur le service GCM (clé d’autorisation Google). Pour obtenir cette clé, une configuration spécifique est nécessaire. Pour plus de détails, consultez Configuration nécessaire pour les notifications Push en Android.
<Tokens invalides> : Tableau de buffers
Nom de la variable de type Tableau de buffers. Ce paramètre est renseigné avec la liste des tokens invalides renvoyés par le serveur.
<Plateforme> : Constante optionnelle de type Entier
Versions 22 et supérieures
Plateforme à utiliser pour l’envoi de la notification. L’application Android qui doit recevoir les notifications doit avoir été configurée pour ce type de plateforme.
npeFirebasePlateforme Firebase.
Nouvelle plateforme pour l’envoi de notification push.
Cette plateforme doit être utilisée pour les nouveaux projets (à partir de WINDEV 22 Update 1) ou les projets n’utilisant pas encore les notifications push.
npeGCM
(Valeur par défaut)
Plateforme Google Cloud Messaging.
Ancienne solution Google pour l’envoi de notification push.
Cette plateforme ne doit être utilisée que pour les projets existant utilisant déjà les notifications push (projets créés avec une version antérieure à WINDEV 22 Update 1)
Nouveauté 22
Plateforme à utiliser pour l’envoi de la notification. L’application Android qui doit recevoir les notifications doit avoir été configurée pour ce type de plateforme.
npeFirebasePlateforme Firebase.
Nouvelle plateforme pour l’envoi de notification push.
Cette plateforme doit être utilisée pour les nouveaux projets (à partir de WINDEV 22 Update 1) ou les projets n’utilisant pas encore les notifications push.
npeGCM
(Valeur par défaut)
Plateforme Google Cloud Messaging.
Ancienne solution Google pour l’envoi de notification push.
Cette plateforme ne doit être utilisée que pour les projets existant utilisant déjà les notifications push (projets créés avec une version antérieure à WINDEV 22 Update 1)
Plateforme à utiliser pour l’envoi de la notification. L’application Android qui doit recevoir les notifications doit avoir été configurée pour ce type de plateforme.
npeFirebasePlateforme Firebase.
Nouvelle plateforme pour l’envoi de notification push.
Cette plateforme doit être utilisée pour les nouveaux projets (à partir de WINDEV 22 Update 1) ou les projets n’utilisant pas encore les notifications push.
npeGCM
(Valeur par défaut)
Plateforme Google Cloud Messaging.
Ancienne solution Google pour l’envoi de notification push.
Cette plateforme ne doit être utilisée que pour les projets existant utilisant déjà les notifications push (projets créés avec une version antérieure à WINDEV 22 Update 1)
Remarques
  • La notification push est envoyée à un service de notification (Apple ou Google) qui redistribue ensuite cette notification à un ensemble d’appareils mobile.
  • Les services gérés sont :
    • le GCM de Google.
    • les APN d’Apple.
    Les services gérés sont :
    • Versions 22 et supérieures
      Firebase de Google (le GCM de Google est supporté par compatibilité. Google conseille l'utilisation de Firebase).
      Nouveauté 22
      Firebase de Google (le GCM de Google est supporté par compatibilité. Google conseille l'utilisation de Firebase).
      Firebase de Google (le GCM de Google est supporté par compatibilité. Google conseille l'utilisation de Firebase).
    • les APN d’Apple.
Liste des exemples associés :
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.
Composantes
WEBDEV - Code Serveur wd230device.dll
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
Mesurer la taille d'une notification
Bonjour,
dans les remarques il est dit qu'Apple n'autorise que 256o de données par notification. Comment mesurer la taille d'une notification ?

Je rencontre souvent des erreurs avec les services d'Apple et la procédure NotifPushEnvoie() mais ces erreurs sont rarement explicites.
Nicolas COMPAIN
29 nov. 2016