Skip to content

Configuration initiale du SDK

Cet article de référence explique comment installer le SDK Braze pour React Native. Installer le SDK React Native Braze offre une fonctionnalité d’analytique de base et vous permet d’intégrer des messages in-app et des cartes de contenu pour iOS et Android à l’aide d’une seule codebase.

Prérequis et compatibilité

Pour configurer ce SDK, React Native v0.71 ou une version ultérieure est requise. Pour obtenir la liste complète des versions prises en charge, consultez notre référentiel GitHub du SDK React Native.

Prise en charge de la nouvelle architecture de React Native

Utilisation de Braze avec la nouvelle architecture

Le SDK React Native de Braze est compatible avec toutes les applications utilisant la nouvelle architecture React Native à partir de la version 2.0.1+ du SDK.

À partir de la version 6.0.0 du SDK, une mise à niveau a été appliquée à Braze en interne avec un module Turbo React Native, qui peut toujours être utilisé avec la nouvelle architecture ou l’architecture de pont héritée. Étant donné que le module Turbo est rétrocompatible, aucune étape de migration n’est requise, à l’exception des changements majeurs mentionnés dans le journal des modifications et nécessitant React Native v0.70+.

Étape 1 : Intégrez la bibliothèque Braze

1
npm install @braze/react-native-sdk
1
yarn add @braze/react-native-sdk

Étape 2 : Configuration native complète

Étape 2.1 : Installer le plugin Braze Expo

Assurez-vous que votre version du SDK React Native de Braze correspond au minimum à 1.37.0. Puis, installez le plugin Braze Expo.

1
expo install @braze/expo-plugin

Étape 2.2 : Ajoutez le plug-in à votre app.json

Dans votre app.json, ajoutez le Plugin Braze Expo. Vous pouvez fournir les options de configuration suivantes :

Exemple de configuration :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
  "expo": {
    "plugins": [
      [
        "@braze/expo-plugin",
        {
          "androidApiKey": "YOUR-ANDROID-API-KEY",
          "iosApiKey": "YOUR-IOS-API-KEY",
          "baseUrl": "YOUR-SDK-ENDPOINT",
          "sessionTimeout": 60,
          "enableGeofence": false,
          "enableBrazeIosPush": false,
          "enableFirebaseCloudMessaging": false,
          "firebaseCloudMessagingSenderId": "YOUR-FCM-SENDER-ID",
          "androidHandlePushDeepLinksAutomatically": true,
          "enableSdkAuthentication": false,
          "logLevel": 0,
          "minimumTriggerIntervalInSeconds": 0,
          "enableAutomaticLocationCollection": false,
          "enableAutomaticGeofenceRequests": false,
          "dismissModalOnOutsideTap": true,
          "androidPushNotificationHtmlRenderingEnabled": true,
          "androidNotificationAccentColor": "#ff3344",
          "androidNotificationLargeIcon": "@drawable/custom_app_large_icon",
          "androidNotificationSmallIcon": "@drawable/custom_app_small_icon",
          "iosRequestPushPermissionsAutomatically": false,
          "enableBrazeIosPushStories": true,
          "iosPushStoryAppGroup": "group.com.example.myapp.PushStories"
        }
      ],
    ]
  }
}

Étape 2.3 : Créer et exécuter votre application

La pré-construction de votre application génère les fichiers natifs nécessaires au fonctionnement de Braze SDK.

1
expo prebuild

Exécutez votre application tel qu’indiqué dans la documentation Expo. Veuillez remarquer que les changements des options de configuration vont vous demander de précréer et d’exécuter à nouveau l’application.

Étape 2.1 : Ajouter notre référentiel

Dans votre projet de niveau supérieur build.gradle, ajoutez ce qui suit sous buildscript > dependencies:

1
2
3
4
5
6
7
buildscript {
    dependencies {
        ...
        // Choose your Kotlin version
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10")
    }
}

Cela ajoutera Kotlin à votre projet.

Étape 2.2 : Configurer le SDK Braze

Pour vous connecter aux serveurs Braze, créez un fichier braze.xml dans le dossier res/values de votre projet. Collez le code suivant et remplacez la clé API et le point de terminaison par vos valeurs :

1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="com_braze_api_key">YOU_APP_IDENTIFIER_API_KEY</string>
<string translatable="false" name="com_braze_custom_endpoint">YOUR_CUSTOM_ENDPOINT_OR_CLUSTER</string>
</resources>

Ajoutez les autorisations requises à votre fichier AndroidManifest.xml :

1
2
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Étape 2.3 : Implémentez le suivi de session utilisateur

Les appels vers openSession() et closeSession() sont gérées automatiquement. Ajoutez le code suivant à la méthode onCreate() de votre classe MainApplication :

1
2
3
4
5
6
7
8
import com.braze.BrazeActivityLifecycleCallbackListener;

@Override
public void onCreate() {
    super.onCreate();
    ...
    registerActivityLifecycleCallbacks(new BrazeActivityLifecycleCallbackListener());
}
1
2
3
4
5
6
7
import com.braze.BrazeActivityLifecycleCallbackListener

override fun onCreate() {
    super.onCreate()
    ...
    registerActivityLifecycleCallbacks(BrazeActivityLifecycleCallbackListener())
}

Étape 2.4 : Gérer les mises à jour d’intention

