ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Mobile specific functions / Phone functions
  • Behavior when a notification is received
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
Specifies the WLanguage procedure called when a push notification is received by a WINDEV Mobile application (Android or iOS).
Remark: This function must be called in the project initialization event, as the notifications can be received at any time of the application lifetime or when the application is started further to the reception of the notification.
Example
// Project initialization
NotifPushProcédure(callNotif)
PROCEDURE callNotif(MyNotif is Notification)
Info("Notification received: " + MyNotif..Message)
Syntax
NotifPushProcedure(<WLanguage procedure>)
<WLanguage procedure>: Procedure name
Name of the procedure that will be called when a push notification is received. This procedure must be a global procedure of application in the following format:
PROCEDURE <Procedure name>(<Notification> is Notification)
where <Notification> is a Notification variable corresponding to the notification sent by NotifPushSend.
Remarks

Behavior when a notification is received

The behavior when a notification is received is as follows:
  1. If the application is closed, the system displays the notification in the notification bar. The user can choose to validate the notification. If he does, the application is started.
    Android If no message is specified in the notification, the application is started and the notification is not displayed.
    Two cases may occur once the application is started:
    • If NotifPushProcedure was called in the project initialization code, the global procedure passed to this function as parameter is called, and the first window of the application is not opened.
      Remark: OpenMobileWindow must be called in the procedure.
    • If NotifPushProcedure has not been called, the first window of the application is opened.
  2. If the application is already started:
    • Android If a message or a title is specified in the notification, the system displays the notification in the notification bar. If the user clicks the notification, the procedure specified in NotifPushProcedure is called (nothing happens if it is not specified).
      If no message and no title is specified in the notification, the notification is not displayed and the procedure is called directly.
    • iPhone/iPad Two cases may occur:
      • If the application is in the foreground, the procedure of NotifPushProcedure is called directly. If no procedure is specified, only an "ok" button is displayed.
      • If the application is in the background, the system displays the notification. If the user validates the notification, the application returns to the foreground and the procedure of NotifPushProcedure is called.
Remarks:
  • The exeLaunch constant of ExeInfo allows you to know if the application was automatically started by the system further to the reception of a push notification:
    ExeInfo(exeLaunch) = exePushNotification
  • WinStatus allows you to test (if necessary ) the existence of a window in order to open it:
    // Summary: Procedure called when clicking on a PUSH notification
    PROCEDURE onPush(MyNotif is Notification)
     
    IF WinStatus("WIN_Main") = NotFound THEN
    // WIN_Main is already open or displayed
    ReceivePushNotif(MyNotif, True)
    ELSE
    // Open home window
    OpenMobileWindow(WIN_Main, MyNotif)
    END
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.
Component: wd290android.aar
Minimum version required
  • Version 19
Comments
Click [Add] to post a comment

Last update: 06/23/2023

Send a report | Local help