ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Mobile specific functions / Phone functions
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Sends a push notification to a mobile device (iOS or Android). This function can be used in a WINDEV application or in a WEBDEV site.
Example
// Send a push notification on iOS
TokensSend is array of Buffers
MyPassword is ANSI string = "Password"
FOR i = 1 TO nbTokens
Add(TokensSend, tokens[i])
END
MyNotification is Notification
MyNotification.Message = "New notification"
MyResult is boolean
MyResult = NotifPushSend(MyNotification, TokensSend, ...
"applecertif.cer", MyPassword, BundleIDName, typeServiceIOSRelease)
IF MyResult = False THEN
Trace(ErrorInfo())
END
Syntax

iPhone/iPad: Sending a notification Hide the details

<Result> = NotifPushSend(<Notification> , <Tokens> , <Identification> , <Password> , <TopicID> , <Server type>)
<Result>: Boolean
  • True if the sending was successful,
  • False otherwise. ErrorInfo is used to identify the error returned by the notification service.
<Notification>: Notification
Name of the Notification variable corresponding to the notification to send.
<Tokens>: Array of buffers
Name of Array variable containing the list of tokens representing the devices onto which the notification will be sent.
<Identification>: Character string
Full path of the file containing the certificate for the application push notifications (obtained from Apple). For more details, see Conditions required for the Push notifications in iOS.
<Password>: ANSI character string
Password of the file containing the certificate for Push notifications. If the file does not have a password, use an empty string (""). This parameter must correspond to an ANSI character string.
<TopicID>: Character string
Bundle identifier specified in the "General" section of the Xcode project generation wizard.
<Server type>: Integer constant
Type of server onto which the notification will be sent:
typeServiceIOSReleaseServer of IOS release (APN).
typeServiceIOSTestServer of IOS test (APN).

Android: Sending a notification Hide the details

<Result> = NotifPushSend(<Notification> , <Tokens> , <Identification> , <Invalid tokens> [, <Platform>])
<Result>: Boolean
  • True if the sending was successful,
  • False otherwise. ErrorInfo is used to identify the error returned by the notification service. These errors can contain a list of invalid tokens that must be deleted from the token database.
<Notification>: Notification
Name of the Notification variable corresponding to the notification to send.
<Tokens>: Array of buffers
Name of the Array variable containing the list of tokens representing the devices to which the notification will be sent.
<Identification>: Character string
Application ID parameter:
<Invalid tokens>: Array of buffers
Name of the Array of Buffers variable. This parameter is filled with the list of invalid tokens returned by the server.
<Platform>: Optional Integer constant
Platform that will be used to send the notification. The Android application that will receive he notifications must have been configured for this type of platform.
npeFirebaseFirebase platform using the Cloud Messaging API.
Push notification platform available in WINDEV 22 Update 1. This platform is available:
  • for existing Firebase projects that already use this solution.
  • for new Firebase projects, if this API is enabled.
npeFirebaseCM_v1Firebase platform using the Firebase Cloud Messaging API (V1).
New push notification platform enabled by default for new Firebase projects.
Starting with WINDEV 28 Update 2, this platform must be used for projects using the Firebase Cloud Messaging API (V1).
npeGCM
(Default value)
Google Cloud Messaging platform.
Former Google solution for sending push notifications.
This platform should only be used for existing projects already using push notifications (projects created with versions earlier than WINDEV 22 Update 1)
Remarks
  • The push notification is sent to a notification service (Apple or Google) that redistributes this notification to a set of mobile devices.
  • The supported services are:
    • Google Firebase (Google GCM is supported for backward compatibility. Firebase is recommended by Google).
      • Firebase Cloud Messaging API (V1)
      • Cloud Messaging API
    • Apple APN.
  • The notifications sent to the Android devices take into account the proxy defined by Proxy.
  • Starting with Android 8, notifications sent to Android devices take into account the notification category (also called "Channel").
  • Specific features for iOS:
    • The notifications sent to the devices running iOS are direct (they do not transit via the proxy).
    • The Apple service allows 256 bytes of data per notification only. Therefore, pay attention to the amount of data sent in the Notification variable (the message for example) to avoid exceeding this limit. An error will occur if the limit is exceeded.
    • The connection to the APN server may fail if two notifications are sent in a very short time interval (if the server is still processing the first message).
    • To send push notifications on the iOS devices, the application must be able to access the ports 2195 and 2196 in TCP.
Related Examples:
WD_Push_Server Cross-platform examples: WD_Push_Server
[ + ] This example is a webservice used to store the identifiers required to sent Push notifications to mobile devices.
The "WM Push" application stores the Push identifiers in the database of this example.
The "WD Send Push" example then reads these identifiers in order to send the notifications.
Send Push Cross-platform examples: Send Push
[ + ] This example allows you to send push notifications to Android and iOS devices.
It retrieves the identifiers of the mobile devices in the HFSQL database of the "WD Push Server" example, then sends the notifications via the NotifPushSend function.
Component: wd290device.dll
Minimum version required
  • Version 19
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/26/2023

Send a report | Local help