Si votre activité principale a android:launchMode défini sur singleTask, ajoutez le code suivant à votre classe MainActivity :

1
2
3
4
5
@Override
public void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
}
1
2
3
4
override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    setIntent(intent)
}

Étape 2.1 : (Facultatif) Configurer le Podfile pour les XCFrameworks dynamiques

Pour importer certaines bibliothèques Braze, telles que BrazeUI, dans un fichier Objective-C++, vous devrez utiliser la syntaxe #import. À partir de la version 7.4.0 du SDK Braze Swift, les binaires ont un canal de distribution facultatif sous forme de XCFrameworks dynamiques qui sont compatibles avec cette syntaxe.

Si vous souhaitez utiliser ce canal de distribution, remplacez manuellement les emplacements des sources CocoaPods dans votre Podfile. Référez-vous à l’exemple ci-dessous et remplacez {your-version} par la version pertinente que vous souhaitez importer :

1
2
3
pod 'BrazeKit', :podspec => 'https://raw.githubusercontent.com/braze-inc/braze-swift-sdk-prebuilt-dynamic/{your-version}/BrazeKit.podspec'
pod 'BrazeUI', :podspec => 'https://raw.githubusercontent.com/braze-inc/braze-swift-sdk-prebuilt-dynamic/{your-version}/BrazeUI.podspec'
pod 'BrazeLocation', :podspec => 'https://raw.githubusercontent.com/braze-inc/braze-swift-sdk-prebuilt-dynamic/{your-version}/BrazeLocation.podspec'

Étape 2.2 : Installer les pods

Comme React Native lie automatiquement les bibliothèques à la plateforme native, vous pouvez installer le SDK avec l’aide de CocoaPods.

Dans le dossier racine du projet :

1
2
3
4
5
# To install using the React Native New Architecture
cd ios && RCT_NEW_ARCH_ENABLED=1 pod install

# To install using the React Native legacy architecture
cd ios && pod install

Étape 2.3 : Configurer le SDK Braze

Ajoutez le SDK Braze en haut du fichier AppDelegate.swift :

1
import BrazeKit

Dans la méthode application(_:didFinishLaunchingWithOptions:), remplacez la clé API et le point de terminaison par les valeurs de votre application. Ensuite, créez l’instance Braze à l’aide de la configuration et créez une propriété statique sur AppDelegate pour un accès facile :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
    // Setup Braze
    let configuration = Braze.Configuration(
        apiKey: "{BRAZE_API_KEY}",
        endpoint: "{BRAZE_ENDPOINT}")
    // Enable logging and customize the configuration here.
    configuration.logger.level = .info
    let braze = BrazeReactBridge.perform(
      #selector(BrazeReactBridge.initBraze(_:)),
      with: configuration
    ).takeUnretainedValue() as! Braze

    AppDelegate.braze = braze

    /* Other configuration */

    return true
}

// MARK: - AppDelegate.braze

static var braze: Braze? = nil

Ajoutez le SDK Braze en haut du fichier AppDelegate.m :

1
2
#import <BrazeKit/BrazeKit-Swift.h>
#import "BrazeReactBridge.h"

Dans la méthode application:didFinishLaunchingWithOptions:, remplacez la clé API et le point de terminaison par les valeurs de votre application. Ensuite, créez l’instance Braze à l’aide de la configuration et créez une propriété statique sur AppDelegate pour un accès facile :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  // Setup Braze
  BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"{BRAZE_API_KEY}"
                                                                    endpoint:@"{BRAZE_ENDPOINT}"];
  // Enable logging and customize the configuration here.
  configuration.logger.level = BRZLoggerLevelInfo;
  Braze *braze = [BrazeReactBridge initBraze:configuration];
  AppDelegate.braze = braze;

  /* Other configuration */

  return YES;
}

#pragma mark - AppDelegate.braze

static Braze *_braze = nil;

+ (Braze *)braze {
  return _braze;
}

+ (void)setBraze:(Braze *)braze {
  _braze = braze;
}

Étape 3 : Utilisation

Une fois installé, vous pouvez import la bibliothèque dans votre code React Native :

1
import Braze from "@braze/react-native-sdk";

Pour plus d’informations, consultez notre exemple de projet.

Testez votre intégration de base

À ce stade, vous pouvez vérifier que le SDK est intégré en vérifiant les statistiques de session dans le tableau de bord. Si vous exécutez votre application sur l’une ou l’autre plateforme, vous devriez voir une nouvelle session dans le tableau de bord (dans la section Aperçu ).

Vous pouvez démarrer une session pour un utilisateur particulier en appelant le code suivant dans votre application.

1
Braze.changeUser("userId");

Par exemple, vous pouvez attribuer l’ID utilisateur au démarrage de l’application :

1
2
3
4
5
6
7
8
9
10
11
12
13
import React, { useEffect } from "react";
import Braze from "@braze/react-native-sdk";

const App = () => {
  useEffect(() => {
    Braze.changeUser("some-user-id");
  }, []);

  return (
    <div>
      ...
    </div>
  )

Vous pouvez ensuite rechercher l’utilisateur avec some-user-id dans le tableau de bord sous Recherche d’utilisateur. Vous pouvez y vérifier que les données de session et d’appareil ont été enregistrées.

CETTE PAGE A-T-ELLE ÉTÉ UTILE?
New Stuff!