Manejo de las notificaciones push en Windows 8.1 Universal y Windows 10 UWP

improve this page | report issue

Visión general

La API de notificaciones que MobileFirst proporciona sirve para registrar y anular el registro de dispositivos y suscribir y anular la suscripción a etiquetas. En esta guía de aprendizaje, aprenderá a manejar el envío de notificaciones en aplicaciones nativas Windows 8.1 Universal y Windows 10 UWP mediante C#.

**Requisitos previos: **

Ir a:

Configuración de notificaciones

Cree un nuevo proyecto Visual Studio o utilice uno existente.
Si MobileFirst Native Windows SDK todavía no está presente en el proyecto, siga las instrucciones en la guía de aprendizaje Adición de MobileFirst SDK para aplicaciones Windows.

Añadir el SDK de push

  1. Seleccione Herramientas → NuGet Package Manager → Package Manager Console.
  2. Elija el proyecto en el que desea instalar el componente push de MobileFirst.
  3. Añada el SDK de push de MobileFirst ejecutando el mandato Install-Package IBM.MobileFirstPlatformFoundationPush.

Requisito previo de configuración de WNS

  1. Asegúrese de que la aplicación tiene la funcionalidad de notificación Toast. Esta funcionalidad se habilita en Package.appxmanifest.
  2. Asegúrese de que Package Identity Name y Publisher se actualicen con los valores registrados con WNS.
  3. (Opcional) Suprima el archivo TemporaryKey.pfx.

API de notificaciones

Instancia de MFPPush

Todas las llamadas de API se deben realizar en una instancia de MFPPush. Esto se puede realizar creando una variable como, por ejemplo, private MFPPush PushClient = MFPPush.GetInstance(); y, a continuación, llamando a PushClient.methodName() a lo largo de la clase.

Otra posibilidad es llamar a MFPPush.GetInstance().methodName() para cada instancia en la que necesita acceder a los métodos de API de push.

Manejadores de desafíos

Si el ámbito de push.mobileclient está correlacionado con la comprobación de seguridad, debe asegurarse de que existen manejadores de desafíos coincidentes registrados antes de utilizar las API de push.

Aprenda más sobre los manejadores de desafíos en la guía de aprendizaje de validación de credenciales.

Lado del cliente

Métodos de C Sharp Descripción
Initialize() Inicia MFPPush con el contexto proporcionado.
IsPushSupported() Indica si el dispositivo da soporte a notificaciones push.
RegisterDevice(JObject options) Registra el dispositivo con el servicio de notificaciones push.
GetTags() Recupera las etiquetas disponibles en una instancia del servicio de notificaciones push.
Subscribe(String[] Tags) Suscribe el dispositivo para las etiquetas especificadas.
GetSubscriptions() Recupera todas las etiquetas a las que el dispositivo está actualmente suscrito.
Unsubscribe(String[] Tags) Anula la suscripción de una o varias etiquetas.
UnregisterDevice() Anula el registro del dispositivo del servicio notificaciones push.

Inicialización

La inicialización es necesaria para que la aplicación de cliente se conecte al servicio MFPPush.

  • Primero se debe llamar al método Initialize antes de utilizar cualquier otra API MFPPush.
  • Registra la función de retorno de llamada para manejar las notificaciones push recibidas.
MFPPush.GetInstance().Initialize();

Está push soportado

Comprueba si el dispositivo da soporte a las notificaciones push.

Boolean isSupported = MFPPush.GetInstance().IsPushSupported();

if (isSupported ) {
    // Push is supported
} else {
    // Push is not supported
}

Registrar el dispositivo y enviar una señal de dispositivo

Registre el dispositivo para el servicio de notificaciones push.

JObject Options = new JObject();
MFPPushMessageResponse Response = await MFPPush.GetInstance().RegisterDevice(Options);         
if (Response.Success == true)
{
    // Successfully registered
} else {
    // Registration failed with error
}

Obtener etiquetas

Recupere todas las etiquetas disponibles desde el servicio de notificaciones push.

MFPPushMessageResponse Response = await MFPPush.GetInstance().GetTags();
if (Response.Success == true)
{
    Message = new MessageDialog("Avalibale Tags: " + Response.ResponseJSON["tagNames"]);
} else{
    Message = new MessageDialog("Failed to get Tags list");
}

Suscribir

Suscriba las etiquetas deseadas.

string[] Tags = ["Tag1" , "Tag2"];

// Get subscription tag
MFPPushMessageResponse Response = await MFPPush.GetInstance().Subscribe(Tags);
if (Response.Success == true)
{
    //successfully subscribed to push tag
}
else
{
    //failed to subscribe to push tags
}

Obtener suscripciones

Recupere las etiquetas a las que el dispositivo está actualmente suscrito.

MFPPushMessageResponse Response = await MFPPush.GetInstance().GetSubscriptions();
if (Response.Success == true)
{
    Message = new MessageDialog("Avalibale Tags: " + Response.ResponseJSON["tagNames"]);
}
else
{
    Message = new MessageDialog("Failed to get subcription list...");
}

Anular la suscripción

Anule la suscripción de etiquetas.

string[] Tags = ["Tag1" , "Tag2"];

// unsubscribe tag
MFPPushMessageResponse Response = await MFPPush.GetInstance().Unsubscribe(Tags);
if (Response.Success == true)
{
    //succes
}
else
{
    //failed to subscribe to tags
}

Anular el registro

Anule el registro del dispositivo de una instancia de servicio de notificaciones push.

MFPPushMessageResponse Response = await MFPPush.GetInstance().UnregisterDevice();         
if (Response.Success == true)
{
    // Successfully registered
} else {
    // Registration failed with error
}

Manejar una notificación push

Con el propósito de manejar una notificación push será necesario configurar un MFPPushNotificationListener. Esto se puede lograr implementando el siguiente método.

  1. Cree una clase utilizando la interfaz de tipo MFPPushNotificationListener

    internal class NotificationListner : MFPPushNotificationListener
    {
         public async void onReceive(String properties, String payload)
    {
         // Handle push notification here      
    }
    }
    
  2. Establezca la clase que debe hacer de escucha llamando a MFPPush.GetInstance().listen(new NotificationListner())
  3. En el método onReceive recibirá la notificación push y podrá manejarla para el comportamiento que desee.

Imagen de la aplicación de ejemplo

Servicio de notificaciones push de Windows Universal

No es necesario abrir un puerto específico en su configuración de servidor.

WNS utiliza solicitudes http o https estándar.

Aplicación de ejemplo

Pulse para descargar el proyecto de Windows 8.1 Universal.
Pulse para descargar el proyecto de Windows 10 UWP.

Uso de ejemplo

Siga el archivo README.md de ejemplo para obtener instrucciones.

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on February 18, 2019