Personalizar las notificaciones push
Aprende a personalizar las notificaciones push para el SDK de Braze.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Android Braze. También tendrás que configurar las notificaciones push.
Utilizar una devolución de llamada para eventos push
Braze proporciona una subscribeToPushNotificationEvents()
devolución de llamada para cuando se reciben, abren o descartan notificaciones push. Se recomienda colocar esta devolución de llamada en tu Application.onCreate()
para no perderte ningún evento que ocurra mientras tu aplicación no se esté ejecutando.
Si antes utilizabas un Receptor de difusión personalizado para esta funcionalidad en tu aplicación, puedes eliminarlo sin problemas en favor de esta opción de integración.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Braze.getInstance(context).subscribeToPushNotificationEvents(event -> {
final BrazeNotificationPayload parsedData = event.getNotificationPayload();
//
// The type of notification itself
//
final boolean isPushOpenEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_OPENED;
final boolean isPushReceivedEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_RECEIVED;
// Sent when a user has dismissed a notification
final boolean isPushDeletedEvent = event.getEventType() == BrazePushEventType.NOTIFICATION_DELETED;
//
// Notification data
//
final String pushTitle = parsedData.getTitleText();
final Long pushArrivalTimeMs = parsedData.getNotificationReceivedTimestampMillis();
final String deeplink = parsedData.getDeeplink();
//
// Custom KVP data
//
final String myCustomKvp1 = parsedData.getBrazeExtras().getString("my first kvp");
final String myCustomKvp2 = parsedData.getBrazeExtras().getString("my second kvp");
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Braze.getInstance(context).subscribeToPushNotificationEvents { event ->
val parsedData = event.notificationPayload
//
// The type of notification itself
//
val isPushOpenEvent = event.eventType == BrazePushEventType.NOTIFICATION_OPENED
val isPushReceivedEvent = event.eventType == BrazePushEventType.NOTIFICATION_RECEIVED
// Sent when a user has dismissed a notification
val isPushDeletedEvent = event.eventType == BrazePushEventType.NOTIFICATION_DELETED
//
// Notification data
//
val pushTitle = parsedData.titleText
val pushArrivalTimeMs = parsedData.notificationReceivedTimestampMillis
val deeplink = parsedData.deeplink
//
// Custom KVP data
//
val myCustomKvp1 = parsedData.brazeExtras.getString("my first kvp")
val myCustomKvp2 = parsedData.brazeExtras.getString("my second kvp")
}
Con los botones de acción de notificación, las intenciones BRAZE_PUSH_INTENT_NOTIFICATION_OPENED
se disparan cuando se hace clic en los botones con acciones opens app
o deep link
. El tratamiento de los vínculos profundos y los extras sigue siendo el mismo. Los botones con acciones close
no disparan las intenciones BRAZE_PUSH_INTENT_NOTIFICATION_OPENED
y descartan la notificación automáticamente.
Crea tu receptor de notificaciones push en Application.onCreate
para asegurarte de que se desencadena cuando un usuario final toca una notificación mientras tu aplicación está en estado finalizado.
Fuentes personalizadas
Paso 1: Crear una familia tipográfica
A continuación se muestra un ejemplo de definición de familia de fuentes personalizada utilizando la guía de familias de fuentes. Para este ejemplo, utilizamos la fuente Bungee Shade.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--Note: You must declare both sets of attributes
so that your fonts load on devices running Android 8.0 (API level 26) or lower.
See https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html -->
<font android:fontStyle="normal"
android:fontWeight="400"
android:font="@font/bungeeshade"
app:fontStyle="normal"
app:fontWeight="400"
app:font="@font/bungeeshade"/>
</font-family>
Después de almacenar la definición de la familia tipográfica en /res/font/bungee_font_family.xml
, podemos referirnos a ella en XML como @font/bungee_font_family
.
Paso 2: Haz referencia a tu familia tipográfica
Ahora que la familia de fuentes está creada, puedes anular los predeterminados de estilo Braze en tu styles.xml
para incluir referencias a la familia de fuentes.
Por ejemplo, la siguiente sustitución de estilos utilizaría la familia de fuentes bungee
para todos los mensajes dentro de la aplicación Braze.
1
2
3
4
5
6
7
8
9
<style name="Braze.InAppMessage">
<item name="android:fontFamily">@font/bungee_font_family</item>
<item name="fontFamily">@font/bungee_font_family</item>
</style>
<style name="Braze.Cards">
<item name="android:fontFamily">@font/another_custom_font_family</item>
<item name="fontFamily">@font/another_custom_font_family</item>
</style>
Ambos atributos de estilo android:fontFamily
y fontFamily
deben estar configurados para mantener la compatibilidad en todas las versiones del SDK.
Personalizar la visualización de notificaciones
Paso 1: Crea tu fábrica de notificaciones personalizada
En algunos casos, es posible que desees personalizar las notificaciones push de formas que serían engorrosas o no estarían disponibles en el servidor. Para darte un control completo de la visualización de notificaciones, hemos añadido la posibilidad de definir tus propias IBrazeNotificationFactory
objetos de notificación para que los muestre Braze.
Si se configura un IBrazeNotificationFactory
personalizado, Braze llamará al método createNotification()
de tu fábrica tras la recepción push antes de que se muestre la notificación al usuario. Braze pasará un Bundle
que contiene datos push de Braze y otro Bundle
que contiene pares clave-valor personalizados enviados a través del panel o de las API de mensajería:
Braze pasará un archivo BrazeNotificationPayload
que contiene los datos de la notificación push de Braze.
1
2
3
4
5
6
7
8
9
// Factory method implemented in your custom IBrazeNotificationFactory
@Override
public Notification createNotification(BrazeNotificationPayload brazeNotificationPayload) {
// Example of getting notification title
String title = brazeNotificationPayload.getTitleText();
// Example of retrieving a custom KVP ("my_key" -> "my_value")
String customKvp = brazeNotificationPayload.getBrazeExtras().getString("my_key");
}
1
2
3
4
5
6
7
8
// Factory method implemented in your custom IBrazeNotificationFactory
override fun createNotification(brazeNotificationPayload: BrazeNotificationPayload): Notification {
// Example of getting notification title
val title = brazeNotificationPayload.getTitleText()
// Example of retrieving a custom KVP ("my_key" -> "my_value")
val customKvp = brazeNotificationPayload.getBrazeExtras().getString("my_key")
}
Puedes devolver null
desde tu método personalizado createNotification()
para no mostrar la notificación en absoluto, utilizar BrazeNotificationFactory.getInstance().createNotification()
para obtener nuestro objeto predeterminado notification
para esos datos y modificarlo antes de mostrarlo, o generar un objeto notification
completamente independiente para mostrarlo.
Para obtener documentación sobre las teclas de datos push de Braze, consulta el SDK de Android.
Paso 2: Configura tu fábrica de notificaciones personalizada
Para indicar a Braze que utilice tu fábrica de notificaciones personalizada, utiliza el método setCustomBrazeNotificationFactory
para configurar tus IBrazeNotificationFactory
:
1
setCustomBrazeNotificationFactory(IBrazeNotificationFactory brazeNotificationFactory);
1
setCustomBrazeNotificationFactory(brazeNotificationFactory: IBrazeNotificationFactory)
El lugar recomendado para configurar tu IBrazeNotificationFactory
personalizado es el método de ciclo de vida de la aplicación Application.onCreate()
(no la actividad). Esto permitirá que la fábrica de notificaciones se configure correctamente siempre que el proceso de tu aplicación esté activo.
Crear tu propia notificación desde cero es un caso de uso avanzado y sólo debe hacerse con pruebas exhaustivas y un conocimiento profundo de la funcionalidad push de Braze. Por ejemplo, debes asegurarte de que tus registros de notificación push se abren correctamente.
Para desactivar tu sistema personalizado IBrazeNotificationFactory
y volver a la gestión predeterminada de Braze para push, pasa null
a nuestro configurador de fábrica de notificaciones personalizadas:
1
setCustomBrazeNotificationFactory(null);
1
setCustomBrazeNotificationFactory(null)
Renderizado del texto multiplicador
En la versión 3.1.1 del SDK de Braze, se puede enviar HTML a un dispositivo para mostrar texto multiplicador en las notificaciones push.
Este ejemplo se muestra con el siguiente HTML:
1
2
3
<p><span style="color: #99cc00;">M</span>u<span style="color: #008080;">lti</span>Colo<span style="color: #ff6600;">r</span> <span style="color: #000080;">P</span><span style="color: #00ccff;">u</span><span style="color: #ff0000;">s</span><span style="color: #808080;">h</span></p>
<p><em>test</em> <span style="text-decoration: underline; background-color: #ff6600;"><strong>message</strong></span></p>
Ten en cuenta que, Android limita qué elementos y etiquetas HTML son válidos en tus notificaciones push. Por ejemplo, marquee
no está permitido.
La representación del texto multicolor es específica del dispositivo y puede que no se muestre según el dispositivo o la versión de Android.
Para representar texto multicolor en una notificación push, puedes actualizar tu braze.xml
o BrazeConfig
:
Añade lo siguiente en tu braze.xml
:
1
<bool translatable="false" name="com_braze_push_notification_html_rendering_enabled">true</bool>
Añade lo siguiente en tu BrazeConfig
:
1
2
3
4
BrazeConfig brazeConfig = new BrazeConfig.Builder()
.setPushHtmlRenderingEnabled(true)
.build();
Braze.configure(this, brazeConfig);
1
2
3
4
val brazeConfig = BrazeConfig.Builder()
.setPushHtmlRenderingEnabled(true)
.build()
Braze.configure(this, brazeConfig)
Etiquetas HTML compatibles
Actualmente, Google no enumera las etiquetas HTML compatibles con Android directamente en su documentación; esta información sólo puede encontrarse en el archivo Html.java
de su repositorio Git. Tenlo en cuenta cuando consultes la siguiente tabla, ya que esta información se extrajo de este archivo, y sus etiquetas HTML compatibles podrían estar sujetas a cambios.
Categoría | Etiqueta HTML | Descripción |
---|---|---|
Estilización básica del texto | <b> , <strong> |
Texto en negrita |
<i> , <em> |
Texto en cursiva | |
<u> |
Subrayar texto | |
<s> , <strike> , <del> |
Texto tachado | |
<sup> |
Texto superíndice | |
<sub> |
Texto del subíndice | |
<tt> |
Texto monospace | |
Tamaño/Fuente | <big> , <small> |
Cambios relativos en el tamaño del texto |
<font color="..."> |
Establece el color de primer plano | |
<span> (con CSS en línea) |
Estilos en línea (e.g., color, fondo) | |
Párrafo y Bloque | <p> , <div> |
Secciones a nivel de bloque |
<br> |
Salto de línea | |
<blockquote> |
Bloque citado | |
<ul> + <li> |
Lista desordenada con viñetas | |
Rúbricas | <h1> - <h6> |
Títulos (varios tamaños) |
Enlaces e imágenes | <a href="..."> |
Enlace clicable |
<img src="..."> |
Imagen en línea | |
Otros en línea | <em> , <strong> , <dfn> , <cite> |
Sinónimos de cursiva o negrita |
Renderizado de imágenes en línea
Cómo funciona
Puedes mostrar una imagen más grande dentro de tu notificación push de Android utilizando el push de imagen en línea. Con este diseño, los usuarios no tendrán que expandir manualmente el push para ampliar la imagen. A diferencia de las notificaciones push normales de Android, las imágenes push en línea tienen una relación de aspecto de 3:2.
Compatibilidad
Aunque puedes enviar imágenes en línea a cualquier dispositivo, los dispositivos y SDK que no cumplan las versiones mínimas mostrarán en su lugar una imagen estándar. Para que las imágenes en línea se muestren correctamente, se necesita el SDK de Android Braze v10.0.0+ y un dispositivo que ejecute Android M+.
Los dispositivos con Android 12 se mostrarán de forma diferente debido a los cambios en los estilos personalizados de las notificaciones push.
Enviar una imagen en línea push
Al crear un mensaje push de Android, esta característica está disponible en el desplegable Tipo de notificación.
Configuración
Hay muchas configuraciones avanzadas disponibles para las notificaciones push de Android enviadas a través del panel de Braze. En este artículo se describirán estas características y cómo utilizarlas con éxito.
ID de notificación
Un ID de notificación es un identificador único para una categoría de mensajes de tu elección que informa al servicio de mensajería para que sólo respete el mensaje más reciente de ese ID. Establecer un ID de notificación te permite enviar sólo el mensaje más reciente y relevante, en lugar de una pila de mensajes desfasados e irrelevantes.
Prioridad de entrega de la mensajería Firebase
El campo Prioridad de entrega de la mensajería de Firebase te permite controlar si un push se envía con prioridad “normal” o “alta” a la mensajería en la nube de Firebase.
Tiempo de vida (TTL)
El campo Tiempo de vida (TTL) te permite establecer un tiempo personalizado para almacenar mensajes con el servicio de mensajería push. Los valores predeterminados para el tiempo de vida son cuatro semanas para FCM y 31 días para ADM.
Texto resumido
El texto de resumen te permite establecer texto adicional en la vista ampliada de notificaciones. También sirve como pie de foto para las notificaciones con imágenes.
El texto resumido se mostrará bajo el cuerpo del mensaje en la vista ampliada.
Para las notificaciones push que incluyan imágenes, el texto del mensaje se mostrará en la vista contraída, mientras que el texto del resumen se mostrará como pie de imagen cuando se expanda la notificación.
URIs personalizadas
La característica URI personalizada te permite especificar una URL Web o un recurso Android al que navegar cuando se haga clic en la notificación. Si no se especifica una URI personalizada, al hacer clic en la notificación los usuarios acceden a tu aplicación. Puedes utilizar el URI personalizado para establecer vínculos profundos dentro de tu aplicación y dirigir a los usuarios a recursos que existen fuera de ella. Esto puede especificarse a través de la API de mensajería o de nuestro panel en Configuración avanzada en el compositor push, como se muestra en la imagen:
Prioridad de visualización de notificaciones
El ajuste Prioridad de visualización de notificaciones ya no se utiliza en dispositivos con Android O o posterior. Para los dispositivos más nuevos, establezca la prioridad a través de la configuración del canal de notificación.
El nivel de prioridad de una notificación push afecta a cómo se muestra su notificación en la bandeja de notificaciones en relación con otras notificaciones. También puede afectar a la velocidad y forma de entrega, ya que los mensajes normales y de menor prioridad pueden enviarse con una latencia ligeramente superior o por lotes para preservar la duración de la batería, mientras que los mensajes de alta prioridad siempre se envían inmediatamente.
En Android O, la prioridad de notificación pasó a ser una propiedad de los canales de notificación. Tendrás que trabajar con tu desarrollador para definir la prioridad de un canal durante su configuración y luego utilizar el panel de control para seleccionar el canal adecuado al enviar tus sonidos de notificación. Para los dispositivos que ejecutan versiones de Android anteriores a O, es posible especificar un nivel de prioridad para las notificaciones de Android mediante el panel de Braze y la API de mensajería.
Para enviar mensajes a toda tu base de usuarios con una prioridad específica, te recomendamos que especifiques indirectamente la prioridad a través de la configuración del canal de notificación (para dirigirte a dispositivos O+) y envíes la prioridad individual desde el panel (para dirigirte a dispositivos <O).
Los niveles de prioridad que puedes establecer en las notificaciones push de Android o Fire OS son:
Prioridad | Descripción/uso previsto | priority valor (para mensajes API) |
---|---|---|
Máx. | Mensajes urgentes o en los que el tiempo es un factor crítico | 2 |
Alta | Comunicación importante, como un nuevo mensaje de un amigo | 1 |
Predeterminado | La mayoría de las notificaciones: utilízalo si tu mensaje no entra explícitamente en ninguno de los otros tipos de prioridad. | 0 |
Baja | Información que quieres que conozcan los usuarios pero que no requiere una acción inmediata | -1 |
Mín. | Información contextual o de fondo. | -2 |
Para más información, consulta la documentación de notificaciones de Android de Google.
Sonidos
En Android O, los sonidos de notificación pasaron a ser una propiedad de los canales de notificación. Tendrás que trabajar con tu desarrollador para definir el sonido de un canal durante su configuración y luego utilizar el panel para seleccionar el canal adecuado al enviar tus notificaciones.
Para los dispositivos que ejecutan versiones de Android anteriores a O, Braze te permite configurar el sonido de un mensaje push individual a través del compositor del panel. Puedes hacerlo especificando un recurso de sonido local en el dispositivo (por ejemplo, android.resource://com.mycompany.myapp/raw/mysound
). Si especificas “predeterminado” en este campo, se reproducirá el sonido de notificación predeterminado en el dispositivo. Esto puede especificarse a través de la API de mensajería o del panel en Configuración avanzada en el compositor push.
Introduce el URI completo del recurso de sonido (por ejemplo, android.resource://com.mycompany.myapp/raw/mysound
) en la consulta del panel.
Para enviar un mensaje a toda tu base de usuarios con un sonido específico, te recomendamos que especifiques indirectamente el sonido a través de la configuración del canal de notificación (para dirigirte a dispositivos O+) y envíes el sonido individual desde el panel (para dirigirte a dispositivos <O).
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Swift Braze. También tendrás que configurar las notificaciones push.
Personalizar botones de acción
El SDK Swift de Braze proporciona soporte de gestión de URL para botones de acción push. Hay cuatro conjuntos de botones de acción para notificación push predeterminados para las categorías de notificación push predeterminadas de Braze: Accept/Decline
, Yes/No
, Confirm/Cancel
, y More
.
Registro manual de botones de acción
No se recomienda registrar manualmente los botones de acción para notificación push.
Si configuras las notificaciones push mediante la opción de configuración configuration.push.automation
, Braze registra automáticamente los botones de acción para las categorías push predeterminadas y gestiona el análisis de clics para notificación push y el enrutamiento de URL.
Sin embargo, puedes optar por registrar manualmente los botones de acción para notificación push.
Paso 1: Añadir categorías push predeterminadas Braze
Utiliza el siguiente código para registrarte en las categorías predeterminadas de push cuando te registres en push:
a
1
UNUserNotificationCenter.current().setNotificationCategories(Braze.Notifications.categories)
1
[[UNUserNotificationCenter currentNotificationCenter] setNotificationCategories:BRZNotifications.categories];
Al hacer clic en los botones de acción para push con modo de activación en segundo plano, sólo se descartará la notificación y no se abrirá la aplicación. La próxima vez que el usuario abra la aplicación, el análisis de los clics en el botón de estas acciones se enviará al servidor.
Paso 2: Habilitar la gestión interactiva de push
Para habilitar la gestión de nuestro botón de acción push, incluidos los análisis de clics y el enrutamiento de URL, añade el siguiente código al método delegado didReceive(_:completionHandler:)
de tu aplicación:
1
AppDelegate.braze?.notifications.handleUserNotification(response: response, withCompletionHandler: completionHandler)
1
2
[AppDelegate.braze.notifications handleUserNotificationWithResponse:response
withCompletionHandler:completionHandler];
Si utilizas el framework UNNotification
y has implementado los métodos de notificación Braze, ya deberías tener integrado este método.
Personalizar las categorías push
Además de proporcionar un conjunto de categorías push predeterminadas, Braze admite categorías y acciones de notificación personalizadas. Después de registrar las categorías en tu aplicación, puedes utilizar el panel de Braze para enviar estas categorías de notificación personalizadas a tus usuarios.
Aquí tienes un ejemplo que aprovecha la dirección LIKE_CATEGORY
que aparece en el dispositivo:
Paso 1: Registrar una categoría
Para registrar una categoría en tu aplicación, utiliza un método similar al siguiente:
1
2
3
4
5
6
7
8
9
10
Braze.Notifications.categories.insert(
.init(identifier: "LIKE_CATEGORY",
actions: [
.init(identifier: "LIKE_IDENTIFIER", title: "Like", options: [.foreground]),
.init(identifier: "UNLIKE_IDENTIFIER", title: "Unlike", options: [.foreground])
],
intentIdentifiers: []
)
)
UNUserNotificationCenter.current().setNotificationCategories(Braze.Notifications.categories)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
NSMutableSet<UNNotificationCategory *> *categories = [BRZNotifications.categories mutableCopy];
UNNotificationAction *likeAction = [UNNotificationAction actionWithIdentifier:@"LIKE_IDENTIFIER"
title:@"Like"
options:UNNotificationActionOptionForeground];
UNNotificationAction *unlikeAction = [UNNotificationAction actionWithIdentifier:@"UNLIKE_IDENTIFIER"
title:@"Unlike"
options:UNNotificationActionOptionForeground];
UNNotificationCategory *likeCategory = [UNNotificationCategory categoryWithIdentifier:@"LIKE_CATEGORY"
actions:@[likeAction, unlikeAction]
intentIdentifiers:@[]
options:UNNotificationCategoryOptionNone];
[categories addObject:likeCategory];
[UNUserNotificationCenter.currentNotificationCenter setNotificationCategories:categories];
Cuando creas un UNNotificationAction
, puedes especificar una lista de opciones de acción. Por ejemplo, UNNotificationActionOptions.foreground
permite a tus usuarios abrir tu aplicación tras pulsar el botón de acción. Esto es necesario para los comportamientos de navegación al hacer clic, como “Abrir aplicación” y “Vínculo profundo dentro de la aplicación”. Para más información, consulta UNNotificationActionOptions
.
Paso 2: Selecciona tus categorías
Después de registrar una categoría, utiliza el panel de Braze para enviar notificaciones de ese tipo a los usuarios.
Sólo tienes que definir categorías de notificación personalizadas para los botones de acción con acciones especiales, como la vinculación en profundidad a tu aplicación o la apertura de una URL. No es necesario definirlos para los botones de acción que sólo rechazan una notificación.
- En el panel de Braze, selecciona Mensajería > Notificaciones push y, a continuación, elige tu campaña push de iOS.
- En Redactar notificación push, activa los Botones de acción.
- En el desplegable Categoría de notificación de iOS, selecciona Introducir categoría personalizada de iOS previamente registrada.
- Por último, introduce una de las categorías que creaste anteriormente. El siguiente ejemplo, utiliza la categoría personalizada:
LIKE_CATEGORY
.
Personalización de las señales
Las señales son pequeños iconos ideales para llamar la atención del usuario. Puedes especificar un recuento de señales en los Configuración cuando redactes una notificación push utilizando el panel de Braze. También puedes actualizar manualmente el recuento de señales a través de la propiedad applicationIconBadgeNumber
o la carga útil de notificación remota.
Braze borrará automáticamente el recuento de señales cuando se reciba una notificación Braze mientras la aplicación esté en primer plano. Si estableces manualmente el número de la señal en 0, también se borrarán las notificaciones del centro de notificaciones.
Si no tienes un plan para borrar las señales como parte del funcionamiento normal de la aplicación o mediante el envío de push que borren la señal, debes borrar la señal cuando la aplicación se active añadiendo el siguiente código al método delegado applicationDidBecomeActive:
de tu aplicación:
1
2
3
4
5
6
7
8
9
10
// For iOS 16.0+
let center = UNUserNotificationCenter.current()
do {
try await center.setBadgeCount(0)
} catch {
// Handle errors
}
// Prior to iOS 16. Deprecated in iOS 17+.
UIApplication.shared.applicationIconBadgeNumber = 0
1
2
3
4
5
6
7
8
9
10
// For iOS 16.0+
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
[center setBadgeCount:0 withCompletionHandler:^(NSError * _Nullable error) {
if (error != nil) {
// Handle errors
}
}];
// Prior to iOS 16. Deprecated in iOS 17+.
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
Sonidos personalizados
Paso 1: Aloja el sonido en tu aplicación
Los sonidos de notificación push personalizados deben alojarse localmente dentro del paquete principal de tu aplicación. Se aceptan los siguientes formatos de datos de audio:
- PCM lineal
- MA4
- µLaw
- aLaw
Puedes empaquetar los datos de audio en un archivo AIFF, WAV o CAF. En Xcode, añade el archivo de sonido a tu proyecto como un recurso no localizado del paquete de la aplicación.
Los sonidos personalizados deben durar menos de 30 segundos cuando se reproducen. Si un sonido personalizado supera ese límite, en su lugar, se reproduce el sonido predeterminado del sistema.
Convertir archivos de sonido
Puedes utilizar la herramienta afconvert para convertir sonidos. Por ejemplo, para convertir el sonido del sistema PCM lineal de 16 bits Submarine.aiff a audio IMA4 en un archivo CAF, utiliza el siguiente comando en el terminal:
1
afconvert /System/Library/Sounds/Submarine.aiff ~/Desktop/sub.caf -d ima4 -f caff -v
Puedes inspeccionar un sonido para determinar su formato de datos abriéndolo en QuickTime Player y eligiendo Mostrar inspector de películas en el menú Película.
Paso 2: Proporciona una URL de protocolo para el sonido
Debes especificar una URL de protocolo que dirija a la ubicación del archivo de sonido en tu aplicación. Hay dos métodos para hacerlo:
- Utiliza el parámetro
sound
del objeto push de Apple para pasar la URL a Braze. - Especifica la URL en el panel. En el compositor push, selecciona Configuración e introduce la URL del protocolo en el campo Sonido.
Si el archivo de sonido especificado no existe o se introduce la palabra clave “predeterminado”, Braze utilizará el sonido de alerta del dispositivo predeterminado. Aparte de nuestro panel, el sonido también se puede configurar a través de nuestra [API de mensajería][12].
Consulta la documentación para desarrolladores de Apple relativa a la preparación de sonidos de alerta personalizados para obtener información adicional.
Configuración
Al crear una campaña push a través del panel, haz clic en la pestaña Configuración del paso Redactar para ver la configuración avanzada disponible.
Pares clave-valor
Braze te permite enviar pares clave-valor de cadena definidos a medida, conocidos como extras
, junto con una notificación push a tu aplicación. Los extras pueden definirse a través del panel o de la API y estarán disponibles como pares clave-valor dentro del diccionario notification
pasado a tus implementaciones de delegados push.
Opciones de alerta
Selecciona la casilla Opciones de alerta para ver un desplegable de valores clave disponibles para ajustar cómo aparece la notificación en los dispositivos.
Añadir la bandera de contenido disponible
Marca la casilla Añadir indicador de contenido disponible para indicar a los dispositivos que descarguen nuevos contenidos en segundo plano. Lo más habitual es marcar esta opción si te interesa enviar notificaciones silenciosas.
Añadir la bandera de contenido mutable
Marca la casilla Añadir indicador de contenido mutable para habilitar la personalización avanzada del receptor. Esta bandera se enviará automáticamente al componer una notificación enriquecida, independientemente del valor de esta casilla.
ID de contracción
Especifica un ID de colapso para agrupar notificaciones similares. Si envías varias notificaciones con el mismo ID de colapso, el dispositivo sólo mostrará la notificación recibida más recientemente. Consulta la documentación de Apple sobre notificaciones agrupadas.
Caducidad
Si marcas la casilla Caducidad, podrás establecer un tiempo de caducidad para tu mensaje. Si el dispositivo de un usuario pierde la conectividad, Braze seguirá intentando enviar el mensaje hasta la hora especificada. Si no se configura, la plataforma tendrá una caducidad predeterminada de 30 días. Ten en cuenta que las notificaciones push que caducan antes de la entrega no se consideran fallidas y no se registrarán como rebotadas.
Requisitos previos
Antes de poder utilizar esta característica, tendrás que integrar el SDK de Android Braze. También tendrás que configurar las notificaciones push.
Configuración
Hay muchas configuraciones avanzadas disponibles para las notificaciones push de FireOS enviadas a través del panel Braze. En este artículo se describirán estas características y cómo utilizarlas con éxito.
Tiempo de vida (TTL)
El campo Tiempo de vida (TTL) te permite establecer un tiempo personalizado para almacenar mensajes con el servicio de mensajería push. Los valores predeterminados para el tiempo de vida son cuatro semanas para FCM y 31 días para ADM.
Texto resumido
El texto de resumen te permite establecer texto adicional en la vista ampliada de notificaciones. También sirve como pie de foto para las notificaciones con imágenes.
El texto resumido se mostrará bajo el cuerpo del mensaje en la vista ampliada.
Para las notificaciones push que incluyan imágenes, el texto del mensaje se mostrará en la vista contraída, mientras que el texto del resumen se mostrará como pie de imagen cuando se expanda la notificación.
URIs personalizadas
La característica URI personalizada te permite especificar una URL Web o un recurso Android al que navegar cuando se haga clic en la notificación. Si no se especifica una URI personalizada, al hacer clic en la notificación los usuarios acceden a tu aplicación. Puedes utilizar el URI personalizado para establecer vínculos profundos dentro de tu aplicación y dirigir a los usuarios a recursos que existen fuera de ella. Esto puede especificarse a través de la API de mensajería o de nuestro panel en Configuración avanzada en el compositor push, como se muestra en la imagen:
Prioridad de visualización de notificaciones
El ajuste Prioridad de visualización de notificaciones ya no se utiliza en dispositivos con Android O o posterior. Para los dispositivos más nuevos, establezca la prioridad a través de la configuración del canal de notificación.
El nivel de prioridad de una notificación push afecta a cómo se muestra su notificación en la bandeja de notificaciones en relación con otras notificaciones. También puede afectar a la velocidad y la forma de entrega, ya que los mensajes normales y de menor prioridad pueden enviarse con una latencia ligeramente superior o por lotes para preservar la duración de la batería, mientras que los mensajes de alta prioridad siempre se envían inmediatamente.
En Android O, la prioridad de notificación pasó a ser una propiedad de los canales de notificación. Tendrás que trabajar con tu desarrollador para definir la prioridad de un canal durante su configuración y luego utilizar el panel de control para seleccionar el canal adecuado al enviar tus sonidos de notificación. Para los dispositivos que ejecutan versiones de Android anteriores a O, es posible especificar un nivel de prioridad para las notificaciones de FireOS a través del panel de Braze y la API de mensajería.
Para enviar mensajes a toda tu base de usuarios con una prioridad específica, te recomendamos que especifiques indirectamente la prioridad a través de la configuración del canal de notificación (para dirigirte a dispositivos O+) y envíes la prioridad individual desde el panel (para dirigirte a dispositivos <O).
Los niveles de prioridad que puedes establecer en las notificaciones push de Fire OS son:
Prioridad | Descripción/uso previsto | priority valor (para mensajes API) |
---|---|---|
Máx. | Mensajes urgentes o en los que el tiempo es un factor crítico | 2 |
Alta | Comunicación importante, como un nuevo mensaje de un amigo | 1 |
Predeterminado | La mayoría de las notificaciones: utilízalo si tu mensaje no entra explícitamente en ninguno de los otros tipos de prioridad. | 0 |
Baja | Información que quieres que conozcan los usuarios pero que no requiere una acción inmediata | -1 |
Mín. | Información contextual o de fondo. | -2 |
Para más información, consulta la documentación de notificaciones de Android de Google.
Sonidos
En Android O, los sonidos de notificación pasaron a ser una propiedad de los canales de notificación. Tendrás que trabajar con tu desarrollador para definir el sonido de un canal durante su configuración y luego utilizar el panel para seleccionar el canal adecuado al enviar tus notificaciones.
Para los dispositivos que ejecutan versiones de Android anteriores a O, Braze te permite configurar el sonido de un mensaje push individual a través del compositor del panel. Puedes hacerlo especificando un recurso de sonido local en el dispositivo (por ejemplo, android.resource://com.mycompany.myapp/raw/mysound
). Si especificas “predeterminado” en este campo, se reproducirá el sonido de notificación predeterminado en el dispositivo. Esto puede especificarse a través de la API de mensajería o del panel en Configuración en el compositor push.
Introduce el URI completo del recurso de sonido (por ejemplo, android.resource://com.mycompany.myapp/raw/mysound
) en la consulta del panel.
Para enviar un mensaje a toda tu base de usuarios con un sonido específico, te recomendamos que especifiques indirectamente el sonido a través de la configuración del canal de notificación (para dirigirte a dispositivos O+) y envíes el sonido individual desde el panel (para dirigirte a dispositivos <O).