Ometria aide votre service marketing à comprendre et à mieux interagir avec vos clients en leur envoyant des e-mails personnalisés et des notifications push.
L'application a deux objectifs clés :
Pour votre application mobile, cela signifie :
Les développeurs d'applications intégrant ce SDK doivent suivre le guide ci-dessous. Vous pouvez également consulter l’exemple d’application que nous avons inclus pour une implémentation de référence.
Consultez Configuration de votre application mobile avec les informations d'identification Firebase dans le centre d'aide Ometria et suivez les étapes indiquées pour obtenir une clé API.
Le moyen le plus simple d'intégrer Ometria dans votre projet ReactNative consiste à utiliser npm install
ou yarn add
.
react-native-ometria
à l'aide de npm install react-native-ometria
yarn add react-native-ometria
Remarque : Si vous rencontrez des problèmes lors de l'installation de la bibliothèque, veuillez envisager d'exclure l'exemple de la configuration TypeScript, par exemple :
{
...,
"exclude": ["example"]
}
Pour iOS
vous devez installer pod install
Pods pour créer un miroir de spécifications CocoaPods local.
Si vous rencontrez The Swift pod 'Ometria' depends upon 'FirebaseMessaging'
lors de l'exécution de l'installation du pod, veuillez envisager d'ajouter use_frameworks! :linkage => :static
.
Pour initialiser le SDK Ometria, vous devez saisir la clé API de 2. Avant de commencer .
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
} ) ;
Depuis la version 2.3.0, le SDK permet la réinitialisation de l'instance Ometria. Vous pourrez donc rappeler cette méthode plus tard dans l’application si vous en avez besoin.
Vous pouvez spécifier un nom personnalisé pour le canal de notification Android dans le deuxième paramètre d'options facultatif. Le nom de canal par défaut est <blank>
.
Vous pouvez également spécifier un identifiant de groupe d'applications dans le deuxième paramètre d'options facultatif. Consultez cette section pour iOS.
Ometria enregistre par défaut toutes les erreurs rencontrées lors de l'exécution, ces journaux sont accessibles dans la console de votre environnement de développement.
Vous pouvez activer la journalisation avancée si vous souhaitez plus d'informations sur ce qui se passe en arrière-plan. Ajoutez simplement la ligne suivante après avoir initialisé la bibliothèque :
Ometria . isLoggingEnabled ( true ) ;
Vous devez être conscient du comportement de vos utilisateurs sur vos plateformes afin de les comprendre. Certains comportements sont automatiquement détectables, d'autres événements nécessitent le travail du développeur de l'application pour être suivis.
Beaucoup de ces méthodes ont des événements analogues dans notre outil de suivi de site Web.
Par exemple, l'événement identifié par le client prend un identifiant client ou un e-mail - ces identifiants doivent être les mêmes ici que dans l'API de données. Si vous spécifiez à la fois l'adresse e-mail et l'identifiant client, les deux doivent correspondre.
Les événements sont fusionnés du côté d'Ometria en une seule vue multicanal du comportement de vos clients. Si vous utilisez des identifiants de courrier électronique/client incohérents, cela pourrait entraîner la création de profils en double ou une perte de données.
Une fois le SDK initialisé, vous pouvez suivre un événement en appelant sa méthode dédiée.
Un utilisateur de l'application vient de s'identifier, c'est-à-dire de se connecter.
Ometria . trackProfileIdentifiedByCustomerIdEvent ( 'test_customer_id' ) ;
Leur identifiant client est leur identifiant utilisateur dans votre base de données.
Parfois, un utilisateur fournit uniquement son adresse e-mail sans se connecter complètement ni avoir de compte. Dans ce cas, Ometria peut faire correspondre le profil en fonction du courrier électronique :
Ometria . trackProfileIdentifiedByEmailEvent ( '[email protected]' ) ;
Avoir un customerId rend la correspondance de profil plus robuste.
Ce n'est pas incompatible avec l'envoi d'un événement par courrier électronique ; pour une intégration optimale, vous devez envoyer l'un ou l'autre événement dès que vous disposez des informations. Ces deux événements sont essentiels au fonctionnement du SDK, alors assurez-vous de les envoyer le plus tôt possible. Rappelons ici que ces identifiants doivent être ici les mêmes que ceux que vous utilisez dans votre plateforme e-commerce et que vous envoyez à Ometria (via l'API data ou autres moyens). Si vous spécifiez à la fois l'adresse e-mail et l'identifiant client, les deux doivent correspondre. Une erreur typique que nous constatons lors des intégrations est que l'application génère un nouvel identifiant client à chaque connexion (qui ne correspond pas à l'identifiant client stocké dans Ometria). Pour éviter cela, générez ces identifiants de manière centralisée sur vos serveurs et envoyez-en des cohérents via le SDK mobile Ometria et l'API Ometria Data. S'il n'est pas pratique de générer des identifiants cohérents, nous vous suggérons d'utiliser uniquement le courrier électronique pour identifier les contacts.
Annuler un événement profileIdentified. Vous pouvez l'utiliser si un utilisateur se déconnecte.
Ometria . trackProfileDeidentifiedEvent ( ) ;
Actuellement, cet événement efface les identifiants stockés (e-mail et/ou identifiant client) de la mémoire locale du téléphone. Cela n’a aucun autre effet au sein d’Ometria.
Un visiteur clique/appuie/voit/met en surbrillance ou montre autrement son intérêt pour un produit.
Par exemple, le visiteur recherche un terme et sélectionne l'un des aperçus de produits parmi un ensemble de résultats, ou parcourt une catégorie de vêtements et clique sur une chemise spécifique pour voir une image plus grande.
Cet événement vise à capter l'intérêt du visiteur pour ce produit.
Ometria . trackProductViewedEvent ( 'product_id' ) ;
Le visiteur a consulté une page, un écran ou un modal dédié avec le contenu du panier :
Ometria . trackBasketViewedEvent ( ) ;
Le visiteur a modifié son panier :
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' ,
} ) ;
Cet événement prend comme paramètre le panier actuel complet - pas seulement les pièces mises à jour.
Cela permet de récupérer des événements de panier perdus ou désynchronisés : la dernière mise à jour fait toujours autorité.
OmetriaBasketItem est un objet qui décrit le contenu d'un article du panier. Il peut avoir son propre prix et sa propre quantité en fonction des différentes règles et promotions appliquées. Il possède les propriétés suivantes :
- productId : (
String
, obligatoire) - Une chaîne représentant l'identifiant unique de ce produit.- sku : (
String
, facultatif) - Une chaîne représentant l'unité de gestion des stocks, qui permet d'identifier un article particulier.- quantité : (
Int
, obligatoire) - Le nombre d'éléments que cette entrée représente.- price : (
Float
, obligatoire) - Valeur flottante représentant le prix d'un article. La devise est établie par l'OmetriaBasket contenant cet élément- variandId : (
String
, facultatif) : identifiant d'une variante de produit associée à cet élément de ligne.
OmetriaBasket est un objet qui décrit le contenu d'un panier et possède les propriétés suivantes :
- id : (
String
, facultatif) - Un identifiant unique pour ce panier- devise : (
String
, obligatoire) - Une chaîne représentant la devise dans le code de devise à trois lettres ISO 4217, par exemple"USD"
,"GBP"
- totalPrice : (
float
, obligatoire) - Une valeur flottante représentant le prix.- items : (
Array[OmetriaBasketItem]
) - Un tableau contenant les entrées d'articles dans ce panier.- link : (
String
) - Un lien profond vers la page Web ou intégrée à l'application pour ce panier. Peut être utilisé dans une notification envoyée à l'utilisateur, par exemple « Vous avez oublié de payer ? Voici votre panier pour continuer : 'https://eg.com/basket_url' ». Suivre ce lien devrait les amener directement à la page du panier.
Suivez le moment où l'utilisateur a commencé le processus de paiement. Ceci n'est actuellement utilisé que pour compter les pages vues et n'a aucun autre effet dans Ometria.
Ometria . trackCheckoutStartedEvent ( 'order_id' ) ;
La commande a été finalisée et payée :
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' ,
} ) ;
Utilisez le guide pour Gérer l'interaction avec les notifications contenant des URL pour suivre manuellement cet événement lorsque vous disposez de suffisamment d'informations concernant l'écran (ou une autre destination) que l'application ouvrira.
Ometria . trackDeepLinkOpenedEvent ( '/profile' , 'ProfileScreen' ) ;
Le visiteur consulte la « page d'accueil » ou l'écran de destination de votre application.
Ometria . trackHomeScreenViewedEvent ( ) ;
Le visiteur clique/appuye/voit/met en surbrillance ou montre autrement son intérêt pour une liste de produits. Ce type d'écran comprend les résultats de recherche, les listes de produits dans un groupe, une catégorie, une collection ou tout autre écran présentant une liste de produits.
Par exemple, un magasin vend des vêtements et le visiteur appuie sur « Chaussures pour femmes » pour voir une liste de produits dans cette catégorie, ou il recherche « pull bleu » et voit une liste de produits dans cette catégorie.
Cet événement doit être déclenché sur :
Ometria . trackProductListingViewedEvent ( ) ;
Le suivi des vues d'écran indépendantes d'un visiteur nous aide à suivre son engagement avec l'application, ainsi que l'endroit où il se trouve dans son parcours.
Un événement analogue sur un site Web consisterait à suivre les pages vues indépendamment.
Les écrans eCommerce courants ont tous leur propre événement de premier niveau : panier consulté, liste des produits consultés, etc.
Votre application peut avoir un type de page spécifique qui est utile aux spécialistes du marketing pour suivre l'engagement.
Par exemple, si vous organisez une promotion et que l'affichage d'un écran spécifique indique un intérêt pour la promotion, le marketing pourrait vouloir y donner suite plus tard.
Pour suivre ces écrans personnalisés, utilisez l'événement Écran affiché :
Ometria . trackScreenViewedEvent ( 'OnboardingScreen' , { a : '1' , b : '2' } ) ;
Votre application peut comporter des flux ou des pages spécifiques qui intéressent l'équipe marketing.
Par exemple, le marketing peut vouloir envoyer un e-mail ou une notification à tout utilisateur qui s'est inscrit à une promotion spécifique ou qui a interagi avec un bouton ou un élément spécifique de l'application.
Si vous envoyez un événement personnalisé correspondant à cette action, ils pourront déclencher une campagne d'automatisation sur celui-ci.
Vérifiez auprès de l’équipe marketing les détails et ce dont elle pourrait avoir besoin. Surtout s'ils utilisent déjà Ometria pour le courrier électronique, ils connaîtront les campagnes d'automatisation et les événements personnalisés.
Ometria . trackCustomEvent ( 'my_custom_type' , { } ) ;
Les événements suivants sont automatiquement suivis par le SDK.
Il suffit d'initialiser le SDK pour en profiter ; aucune intégration supplémentaire n'est requise (sauf indication contraire).
Événement | Description |
---|---|
Application installée | L'application vient d'être installée. Ne peut généralement pas être envoyé lorsque l'application est réellement installée, mais uniquement lors du premier lancement de l'application. |
Application lancée | Quelqu'un vient de lancer l'application. |
Demande mise au premier plan | L'application était déjà lancée, mais elle était en arrière-plan. Il vient d'être mis au premier plan. |
Application en arrière-plan | L'application était en cours d'utilisation et vient d'être envoyée en arrière-plan. |
Notification reçue lorsque l'application est fermée | Une notification Push a été reçue par le système alors que l'application était à l'état fermé. (nécessite une extension du service de notification sur iOS) |
Une erreur s'est produite | Une erreur s'est produite côté client. Nous essayons de détecter tout problème avec la charge utile de notification réelle de notre côté, nous ne nous attendons donc pas à ce que des erreurs doivent être renvoyées aux utilisateurs finaux. |
Afin de réduire la consommation d'énergie et de bande passante, la bibliothèque Ometria n'envoie pas les événements un par un sauf si vous le lui demandez.
Au lieu de cela, il compose des lots d'événements qui sont envoyés au backend pendant l'exécution de l'application lorsque l'un des événements suivants se produit :
pushtokenRefreshed
)notificationReceived
appForegrounded
appBackgrounded
Vous pouvez demander à la bibliothèque d'envoyer tous les événements restants au backend quand vous le souhaitez en appelant :
Ometria . flush ( ) ;
Vous pouvez effacer complètement tous les événements qui ont été suivis et non encore vidés.
Pour ce faire, appelez la méthode suivante :
Ometria . clear ( ) ;
Pour voir quels événements ont été capturés, vous pouvez vérifier les journaux provenant du SDK Ometria, si la journalisation est activée. Vous pouvez filtrer pour le mot « Ometria ». Le SDK enregistre tous les événements au fur et à mesure qu'ils se produisent, ainsi que le vidage, c'est-à-dire lorsqu'ils sont envoyés à l'API d'événements mobiles Ometria. Toutes les erreurs potentielles lors de l'envoi (problèmes d'API ou problèmes de validation d'événement) seraient également visibles ici.
Ometria utilise Firebase Cloud Messaging pour envoyer des notifications push aux appareils mobiles.
Vous devrez donc ajouter 'React-Native Firebase' comme dépendance d'Ometria, en utilisant les lignes suivantes :
import firebase from '@react-native-firebase/app' ;
import messaging from '@react-native-firebase/messaging' ;
Pour Android suivez le tutoriel Firebase ReactNative Firebase pour Android Pour iOS suivez le tutoriel Firebase ReactNative Firebase pour iOS
Pour utiliser les notifications push, vous devez également suivre les étapes du Guide ReactNative des notifications push
Lorsqu'elle est correctement configurée, Ometria peut envoyer des notifications personnalisées pour votre application mobile.
Suivez ces étapes :
Avant de continuer, vous devez avoir déjà configuré :
En savoir plus sur ces étapes dans la section 4. Initialiser la bibliothèque
Pour Android 13 (API niveau 33) et supérieur, vous devez d'abord déclarer l'autorisation dans votre fichier AndroidManifest.xml :
< manifest ...>
< uses-permission android : name = " android.permission.POST_NOTIFICATIONS " />
< application ...>
...
</ application >
</ manifest >
Vous devez demander des autorisations pour les notifications. Vous pouvez utiliser les autorisations natives de réaction.
import { requestNotifications , RESULTS } from 'react-native-permissions' ;
...
await requestNotifications ( [ 'alert' , 'sound' , 'badge' ] ) . then ( ( { status } ) => {
if ( status === RESULTS . GRANTED ) {
console . log ( '? Push Notification permissions granted!' ) ;
}
} ) ;
Apprenez-en davantage sur les autorisations d’exécution des notifications sur Android ici.
Après l'initialisation d'Ometria, vous devez transférer le jeton de notification Firebase Push (iOS et Android).
Vous devez également transmettre le jeton de notification push à Ometria à chaque fois qu'il est actualisé.
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 ) ) ;
Abonnez-vous aux messages distants que votre application reçoit lorsqu'elle est en état d'application au premier plan. Vous pouvez le faire en utilisant la méthode onMessage
du package @react-native-firebase/messaging
.
Dans le rappel, vous pouvez utiliser Ometria.onNotificationReceived
pour informer le SDK Ometria qu'un message distant a été reçu et que l'événement notificationReceived
sera déclenché. Utilisez Ometria.parseNotification
si vous souhaitez extraire les données Ometria du message distant.
messaging ( ) . onMessage ( async ( remoteMessage ) => {
Ometria . onNotificationReceived ( remoteMessage ) ;
const ometriaData = Ometria . parseNotification ( remoteMessage ) ;
// Use ometriaData
} ) ;
Si vous implémentez une telle solution personnalisée, n'oubliez pas d'appeler Ometria.onNotificationOpenedApp
pour permettre au SDK avec lequel la notification a interagi lors de la gestion de l'événement d'interaction de notification pour les notifications de premier plan.
Pour qu'Ometria puisse suivre avec précision toutes les notifications reçues en état de fermeture et en arrière-plan de l'application sur iOS, elle doit exploiter la puissance d'un service en arrière-plan, qui a accès à toutes les notifications.
Pour obtenir un guide complet sur la configuration d’une extension du service de notification, consultez Ajout d’une cible d’extension du service de notification.
Pour qu'Ometria puisse suivre avec précision toutes les notifications reçues en état de fermeture et en arrière-plan de l'application sur Android, vous devez vous abonner tôt (dans index.js
) aux messages distants que votre application reçoit lorsqu'elle est en état de fermeture et en arrière-plan.
Ometria.onAndroidBackgroundMessage
informera le SDK Ometria qu'un message distant a été reçu et l'événement notificationReceived sera déclenché. Il a besoin du jeton Ometria pour initialiser le SDK en arrière-plan.
Platform . OS === 'android' &&
messaging ( ) . setBackgroundMessageHandler ( async ( remoteMessage ) => {
Ometria . onAndroidBackgroundMessage ( {
ometriaToken : 'OMETRIA_KEY'
ometriaOptions : { } ,
remoteMessage ,
} ) ;
} ) ;
Depuis la version 2.4.0, Ometria.setBackgroundMessageHandler
est une méthode obsolète. Utilisez plutôt Ometria.onAndroidBackgroundMessage
.
Lorsqu'un utilisateur interagit avec une notification en arrière-plan ou à l'état de fermeture, vous devez informer le SDK Ometria que la notification a été interagi et que l'application a été ouverte. Vous pouvez le faire en appelant Ometria.onNotificationOpenedApp
avec le message distant comme paramètre.
// 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 )
) ;
Depuis la version 2.4.0, Ometria.onNotificationInteracted
est une méthode obsolète. Utilisez plutôt Ometria.onNotificationOpenedApp
.
Ometria vous permet d'envoyer des URL et des informations de suivi avec vos notifications push et vous permet de les gérer sur l'appareil. Lorsqu'une notification ouvre l'application, vous pouvez analyser le message de notification à distance et vérifier s'il contient une URL de lien profond.
const notif = await Ometria . parseNotification ( remoteMessage ) ;
if ( notif ?. deepLinkActionUrl ) {
Ometria . trackDeepLinkOpenedEvent ( notif . deepLinkActionUrl , 'Browser' ) ;
Linking . openURL ( notif . deepLinkActionUrl ) ;
}
Ometria.parseNotification
renvoie un objet avec le type OmetriaNotificationData
qui ressemble à ceci :
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
};
};
L'extension du service de notification a deux objectifs :
Pour ajouter l'extension, accédez à File > New > Target et sélectionnez Notification Service Extension > Next .
Un nouvel élément s'affiche dans votre liste de cibles :
Ensuite, assurez-vous que le SDK Ometria est également disponible pour cette nouvelle cible en mettant à jour votre fichier pod pour inclure votre cible nouvellement ajoutée et en spécifiant Ometria comme dépendance.
# 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
À ce stade, l'application principale et l'extension fonctionnent comme deux entités distinctes, le seul composant partagé étant le code. Pour que l’extension obtienne un accès en lecture et en écriture aux données pertinentes pour le SDK, elle doit se trouver dans le même groupe d’applications que la cible principale. Cela permettra à la cible principale et à l’extension de partager des données.
Dans votre navigateur de projet, sélectionnez votre projet, puis accédez à Signature et capacités et sélectionnez + Capacité dans le coin supérieur gauche.
Une fois que vous l'aurez fait, une nouvelle section s'affichera sous Signature. Cela vous permettra d'ajouter un nouveau groupe d'applications. Assurez-vous de sélectionner un identifiant pertinent (par exemple group.[BUNDLE_IDENTIFIER]
) et de conserver la valeur, car vous en aurez besoin lors de l'instanciation d'Ometria. Répétez le processus pour la cible de l’extension du service de notification et vous devriez être prêt à partir.
Pour permettre à Ometria d'intercepter les notifications, ouvrez la classe NotificationService
qui a été automatiquement créée avec l'extension et remplacez le contenu par ce qui suit :
import UserNotifications
import Ometria
class NotificationService : OmetriaNotificationServiceExtension {
override func instantiateOmetria ( ) -> Ometria ? {
Ometria . initializeForExtension ( appGroupIdentifier : " group.[BUNDLE_IDENTIFIER] " )
}
}
Enfin, vous devez utiliser l'identifiant du groupe d'applications lors de l'initialisation d'Ometria dans l'application 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
} ) ;
Désormais, votre application émettra un événement notificationReceived
chaque fois qu'une notification est reçue à l'état quitté et vous pourrez afficher des notifications de contenu riche sur iOS.
Pour un exemple complet et un cas d’utilisation, veuillez consulter l’application exemple.
Ometria envoie des e-mails personnalisés avec des URL qui pointent vers votre site Web. Afin d'ouvrir ces URL dans votre application, assurez-vous de suivre ce guide.
Tout d’abord, assurez-vous d’avoir configuré un domaine de suivi Ometria compatible SSL pour votre compte. Vous l'avez peut-être déjà pour vos campagnes par e-mail, mais sinon, demandez à votre contact Ometria d'en créer un, et il devrait vous fournir le domaine.
Veuillez suivre la documentation iOS pour les domaines associés, puis créer un fichier d'association de site d'application Apple et l'envoyer à votre contact Ometria.
La dernière étape consiste à traiter les URL dans votre application et à diriger l'utilisateur vers les sections appropriées de l'application. Notez que vous devez mettre en œuvre le mappage entre les URL de votre site Web et les écrans de votre application.
Voir également Lier les notifications push aux écrans des applications.
Si vous avez affaire à des URL normales pointant vers votre site Web, vous pouvez les décomposer en différents composants et paramètres de chemin. Cela vous permettra de trouver les informations requises pour accéder au bon écran dans votre application.
Pour que ReactNative identifie qu'une URL ouvre l'application, vous devez ajuster le fichier AppDelegate.m du dossier iOS, ajoutez le code suivant à AppDelegate.m à partir de ./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];
}
Pour Android, veuillez ajouter ce qui suit :
< 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 >
vers /android/app/src/main/AndroidManifest.xml
Cependant, les e-mails d'Ometria contiennent des URL de suivi obscurcies, et celles-ci doivent être reconverties en l'URL d'origine, pointant vers votre site Web, avant que vous puissiez y accéder.