Skip to content


Desencadenar mensajes dentro de la aplicación personalizados

Por defecto, los mensajes dentro de la aplicación se desencadenan por tipos de eventos registrados por el SDK. Si quieres desencadenar mensajes dentro de la aplicación mediante eventos enviados por el servidor, también puedes conseguirlo.

Para habilitar esta característica, enviarías un push silencioso al dispositivo, que permitiría a este registrar un evento basado en el SDK. Este evento SDK desencadenaría posteriormente el mensaje dentro de la aplicación dirigido al usuario.

Paso 1: Manejar el push silencioso y los pares clave-valor

Añade el siguiente código dentro del método application(_:didReceiveRemoteNotification:fetchCompletionHandler:):

1
2
3
4
5
6
- (void)handleExtrasFromPush:(NSDictionary *)userInfo {
  NSLog(@"A push was received.");
  if (userInfo !=nil && userInfo[@"IS_SERVER_EVENT"] !=nil && userInfo[@"CAMPAIGN_NAME"]!=nil) {
    [[Appboy sharedInstance] logCustomEvent:@"IAM Trigger" withProperties:@{@"campaign_name": userInfo[@"CAMPAIGN_NAME"]}];
  }
 };
1
2
3
4
5
6
func handleExtras(userInfo: [AnyHashable : Any]) {
  NSLog("A push was received");
  if userInfo != nil && (userInfo["IS_SERVER_EVENT"] as? String) != nil && (userInfo["CAMPAIGN_NAME"] as? String) != nil {
    Appboy.sharedInstance()?.logCustomEvent("IAM Trigger", withProperties: ["campaign_name": userInfo["CAMPAIGN_NAME"]])
  }
}

Cuando se reciba el push silencioso, se registrará un evento “desencadenado de mensaje dentro de la aplicación” registrado en el SDK contra el perfil de usuario. Ten en cuenta que estos mensajes dentro de la aplicación sólo se desencadenarán si se recibe el push silencioso mientras la aplicación está en primer plano.

Paso 2: Crear una campaña push

Crea una campaña push silenciosa que se desencadene a través del evento enviado por el servidor. Para más detalles sobre cómo crear una campaña push silenciosa, consulta las notificaciones push silenciosas.

Una campaña de mensajes dentro de la aplicación basada en acciones que se entregará a los usuarios que realicen el evento personalizado « server_event ».

La campaña push debe incluir extras de par clave-valor, que indiquen que esta campaña push se envía para registrar un evento personalizado del SDK. Este evento se utilizará para desencadenar el mensaje dentro de la aplicación:

Campaña de mensajes dentro de la aplicación basada en acciones que tiene dos pares clave-valor."CAMPAIGN_NAME"  establecido como «Ejemplo de nombre de mensaje dentro de la aplicación» y"IS_SERVER_EVENT"  establecido en «verdadero».

El código del método application(_:didReceiveRemoteNotification:fetchCompletionHandler:) comprueba si hay una clave IS_SERVER_EVENT y registrará un evento personalizado del SDK si la hay.

Puedes modificar el nombre o las propiedades del evento enviando el valor deseado dentro de los extras del par clave-valor de la carga útil push. Al registrar el evento personalizado, estos extras se pueden utilizar como parámetro del nombre del evento o como propiedad del evento.

Paso 3: Crea una campaña de mensajes dentro de la aplicación

Crea tu campaña de mensajes dentro de la aplicación, visible para el usuario, desde el panel de Braze. Esta campaña debe tener una entrega basada en acciones y desencadenarse desde el evento personalizado registrado en el método application(_:didReceiveRemoteNotification:fetchCompletionHandler:).

En el siguiente ejemplo, el mensaje específico dentro de la aplicación que se va a desencadenar se ha configurado enviando la propiedad del evento como parte del push silencioso inicial.

Campaña de mensajes dentro de la aplicación basada en acciones que se entregará a los usuarios que realicen el evento personalizado «Desencadenante de mensajes dentro de la aplicación» donde"campaign_name"  es igual a «Ejemplo de nombre de mensaje dentro de la aplicación».

Debido a que se utiliza un mensaje push para registrar un evento personalizado registrado en SDK, Braze necesitará almacenar un token de notificaciones push para cada usuario para habilitar esta solución. Tanto para iOS como para Android, Braze sólo almacenará un token a partir del momento en que un usuario haya recibido el aviso push del sistema operativo. Antes de esto, el usuario no será localizable mediante push, y la solución anterior no será posible.

New Stuff!