AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones específicas para móviles / Funciones de teléfono
  • Presentación
  • Principio
  • Gestión de las notificaciones en la aplicación Móvil
  • Gestionar las notificaciones en el servidor de aplicaciones
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Un dispositivo móvil puede recibir notificaciones push. Un Notification es un mensaje que se muestra (y se almacena) en el dispositivo, en el centro del dispositivo Notification. Un Notification puede ser usado para iniciar un Process por ejemplo.
Un Notification se envía desde una aplicación remota, que normalmente se encuentra en un servidor.
La aplicación para el envío de notificaciones puede ser desarrollada en WINDEV o WEBDEV, o a través de herramientas externas..
Principio
Se necesitan cuatro elementos para crear un sistema de empuje Notification:
  • Una aplicación móvil (iOS o Android) que se ejecuta en el dispositivo adecuado.
  • Un servicio de Notification que se utiliza para distribuir los mensajes de empuje a los teléfonos o tabletas. Este servicio se presta:
    • por Google: base de fuego
      Observación: la aplicación creada antes de la versión 22 utiliza el mecanismo de mensajería en nube de Google (GCM). Este mecanismo quedará obsoleto para Google a partir de abril de 2019.
    • por Apple (APM).
  • Un servidor de aplicaciones (o proveedor) que decide enviar los mensajes y que establece la comunicación con la base de datos de la empresa (este servidor puede ser un servicio web o una aplicación WEBDEV o WINDEV).
  • Una base de datos, utilizada para almacenar los identificadores de los diferentes dispositivos que reciben los mensajes push, así como los datos de la empresa..
El modo de funcionamiento global de los mensajes push es el siguiente:
Esquema Notification
  1. La aplicación se registra en el servicio de Apple o Google utilizando el "id de dispositivo" y el "id de aplicación"..
  2. Si el registro se realiza correctamente, el servicio de Apple o Google devuelve un Token (o "identificador de registro") a la aplicación.
  3. La aplicación transmite el Token al servidor de aplicaciones (proveedor).
  4. El servidor almacena el Token en su base de datos.
Un mensaje push se envía de acuerdo con el siguiente método:
a. El servidor de aplicaciones envía un mensaje (mediante un socket SSL (iOS) o un socket HTTPS ( Android )) que contiene el Token al servicio de Apple o Google.
Observación: este envío puede ser realizado por una aplicación externa, siempre y cuando ésta pueda acceder a la base de datos de la empresa y al certificado utilizado para la comunicación con el servicio Notification.
b. El servicio de Apple o Google transmite el mensaje al dispositivo correspondiente.
Gestión de las notificaciones en la aplicación Móvil
Se pueden utilizar varias funciones para gestionar las notificaciones en la aplicación Móvil:
NotifPushDisableDesactiva la gestión de las notificaciones push para una aplicación WINDEV Mobile (Android o IOS).
NotifPushEnablePermite la gestión de las notificaciones push en una aplicación WINDEV Mobile (Android o iOS).
NotifPushProcedureEspecifica el procedimiento WLanguage llamado cuando una aplicación WINDEV Mobile (Android o iOS) recibe un push Notification.
Atención: se requiere una configuración específica para que las aplicaciones móviles funcionen:
  • Android Una configuración específica debe realizarse a través de la consola Firebase. Para obtener más información, consulte Configuración Android (Firebase).
  • iPhone/iPad Se debe realizar una configuración específica. Para obtener más información, consulte Configuración iOS.
