Guide d'intégration de base du SDK React Native
Cette section contient des informations sur la manière d’intégrer le SDK Pushwoosh React Native dans votre application.
Prérequis
Anchor link toPour intégrer le SDK Pushwoosh React Native dans votre application, vous aurez besoin des éléments suivants :
Étapes d’intégration
Anchor link to1. Ajouter la dépendance du SDK Pushwoosh React Native
Anchor link toAjoutez la dépendance du SDK Pushwoosh React Native à votre projet :
npm install pushwoosh-react-native-plugin --save2. Initialisation du SDK React Native
Anchor link toDans le composant racine de votre fichier index.js :
- Importez le
pushwoosh-react-native-plugin. - Initialisez le SDK Pushwoosh.
- Appelez
register()dans votre logique d’initialisation pour vous enregistrer aux notifications push.
import Pushwoosh from 'pushwoosh-react-native-plugin';
AppRegistry.registerComponent(appName, () => App);
Pushwoosh.init({ "pw_appid" : "__YOUR_APP_ID__"});
Pushwoosh.register();Où :
__YOUR_APP_ID__est le code de l’application provenant du panneau de contrôle Pushwoosh.
3. Configuration native iOS
Anchor link to3.1 Capacités
Anchor link toPour activer les notifications push dans votre projet, vous devez ajouter certaines capacités.
Dans la section Signing & Capabilities, ajoutez les capacités suivantes :
Push NotificationsBackground Modes. Après avoir ajouté cette capacité, cochez la caseRemote notifications.
Si vous avez l’intention d’utiliser les notifications urgentes (Time Sensitive Notifications) (iOS 15+), ajoutez également la capacité Time Sensitive Notifications.
3.2 Info.plist
Anchor link toDans votre Runner/Info.plist, définissez la clé __PUSHWOOSH_DEVICE_API_TOKEN__ sur le token d’API de l’appareil Pushwoosh :
<key>Pushwoosh_API_TOKEN</key><string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>3.3 Suivi de la livraison des messages
Anchor link toVous devez ajouter une cible d’extension de service de notification (Notification Service Extension) à votre projet. C’est essentiel pour un suivi précis de la livraison et pour des fonctionnalités comme les Rich Media sur iOS.
Suivez les étapes du guide natif pour ajouter la cible d’extension et le code Pushwoosh nécessaire à l’intérieur.
3.4 Installation des dépendances pour le projet iOS React Native
Anchor link toPour installer les dépendances du projet iOS React Native, naviguez vers le dossier ios dans le terminal et exécutez :
pod install --repo-update4. Configuration native Android
Anchor link to4.1 Installer les dépendances
Anchor link toAssurez-vous que les dépendances et les plugins requis sont ajoutés à vos scripts Gradle :
Ajoutez le plugin Gradle des services Google à vos dépendances build.gradle au niveau du projet :
buildscript { dependencies { classpath 'com.google.gms:google-services:4.3.15' }}Appliquez le plugin dans votre fichier build.gradle au niveau de l’application :
apply plugin: 'com.google.gms.google-services'4.2 Ajouter le fichier de configuration Firebase
Anchor link toPlacez le fichier google-services.json dans le dossier android/app de votre répertoire de projet.
4.3 Ajouter les métadonnées Pushwoosh
Anchor link toDans votre main/AndroidManifest.xml, ajoutez le token d’API de l’appareil Pushwoosh à l’intérieur de la balise <application> :
<meta-data android:name="com.pushwoosh.apitoken" android:value="__YOUR_DEVICE_API_TOKEN__" />Important : Assurez-vous de donner au token l’accès à la bonne application dans votre panneau de contrôle Pushwoosh. En savoir plus
5. Exécuter le projet
Anchor link to- Compilez et exécutez le projet.
- Allez dans le panneau de contrôle Pushwoosh et envoyez une notification push.
- Vous devriez voir la notification dans l’application.
Intégration étendue
Anchor link toÀ ce stade, vous avez déjà intégré le SDK et pouvez envoyer et recevoir des notifications push. Explorons maintenant les fonctionnalités de base.
Écouteurs d’événements de notification push
Anchor link toDans le SDK Pushwoosh, il y a deux écouteurs d’événements, conçus pour gérer les notifications push :
- L’événement
pushReceivedest déclenché lorsqu’une notification push est reçue. - L’événement
pushOpenedest déclenché lorsqu’un utilisateur ouvre une notification.
Vous devez configurer ces écouteurs d’événements juste après l’initialisation du SDK au démarrage de l’application :
import {DeviceEventEmitter} from 'react-native'import Pushwoosh from 'pushwoosh-react-native-plugin';
class PushwooshNotificationHandler { setupPushListeners() {
DeviceEventEmitter.addListener('pushReceived', (e) => { console.warn("Push received: " + JSON.stringify(e)); });
DeviceEventEmitter.addListener('pushOpened', (e) => { console.warn("Push accepted: " + JSON.stringify(e)); });
}}Configuration de l’utilisateur
Anchor link toEn vous concentrant sur le comportement et les préférences individuels des utilisateurs, vous pouvez fournir un contenu personnalisé, ce qui entraîne une satisfaction et une fidélité accrues des utilisateurs.
import Pushwoosh from 'pushwoosh-react-native-plugin';
class Registration { afterUserLogin(user: User) {
// Set user ID Pushwoosh.setUserId(user.getId());
// Set user email Pushwoosh.setEmails(user.getEmailList());
// Set user ID and email in a single call Pushwoosh.setUserEmails(user.getId(), user.getEmailList());
// Set user SMS number Pushwoosh.registerSMSNumber(user.getPhoneNumber());
// Set user WhatsApp number Pushwoosh.registerWhatsappNumber(user.getWhatsAppNumber());
// Setting additional user information as tags for Pushwoosh Pushwoosh.setTags({ "age": user.getAge(), "name": user.getName(), "last_login": user.getLastLoginDate() }); }}Tags
Anchor link toLes tags sont des paires clé-valeur attribuées aux utilisateurs ou aux appareils, permettant une segmentation basée sur des attributs tels que les préférences ou le comportement, ce qui permet un envoi de messages ciblé.
import Pushwoosh from 'pushwoosh-react-native-plugin';
class UpdateUser { afterUserUpdateProfile(user: User) {
// Set list of favorite categories Pushwoosh.setTags({ "favorite_categories": user.getFavoriteCategoriesList() });
// Set payment information Pushwoosh.setTags({ "is_subscribed": user.isSubscribed(), "payment_status": user.getPaymentStatus(), "billing_address": user.getBillingAddress() }); }}Événements
Anchor link toLes événements sont des actions ou des occurrences spécifiques de l’utilisateur au sein de l’application qui peuvent être suivies pour analyser le comportement et déclencher des messages ou des actions correspondants.
import Pushwoosh from 'pushwoosh-react-native-plugin';
class Registration {
// Track login event afterUserLogin(user: User) { Pushwoosh.postEvent("login", { "name": user.getName(), "last_login": user.getLastLoginDate() }); }
// Track purchase event afterUserPurchase(product: Product) { Pushwoosh.postEvent("purchase", { "product_id": product.getId(), "product_name": product.getName(), "price": product.getPrice(), "quantity": product.getQuantity() }); }}Dépannage
Anchor link toSi vous rencontrez des problèmes pendant le processus d’intégration, veuillez vous référer à la section support et communauté.