Passer au contenu

Guide d'intégration de base du SDK Unity

Cette section contient des informations sur la manière d’intégrer le SDK Pushwoosh pour Unity dans votre application.

Prérequis

Anchor link to

Pour intégrer le SDK Pushwoosh pour Unity dans votre application, vous aurez besoin des éléments suivants :

Étapes d’intégration

Anchor link to

1. Ajouter la dépendance du SDK Pushwoosh pour Unity

Anchor link to

Importez le plugin de notification push pour Unity dans votre dossier Assets dans Unity.

2. Initialisation du SDK Unity

Anchor link to

Créez le script PushNotificator.cs et attachez-le à l’objet Camera Object dans la scène. Dans le script :

  • Initialisez le SDK Pushwoosh avec le code d’application et le numéro de projet Firebase.
  • Appelez RegisterForPushNotifications() dans votre logique d’initialisation pour vous enregistrer aux notifications push.
  • Ajoutez des gestionnaires d’événements d’enregistrement pour gérer les événements d’enregistrement push :
PushNotificator.cs
using UnityEngine;
using UnityEngine.UI;
public class PushNotificator : MonoBehaviour {
void Start () {
Pushwoosh.ApplicationCode = "__YOUR_APP_ID__";
Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__";
Pushwoosh.Instance.OnRegisteredForPushNotifications += OnRegisteredForPushNotifications;
Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += OnFailedToRegisteredForPushNotifications;
Pushwoosh.Instance.RegisterForPushNotifications();
}
void OnRegisteredForPushNotifications(string token) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received token: \n{0}", token);
}
void OnFailedToRegisteredForPushNotifications(string error) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Error ocurred while registering to push notifications: \n{0}", error);
}
}

Où :

  • __YOUR_APP_ID__ est le code d’application du Control Panel de Pushwoosh.
  • __YOUR_FCM_SENDER_ID__ est le numéro de projet Firebase de la console Firebase.

3. Configuration native iOS

Anchor link to

3.1 Capacités

Anchor link to

Pour activer les notifications push dans votre projet, vous devez ajouter certaines capacités.

Dans la section Signing & Capabilities, ajoutez les capacités suivantes :

  • Push Notifications
  • Background Modes. Après avoir ajouté cette capacité, cochez la case Remote notifications.

Si vous prévoyez d’utiliser les Time Sensitive Notifications (iOS 15+), ajoutez également la capacité Time Sensitive Notifications.

3.2 Info.plist

Anchor link to

Dans votre Runner/Info.plist, définissez la clé __PUSHWOOSH_DEVICE_API_TOKEN__ sur le Token d’API d’appareil Pushwoosh :

info.plist
<key>Pushwoosh_API_TOKEN</key>
<string>__PUSHWOOSH_DEVICE_API_TOKEN__</string>

3.3 Suivi de la livraison des messages

Anchor link to

Vous devez ajouter une cible Notification Service Extension à votre projet. Ceci est essentiel pour un suivi précis de la livraison et des fonctionnalités comme le 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.

4. Configuration native Android

Anchor link to

4.1 Ajouter le fichier de configuration Firebase

Anchor link to

Placez le fichier google-services.json dans le dossier Assets de votre répertoire de projet.

4.2 Ajuster les paramètres de build

Anchor link to

Dans la section Publishing Settings de votre profil de build Android, activez l’option Custom Main Manifest.

4.3 Ajouter les métadonnées Pushwoosh

Anchor link to

Dans votre Assets/Plugins/Android/AndroidManifest.xml, ajoutez le Token d’API d’appareil Pushwoosh à l’intérieur de la balise <application> :

AndroidManifest.xml
<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 Control Panel Pushwoosh. En savoir plus

5. Intégration du Windows Store

Anchor link to
  1. Ajoutez link.xml à votre répertoire Assets/ avec le contenu suivant :
<linker>
<assembly fullname="PushSDK" preserve="all"/>
</linker>
  1. Vous devez également Associer l’application au Store dans le projet Visual Studio exporté. Assurez-vous que votre application est signée avec un certificat correspondant à votre identité d’éditeur.

Activez la capacité Internet (Client) dans l’onglet Capabilities de votre .appxmanifest dans le projet Visual Studio exporté.

6. Exécuter le projet

Anchor link to
  1. Compilez et exécutez le projet.
  2. Allez dans le Control Panel de Pushwoosh et envoyez une notification push.
  3. 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 to

Dans le SDK Pushwoosh, il y a deux écouteurs d’événements, conçus pour gérer les notifications push :

  • L’événement OnPushNotificationsReceived est déclenché lorsqu’une notification push est reçue
  • L’événement OnPushNotificationsOpened est déclenché lorsqu’un utilisateur ouvre une notification

Vous devez configurer ces écouteurs d’événements juste après l’initialisation du SDK dans le PushNotificator.cs :

PushNotificator.cs
using UnityEngine;
using UnityEngine.UI;
public class PushNotificator : MonoBehaviour {
void Start () {
Pushwoosh.ApplicationCode = "__YOUR_APP_ID__";
Pushwoosh.FcmProjectNumber = "__YOUR_FCM_SENDER_ID__";
Pushwoosh.Instance.OnPushNotificationsReceived += OnPushNotificationsReceived;
Pushwoosh.Instance.OnPushNotificationsOpened += OnPushNotificationsOpened;
Pushwoosh.Instance.RegisterForPushNotifications();
}
void OnPushNotificationsReceived(string payload) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Received push notificaiton: \n{0}", payload);
}
void OnPushNotificationsOpened(string payload) {
Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, "Opened push notificaiton: \n{0}", payload);
}

Configuration de l’utilisateur

Anchor link to

En 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

public class Registration {
public void afterUserLogin(User user) {
// Set user ID
Pushwoosh.Instance.SetUserId(user.getId());
// Set user email
Pushwoosh.Instance.SetEmail(user.getEmail());
// Setting additional user information as tags for Pushwoosh
Pushwoosh.Instance.SetIntTag("Age", user.getAge());
Pushwoosh.Instance.SetStringTag("Name", user.getName());
Pushwoosh.Instance.SetStringTag("LastLoginDate", user.getLastLoginDate());
}
}

Les 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 des messages ciblés.

public class UpdateUser {
public void afterUserUpdateProfile(User user) {
// Set list of favorite categories
Pushwoosh.Instance.SetListTag(
"favorite_categories": user.getFavoriteCategoriesList()
);
// Set payment information
Pushwoosh.Instance.SetStringTag("is_subscribed", user.isSubscribed());
Pushwoosh.Instance.SetStringTag("payment_status", user.getPaymentStatus());
Pushwoosh.Instance.SetStringTag("billing_address", user.getBillingAddress());
}
}

Événements

Anchor link to

Les é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

public class Registration {
// Track login event
public void afterUserLogin(User user) {
Pushwoosh.Instance.PostEvent("login", new Dictionary<string, object>() {
{ "name", user.getName() },
{ "last_login", user.getLastLoginDate() }
});
}
public void afterUserPurchase(Product product) {
// Track purchase event
Pushwoosh.Instance.PostEvent("purchase", new Dictionary<string, object>() {
{ "product_id", product.getId() },
{ "product_name", product.getName() },
{ "price", product.getPrice() },
{ "quantity", product.getQuantity() }
});
}
}

Dépannage

Anchor link to

Si vous rencontrez des problèmes pendant le processus d’intégration, veuillez vous référer à la section support et communauté.