El comportamiento cuando se recibe una Notification es el siguiente:
  1. Si la aplicación está cerrada , el sistema muestra el Notification en la barra Notification. El usuario puede elegir validar el Notification. Si lo hace, se inicia la aplicación.
    Android Si no se especifica ningún mensaje en el Notification, la aplicación se inicia y el Notification no se visualiza. A partir de Android 10, no se puede abrir una ventana si la aplicación está en segundo plano. Este comportamiento ya no es compatible.
    Una vez iniciada la aplicación, pueden darse dos casos:
    • Si se llamó a NotifPushProcedure en el código de inicialización del proyecto, se llama a la Procedure global que se pasa a esta función como parámetro y no se abre la primera ventana de la aplicación.
      Observación: OpenMobileWindow debe ser llamada en el Procedure.
    • Si no se ha llamado a NotifPushProcedure, se abre la primera ventana de la aplicación.
  2. Si la aplicación ya está iniciada:
    • Android Si se especifica un mensaje o un título en el Notification, el sistema muestra el Notification en la barra de Notification. Si el usuario hace clic en Notification, se llama al Procedure especificado en NotifPushProcedure (no ocurre nada si no se especifica).
      Si no se especifica ningún mensaje ni título en el Notification, no se muestra el Notification y se llama directamente al Procedure.
    • iPhone/iPad Pueden presentarse dos casos:
      • Si la aplicación está en primer plano, se llama directamente a la Procedure de NotifPushProcedure. Si no se especifica Procedure, sólo se muestra un botón "ok"..
      • Si la aplicación está en el fondo, el sistema muestra el Notification. Si el usuario valida el Notification, la aplicación vuelve al primer plano y se llama al Procedure del NotifPushProcedure.
Observaciones:
  • La constante exeLaunch de ExeInfo le permite saber si la aplicación fue iniciada automáticamente por el sistema después de recibir un push Notification:
    ExeInfo(exeLaunch) = exePushNotification
  • WinStatus permite comprobar (si es necesario) la existencia de una ventana para abrirla:
    // 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
Gestionar las notificaciones en el servidor de aplicaciones
El servidor de aplicaciones es la aplicación WINDEV o el sitio WEBDEV que envía las notificaciones Push.
Esta servidor de aplicaciones envía las notificaciones a través de NotifPushSend.
Atención: NotifPushSend debe conocer los identificadores (tokens) de los teléfonos afectados por el Notification. Esta información debe ser devuelta por la aplicación móvil.
WINDEV Mobile cuenta con los siguientes ejemplos:
  • WD_Push_Server (servicio web):
    1. En el código del proyecto, es necesario especificar:
      • La tecla Android API
      • El tipo de plataforma Android: utilice las constantes npeFirebase o npeGCM ( npeFirebase por Default 75006c007400 ).
      • La ruta de la Certificate que enviará las notificaciones de iOS (Certificate que se desplegará con el Webservice).
    2. Despliegue del servicio web.
    3. Recuperar la URL del WSDL desplegado.
  • WM Push (Aplicación móvil que recibe notificaciones):
    1. Sustituir la URL del Webservice ya importado en el proyecto por la URL recuperada anteriormente.
    2. Despliegue android:
      • Recupera el archivo de configuración de Firebase google-services.JSON, o bien recupera el número de proyecto en Google Cloud Messaging.
      • En la generación de Android asistente, asegúrese de que el nombre del paquete es el mismo que el definido en los servicios de Google.
    3. iOS implementación: Especifique el mismo paquete que el definido en la consola de Apple
  • Send Push (Aplicación cliente para enviar notificaciones a través del Webservice):
    1. Sustituye la URL del Webservice ya importado en el proyecto por la URL recuperada anteriormente.
    2. Ejecute la aplicación para enviar notificaciones.
    3. En el caso de iOS, no olvide especificar el paquete de la aplicación a la que se enviarán las notificaciones.
Versión mínima requerida
  • Versión 19
Comentarios
Tutorial completo do recurso de PUSH (GCM) com Windev Mobile v.20
Wx - Tutorial completo do recurso de PUSH (GCM) com Windev Mobile v.20 desenvolvido pelo sr Tom Silva e Adriano Boller para a comunidade Wx Brasil.

http://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/1113-tutorial-completo-recurso-push-gcm-com-windev-mobile/read.awp
adrianoboller
20 03 2016

Última modificación: 24/06/2023

Señalar un error o enviar una sugerencia | Ayuda local