Ometria ayuda a su departamento de marketing a comprender e interactuar mejor con sus clientes mediante el envío de correos electrónicos personalizados y notificaciones automáticas.
La aplicación tiene dos objetivos clave:
Para su aplicación móvil, esto significa:
Los desarrolladores de aplicaciones que se integren con este SDK deben seguir la guía a continuación. También puede consultar la aplicación de muestra que hemos incluido para una implementación de referencia.
Consulte Configurar su aplicación móvil con credenciales de Firebase en el centro de ayuda de Ometria y siga los pasos allí para obtener una clave API.
La forma más sencilla de incorporar Ometria a su proyecto ReactNative es mediante npm install
o yarn add
.
react-native-ometria
usando npm install react-native-ometria
o yarn add react-native-ometria
Nota: Si tiene problemas con la instalación de la biblioteca, considere excluir el ejemplo de la configuración de mecanografiado, por ejemplo:
{
...,
"exclude": ["example"]
}
Para iOS
necesita instalar Pods pod install
para crear un espejo de especificaciones local de CocoaPods.
Si encuentra que The Swift pod 'Ometria' depends upon 'FirebaseMessaging'
al ejecutar la instalación del pod, considere agregar use_frameworks! :linkage => :static
.
Para inicializar el SDK de Ometria, debe ingresar la clave API del punto 2. Antes de comenzar .
import Ometria from 'react-native-ometria' ;
await Ometria . initializeWithApiToken ( 'API_KEY' , {
notificationChannelName : 'Example Channel Name' , // optional, only for Android
appGroupIdentifier : 'group.com.ometria.sampleRN' , // optional, only for iOS
} ) ;
Desde la versión 2.3.0, el SDK permite la reinicialización de la instancia de Ometria. Así que puedes volver a llamar a este método más adelante en la aplicación si es necesario.
Puede especificar un nombre personalizado para el canal de notificación de Android en el segundo parámetro de opciones opcional. El nombre del canal predeterminado es <blank>
.
También puede especificar un identificador de grupo de aplicaciones en el segundo parámetro de opciones opcional. Consulte esta sección para iOS.
Ometria registra cualquier error encontrado durante el tiempo de ejecución de forma predeterminada; se puede acceder a estos registros en la consola de su entorno de desarrollo.
Puede habilitar el registro avanzado si desea obtener más información sobre lo que sucede en segundo plano. Simplemente agregue la siguiente línea después de inicializar la biblioteca:
Ometria . isLoggingEnabled ( true ) ;
Debe conocer el comportamiento de sus usuarios en sus plataformas para poder comprenderlos. Algunos comportamientos se detectan automáticamente, otros eventos necesitan que el desarrollador de la aplicación trabaje para rastrearlos.
Muchos de estos métodos tienen eventos análogos en nuestro rastreador de sitios web.
Por ejemplo, el evento identificado por el cliente toma un ID de cliente o un correo electrónico; estos identificadores deben ser los mismos aquí que en la API de datos. Si especifica tanto el correo electrónico como la identificación del cliente, ambos deben coincidir.
Los eventos se fusionan por parte de Ometria en una gran vista multicanal del comportamiento de sus clientes. Si utiliza ID de correo electrónico/cliente inconsistentes, esto podría resultar en la creación de perfiles duplicados o la pérdida de datos.
Una vez que se inicializa el SDK, puede realizar un seguimiento de un evento llamando a su método dedicado.
Un usuario de la aplicación acaba de identificarse, es decir, de iniciar sesión.
Ometria . trackProfileIdentifiedByCustomerIdEvent ( 'test_customer_id' ) ;
Su ID de cliente es su ID de usuario en su base de datos.
A veces, un usuario sólo proporciona su dirección de correo electrónico sin iniciar sesión completamente ni tener una cuenta. En ese caso, Ometria puede hacer coincidir el perfil según el correo electrónico:
Ometria . trackProfileIdentifiedByEmailEvent ( '[email protected]' ) ;
Tener un ID de cliente hace que la coincidencia de perfiles sea más sólida.
No es mutuamente excluyente con el envío de un evento por correo electrónico; Para una integración óptima, debe enviar cualquiera de los eventos tan pronto como tenga la información. Estos dos eventos son fundamentales para el funcionamiento del SDK, así que asegúrese de enviarlos lo antes posible. Reiterando aquí que estos identificadores deben ser los mismos que utilizas en tu plataforma de comercio electrónico y envías a Ometria (a través de la API de datos u otras formas). Si especifica tanto el correo electrónico como la identificación del cliente, ambos deben coincidir. Un error típico que vemos en las integraciones es que la aplicación genera una nueva identificación de cliente en cada inicio de sesión (que no coincide con la identificación de cliente almacenada en Ometria). Para evitar esto, genere estos identificadores de forma centralizada en sus servidores y envíe identificadores coherentes a través del SDK móvil de Ometria y la API de datos de Ometria. Si no resulta práctico generar identificaciones coherentes, sugerimos utilizar únicamente el correo electrónico para identificar contactos.
Deshacer un evento identificado con el perfil. Puede utilizar esto si un usuario cierra sesión.
Ometria . trackProfileDeidentifiedEvent ( ) ;
Actualmente, este evento borra las identificaciones almacenadas (correo electrónico y/o identificación del cliente) del almacenamiento local del teléfono. No tiene ningún otro efecto dentro de Ometria.
Un visitante hace clic/toca/ve/destaca o muestra interés en un producto.
Por ejemplo, el visitante busca un término y selecciona una de las vistas previas del producto de un conjunto de resultados, o explora una categoría de ropa y hace clic en una camiseta específica para ver una imagen más grande.
Este evento trata de captar el interés del visitante por este producto.
Ometria . trackProductViewedEvent ( 'product_id' ) ;
El visitante ha visualizado una página, pantalla o modal dedicado con el contenido de la cesta de la compra:
Ometria . trackBasketViewedEvent ( ) ;
El visitante ha cambiado su cesta de la compra:
const items : OmetriaBasketItem [ ] = [
{
productId : 'product-1' ,
sku : 'sku-product-1' ,
quantity : 1 ,
price : 12.0 ,
variantId : 'variant-1' ,
} ,
{
productId : 'product-2' ,
sku : 'sku-product-2' ,
quantity : 2 ,
price : 9.0 ,
variantId : 'variant-2' ,
} ,
{
productId : 'product-3' ,
sku : 'sku-product-3' ,
quantity : 3 ,
price : 20.0 ,
variantId : 'variant-3' ,
} ,
] ;
Ometria . trackBasketUpdatedEvent ( {
totalPrice : 12.0 ,
id : 'basket_id_eg' ,
currency : 'USD' ,
items ,
link : 'link_eg' ,
} ) ;
Este evento toma como parámetro la cesta actual completa, no solo las piezas actualizadas.
Esto ayuda a recuperarse de eventos de cesta perdidos o desincronizados: la última actualización siempre tiene autoridad.
OmetriaBasketItem es un objeto que describe el contenido de un artículo de la cesta de la compra. Puede tener su propio precio y cantidad en función de diferentes reglas y promociones que se estén aplicando. Tiene las siguientes propiedades:
- productId : (
String
, obligatorio): una cadena que representa el identificador único de este producto.- sku : (
String
, opcional): una cadena que representa la unidad de mantenimiento de existencias, que permite identificar un artículo en particular.- cantidad : (
Int
, requerida ) - La cantidad de artículos que representa esta entrada.- precio : (
Float
, requerido): valor flotante que representa el precio de un artículo. La moneda la establece la OmetriaBasket que contiene este artículo.- variandId : (
String
, opcional): un identificador para una variante de producto asociada con esta línea de pedido.
OmetriaBasket es un objeto que describe el contenido de una cesta de la compra y tiene las siguientes propiedades:
- id : (
String
, opcional): un identificador único para esta cesta.- moneda : (
String
, requerida): una cadena que representa la moneda en el código de moneda de tres letras ISO 4217, por ejemplo,"USD"
,"GBP"
- precio total : (
float
, requerido): un valor flotante que representa el precio.- artículos : (
Array[OmetriaBasketItem]
): una matriz que contiene las entradas de artículos en esta cesta.- enlace : (
String
): un enlace profundo a la página web o en la aplicación para esta cesta. Se puede utilizar en una notificación enviada al usuario, por ejemplo, "¿Olvidó realizar la compra? Aquí está su cesta para continuar: 'https://eg.com/basket_url'". Seguir ese enlace debería llevarlos directamente a la página de la cesta.
Realice un seguimiento de cuándo el usuario ha iniciado el proceso de pago. Actualmente, esto solo se usa para contar visitas a la página y no tiene ningún otro efecto en Ometria.
Ometria . trackCheckoutStartedEvent ( 'order_id' ) ;
El pedido ha sido completado y pagado:
const items : OmetriaBasketItem [ ] = [
{
productId : 'product-1' ,
sku : 'sku-product-1' ,
quantity : 1 ,
price : 12.0 ,
} ,
] ;
Ometria . trackOrderCompletedEvent ( 'order_id' , {
totalPrice : 12.0 ,
id : 'basket_id_eg' ,
currency : 'USD' ,
items ,
link : 'link_eg' ,
} ) ;
Utilice la guía para Manejar la interacción con notificaciones que contienen URL para realizar un seguimiento manual de este evento cuando tenga suficiente información sobre la pantalla (u otro destino) que abrirá la aplicación.
Ometria . trackDeepLinkOpenedEvent ( '/profile' , 'ProfileScreen' ) ;
El visitante ve la 'página de inicio' o pantalla de inicio de su aplicación.
Ometria . trackHomeScreenViewedEvent ( ) ;
El visitante hace clic/toca/ve/destaca o muestra interés en una lista de productos. Este tipo de pantalla incluye resultados de búsqueda, listados de productos en un grupo, categoría, colección o cualquier otra pantalla que presente una lista de productos.
Por ejemplo, una tienda vende ropa y el visitante toca "Calzado de mujer" para ver una lista de productos en esa categoría, o busca "jersey azul" y ve una lista de productos en esa categoría.
Este evento debe activarse en:
Ometria . trackProductListingViewedEvent ( ) ;
El seguimiento de las vistas de pantalla independientes de un visitante nos ayuda a realizar un seguimiento de su interacción con la aplicación, así como de dónde se encuentra en el recorrido.
Un evento análogo en un sitio web sería realizar un seguimiento de las visitas a páginas independientes.
Todas las pantallas comunes de comercio electrónico tienen su propio evento de nivel superior: cesta vista, lista de productos vistos, etc.
Su aplicación puede tener un tipo específico de página que sea útil para que los especialistas en marketing realicen un seguimiento de la interacción.
Por ejemplo, si está ejecutando una promoción y ver una pantalla específica indica interés en la promoción, algo que marketing podría querer seguir más adelante.
Para realizar un seguimiento de estas pantallas personalizadas, utilice el evento Pantalla vista :
Ometria . trackScreenViewedEvent ( 'OnboardingScreen' , { a : '1' , b : '2' } ) ;
Es posible que su aplicación tenga flujos o páginas específicos que sean de interés para el equipo de marketing.
Por ejemplo, Marketing podría querer enviar un correo electrónico o una notificación a cualquier usuario que se haya registrado para una promoción específica o haya interactuado con un botón o elemento específico de la aplicación.
Si envía un evento personalizado correspondiente a esa acción, podrán activar una campaña de automatización sobre él.
Consulte con el equipo de marketing los detalles específicos y lo que podrían necesitar. Especialmente si ya utilizan Ometria para el correo electrónico, conocerán las campañas de automatización y los eventos personalizados.
Ometria . trackCustomEvent ( 'my_custom_type' , { } ) ;
El SDK realiza un seguimiento automático de los siguientes eventos.
Inicializar el SDK es suficiente para aprovecharlos; no se requiere ninguna integración adicional (a menos que se indique lo contrario).
Evento | Descripción |
---|---|
Aplicación instalada | La aplicación acaba de instalarse. Por lo general, no se puede enviar cuando la aplicación está realmente instalada, sino que solo se envía la primera vez que se inicia la aplicación. |
Aplicación lanzada | Alguien acaba de lanzar la aplicación. |
Aplicación en primer plano | La aplicación ya se inició, pero estaba en segundo plano. Acaba de pasar a primer plano. |
Aplicación en segundo plano | La aplicación estaba en uso activo y acaba de pasar a segundo plano. |
Notificación recibida al salir de la aplicación | El sistema recibió una notificación push mientras la aplicación estaba en estado de cierre. (necesita una extensión del servicio de notificación en iOS) |
Ocurrió un error | Se produjo un error en el lado del cliente. Intentamos detectar cualquier problema con la carga útil de notificación real de nuestra parte, por lo que no esperamos ningún error que deba comunicarse a los usuarios finales. |
Para reducir el consumo de energía y ancho de banda, la biblioteca de Ometria no envía los eventos uno por uno a menos que usted así lo solicite.
En su lugar, compone lotes de eventos que se envían al backend durante el tiempo de ejecución de la aplicación cuando ocurre una de las siguientes situaciones:
pushtokenRefreshed
)notificationReceived
appForegrounded
appBackgrounded
Puede solicitar a la biblioteca que envíe todos los eventos restantes al backend cuando lo desee llamando a:
Ometria . flush ( ) ;
Puede borrar por completo todos los eventos que se han rastreado y que aún no se han eliminado.
Para hacer esto, llame al siguiente método:
Ometria . clear ( ) ;
Para ver qué eventos se capturaron, puede consultar los registros provenientes del SDK de Ometria, si el registro está habilitado. Puede filtrar por la palabra "Ometria". El SDK registra todos los eventos a medida que ocurren y también registra el vaciado, es decir, cuando se envían a la API de eventos móviles de Ometria. Cualquier error potencial con el envío (problemas de API o problemas de validación de eventos) también será visible aquí.
Ometria utiliza Firebase Cloud Messaging para enviar notificaciones automáticas a los dispositivos móviles.
Por lo tanto, tendrás que agregar 'React-Native Firebase' como una dependencia de Ometria, usando las siguientes líneas:
import firebase from '@react-native-firebase/app' ;
import messaging from '@react-native-firebase/messaging' ;
Para Android, siga el tutorial de Firebase ReactNative. Firebase para Android. Para iOS, siga el tutorial de Firebase ReactNative. Firebase para iOS.
Para utilizar notificaciones push, también debe seguir los pasos de la Guía ReactNative de notificaciones push.
Cuando se configura correctamente, Ometria puede enviar notificaciones personalizadas para su aplicación móvil.
Siga estos pasos:
Antes de continuar, ya debes tener configurado:
Lea más sobre esos pasos en la sección 4. Inicialice la biblioteca
Para Android 13 (nivel de API 33) y superiores, primero debes declarar el permiso en tu archivo AndroidManifest.xml:
< manifest ...>
< uses-permission android : name = " android.permission.POST_NOTIFICATIONS " />
< application ...>
...
</ application >
</ manifest >
Tienes que solicitar permisos para notificaciones. Puede utilizar permisos nativos de reacción.
import { requestNotifications , RESULTS } from 'react-native-permissions' ;
...
await requestNotifications ( [ 'alert' , 'sound' , 'badge' ] ) . then ( ( { status } ) => {
if ( status === RESULTS . GRANTED ) {
console . log ( '? Push Notification permissions granted!' ) ;
}
} ) ;
Encuentre más información sobre los permisos de tiempo de ejecución de notificaciones en Android aquí.
Después de la inicialización de Ometria, debes reenviar el token de notificación push de Firebase (tanto iOS como Android).
También debe reenviar el token de notificación push a Ometria cada vez que se actualiza.
import Ometria from 'react-native-ometria' ;
import messaging from '@react-native-firebase/messaging' ;
await Ometria . initializeWithApiToken ( 'API_KEY' , {
notificationChannelname : 'Example Channel Name' , // optional, only for Android
appGroupIdentifier : 'group.com.ometria.sampleRN' , // optional, only for iOS
} ) ;
messaging ( )
. getToken ( )
. then ( ( pushToken ) => Ometria . onNewToken ( pushToken ) ) ;
messaging ( ) . onTokenRefresh ( ( pushToken ) => Ometria . onNewToken ( pushToken ) ) ;
Suscríbase a los mensajes remotos que recibe su aplicación mientras está en estado de aplicación en primer plano. Puedes hacer esto usando el método onMessage
del paquete @react-native-firebase/messaging
.
En la devolución de llamada, puede usar Ometria.onNotificationReceived
para informar al SDK de Ometria que se recibió un mensaje remoto y que se activará el evento notificationReceived
. Utilice Ometria.parseNotification
si desea extraer datos de Ometria del mensaje remoto.
messaging ( ) . onMessage ( async ( remoteMessage ) => {
Ometria . onNotificationReceived ( remoteMessage ) ;
const ometriaData = Ometria . parseNotification ( remoteMessage ) ;
// Use ometriaData
} ) ;
Si implementa una solución personalizada de este tipo, no olvide llamar a Ometria.onNotificationOpenedApp
para permitir que el SDK con el que se ha interactuado con la notificación maneje el evento de interacción de notificación para notificaciones en primer plano.
Para que Ometria pueda realizar un seguimiento preciso de todas las notificaciones que se recibieron al cerrar y en segundo plano la aplicación en iOS, necesita aprovechar el poder de un servicio en segundo plano, que tenga acceso a todas las notificaciones.
Para obtener una guía completa sobre cómo configurar una extensión del servicio de notificación, consulte Agregar un destino de extensión del servicio de notificación.
Para que Ometria realice un seguimiento preciso de todas las notificaciones que se recibieron en el estado de cierre y en segundo plano de la aplicación en Android, debe suscribirse anticipadamente (en index.js
) a los mensajes remotos que recibe su aplicación mientras está en estado de cierre y en segundo plano.
Ometria.onAndroidBackgroundMessage
informará al SDK de Ometria que se ha recibido un mensaje remoto y se activará el evento NotificationReceived . Necesita el token de Ometria para inicializar el SDK en segundo plano.
Platform . OS === 'android' &&
messaging ( ) . setBackgroundMessageHandler ( async ( remoteMessage ) => {
Ometria . onAndroidBackgroundMessage ( {
ometriaToken : 'OMETRIA_KEY'
ometriaOptions : { } ,
remoteMessage ,
} ) ;
} ) ;
A partir de la versión 2.4.0, Ometria.setBackgroundMessageHandler
es un método obsoleto. Utilice Ometria.onAndroidBackgroundMessage
en su lugar.
Cuando un usuario interactúa con una notificación en segundo plano o en estado de salida, debe informar al SDK de Ometria que se ha interactuado con la notificación y que se ha abierto la aplicación. Puede hacerlo llamando Ometria.onNotificationOpenedApp
con el mensaje remoto como parámetro.
// Check if the app was opened from quit state by a notification
messaging ( )
. getInitialNotification ( )
. then ( ( remoteMessage ) => {
if ( remoteMessage ) {
Ometria . onNotificationOpenedApp ( remoteMessage ) ;
}
} ) ;
// Subscribe to the app being opened from background state by a notification
messaging ( ) . onNotificationOpenedApp ( ( remoteMessage ) =>
Ometria . onNotificationOpenedApp ( remoteMessage )
) ;
A partir de la versión 2.4.0, Ometria.onNotificationInteracted
es un método obsoleto. Utilice Ometria.onNotificationOpenedApp
en su lugar.
Ometria le permite enviar URL e información de seguimiento junto con sus notificaciones automáticas y le permite manejarlas en el dispositivo. Cuando una notificación abre la aplicación, puede analizar el mensaje remoto de notificación y verificar si contiene una URL de enlace profundo.
const notif = await Ometria . parseNotification ( remoteMessage ) ;
if ( notif ?. deepLinkActionUrl ) {
Ometria . trackDeepLinkOpenedEvent ( notif . deepLinkActionUrl , 'Browser' ) ;
Linking . openURL ( notif . deepLinkActionUrl ) ;
}
Ometria.parseNotification
devuelve un objeto con tipo OmetriaNotificationData
que se ve así:
type OmetriaNotificationData = {
campaignType?: 'trigger; // represents automation campaigns
deepLinkActionUrl?: string;
externalCustomerId?: string;
imageUrl?: string;
sendId?: string;
tracking: { // Can be overridden / added in your automation campaign's settings
utm_medium?: string; // default is "push"
utm_source: string;
utm_campaign: string; // generated from campaign hash and title
om_campagin: string; // generated from campaign hash, campaign version and node id
[key: string]: string | undefined; // additional tracking data you add
};
};
La Extensión del Servicio de Notificación tiene dos propósitos:
Para agregar la extensión, vaya a Archivo > Nuevo > Destino y seleccione Extensión del servicio de notificación > Siguiente .
Se muestra un nuevo elemento en su lista de objetivos:
A continuación, asegúrese de que el SDK de Ometria también esté disponible para este nuevo destino actualizando su podfile para incluir el destino recién agregado y especificando Ometria como una dependencia.
# move this line before the App target
pod 'GoogleUtilities' , : modular_headers => true
use_frameworks! :linkage => :static
target 'sampleApp' do
# Pods for sampleApp
end
# Add the following lines
target 'NotificationService' do
use_frameworks! :linkage => :static
pod 'Ometria'
end
En este punto, la aplicación principal y la extensión funcionan como dos entidades separadas y el único componente compartido es el código. Para que la extensión obtenga acceso de lectura y escritura a los datos relevantes para el SDK, debe estar en el mismo grupo de aplicaciones que el objetivo principal. Esto permitirá que el objetivo principal y la extensión compartan datos.
En su navegador de proyectos, seleccione su proyecto, luego vaya a Firma y capacidades y seleccione + Capacidad en la esquina superior izquierda.
Una vez que lo hayas hecho, se mostrará una nueva sección debajo de Firma. Le permitirá agregar un nuevo grupo de aplicaciones. Asegúrese de seleccionar un identificador relevante (por ejemplo, group.[BUNDLE_IDENTIFIER]
) y conserve el valor, ya que lo necesitará al crear una instancia de Ometria. Repita el proceso para el objetivo de la Extensión del Servicio de Notificación y estará listo para comenzar.
Para permitir que Ometria intercepte notificaciones, abra la clase NotificationService
que se creó automáticamente junto con la extensión y reemplace el contenido con lo siguiente:
import UserNotifications
import Ometria
class NotificationService : OmetriaNotificationServiceExtension {
override func instantiateOmetria ( ) -> Ometria ? {
Ometria . initializeForExtension ( appGroupIdentifier : " group.[BUNDLE_IDENTIFIER] " )
}
}
Finalmente, debes usar el identificador del grupo de aplicaciones al inicializar Ometria en la aplicación ReactNative.
import Ometria from 'react-native-ometria' ;
// Ometria init
await Ometria . initializeWithApiToken ( 'API_KEY' , {
notificationChannelName : 'Example Channel Name' , // optional, only for Android
appGroupIdentifier : 'group.[BUNDLE_IDENTIFIER]' , // optional, only for iOS
} ) ;
Ahora su aplicación emitirá un evento notificationReceived
cada vez que se reciba una notificación en estado de salida y podrá mostrar notificaciones de contenido enriquecido en iOS.
Para obtener un ejemplo completo y un caso de uso, consulte la aplicación de muestra.
Ometria envía correos electrónicos personalizados con URL que apuntan a su sitio web. Para abrir estas URL dentro de su aplicación, asegúrese de seguir esta guía.
Primero, asegúrese de tener un dominio de seguimiento de Ometria habilitado para SSL configurado para su cuenta. Es posible que ya tenga esto para sus campañas de correo electrónico, pero si no, pídale a su contacto de Ometria que configure una y él le proporcionará el dominio.
Siga la documentación de iOS para los dominios asociados, luego cree un archivo de asociación de sitio de aplicación de Apple y envíelo a su contacto de Ometria.
El último paso es procesar las URL en su aplicación y llevar al usuario a las secciones apropiadas de la aplicación. Tenga en cuenta que debe implementar el mapeo entre las URL de su sitio web y las pantallas de su aplicación.
Consulte también Vincular notificaciones push a pantallas de aplicaciones.
Si se trata de URL normales que apuntan a su sitio web, puede descomponerlas en diferentes componentes y parámetros de ruta. Esto le permitirá obtener la información necesaria para navegar a la pantalla correcta en su aplicación.
Para que ReactNative identifique que una URL está abriendo la aplicación, necesita ajustar el archivo AppDelegate.m desde la carpeta ios, agregue el siguiente código a AppDelegate.m desde ./ios/ProjectName
- ( BOOL )application:(UIApplication *)application openURL:( NSURL *)url
sourceApplication:( NSString *)sourceApplication annotation:( id )annotation
{
return [RCTLinkingManager application: application openURL: url
sourceApplication: sourceApplication annotation: annotation];
}
// Only if your app is using [Universal Links](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html).
- ( BOOL )application:(UIApplication *)application continueUserActivity:( NSUserActivity *)userActivity
restorationHandler:( void (^)( NSArray * _Nullable))restorationHandler
{
return [RCTLinkingManager application: application
continueUserActivity: userActivity
restorationHandler: restorationHandler];
}
Para Android, agregue lo siguiente:
< intent-filter android : autoVerify = " true " >
< action android : name = " android.intent.action.VIEW " />
< category android : name = " android.intent.category.DEFAULT " />
< category android : name = " android.intent.category.BROWSABLE " />
< data
android : host = " clickom.omdemo.net "
android : scheme = " https " />
</ intent-filter >
a /android/app/src/main/AndroidManifest.xml
Sin embargo, los correos electrónicos de Ometria contienen URL de seguimiento ofuscadas y es necesario volver a convertirlas a la URL original, que apunta a su sitio web, antes de poder acceder a ellas.