Home | Sign in | English EN
This content has been translated automatically. Click here to view the French version.
  • WLanguage procedure called
  • Special cases
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
Enables the management of push notifications in a WINDEV Mobile application (Android or iOS).
iPhone/iPad We advise you to call this function in the initialization process of the project because it must be run whenever the application is started.
// Activation des notifications push
// Gestion de l'enregistrement
PROCÉDURE EnregistreNotifPush(Token is Buffer, ErreurNotif is string)
IF Length(Token) > 0 THEN
// Informe le serveur d'application du nouvel identifiant
// Remonte l'erreur
Info("Erreur d'enregistrement: " + ErreurNotif)
NotifPushEnable(<WLanguage procedure> [, <Options>])
<WLanguage procedure>: Procedure name
Name of the WLanguage procedure called when the application receives the Record identifier from the Notification service.
<Options>: Combination of optional Integer constants
Recording options. Can correspond to one or more of the following constants:
(Default value)
The mobile application will accept all types of push notifications.
notifPushAlertTypeThe mobile application will accept the push notifications in alert format.
Android Constant not available.
notifPushBadgeTypeThe mobile application will accept the push notifications in badge format.
Android Constant not available.
notifPushSoundTypeThe mobile application will accept the sound push notifications.
Android Constant not available.

Caution: These options are taken into account during the first application setup. Then, the user can modify the notifications accepted in the Notification Center of device.

WLanguage procedure called

The WLanguage procedure called by NotifPushEnable has the following format:
PROCEDURE EnregistreNotifPush(<Identifiant> est un Buffer, <Erreur> est une chaîne)
This procedure is called when the registration toward the notification service is ended.
The parameters of this procedure are as follows:
  • <Identifier>: "Token" buffer corresponding to the registration identifier returned by the notification service. This buffer must be transmitted to the application server so that push notifications can be sent to the application.
    Caution: This buffer must be transmitted to the application server:
    • when its value changed in relation to the previous execution of the application. To do so, its value must be stored in a data file of the application or in a buffer on disk created by fSaveBuffer or SaveParameter.
    • if the application is started by the user (and not by the arrival of a push notification). ExeInfo is used to find out whether the application is started when a notification is received.
    This buffer can be empty if a registration error occurred during the registration request. In this case, the <Error> parameter will be filled with the error message.
    • iPhone/iPad To transmit the buffer to an external application (that will send the notifications), this buffer will have to be converted in order to use the hexadecimal notation via BufferToHexa. Example:
      BufferToHexa(bufToken, 4, BigEndian)
  • <Error>: Character string describing a registration error. This parameter is filled only if an error occurred during the registration request.

Special cases

  • iPhone/iPad This function can be called only if the application includes a certificate for the push notifications.
  • iPhone/iPad If the function is called several times during the same execution of the application, only the first call is taken into account.
  • Android The device communicates with the Google Cloud Messaging (GCM) notification service by using the following ports: 5228, 5229 and 5230. Make sure that your firewall is configured accordingly.
  • Android If the Google Cloud Messaging notification service cannot be contacted when calling NotifPushEnable (network connectivity problem, for example), the registration request will be sent again in increasing time intervals (1 hour maximum) until the request succeeds or an error is raised. Therefore, a long time can exist between the call to NotifPushEnable and the call to the procedure passed in parameter.
  • NotifPushEnable is asynchronous because it performs a request on the Apple server (or on the Google server for Android).
Related Examples:
WM Push Cross-platform examples: WM Push
[ + ] This example shows how to receive Push notifications.
It calls the PushNotifActive function and returns the identifier to "WD Push Server", which stores it.
Then, the "Send Push" example reads this identifier and sends Push notifications to this example.
Business / UI classification: Business Logic
Component: wd270android.jar
Minimum version required
  • Version 19
Click [Add] to post a comment