Unity
Télécharger le plugin
Télécharger l’exemple
Documentation du plugin
Étapes d’intégration
Anchor link toPour intégrer Pushwoosh dans votre application Unity, suivez ces étapes :
- Téléchargez le fichier
google-services.json
depuis votre console Firebase comme décrit ici et placez-le dans le dossier Assets de votre projet. Le nom du package de votre application doit être ajouté à votre projet Firebase et persister dans le fichiergoogle-services.json
. - Importez le plugin de notification push pour Unity dans votre dossier Assets dans Unity.
Intégration Android
Anchor link toMettre à jour AndroidManifest.xml
Anchor link toFusionnez le contenu de **Assets/Plugins/Android/PushwooshAndroidManifest.xml**
dans **Assets/Plugins/Android/AndroidManifest.xml**
. Si vous n’avez pas encore de manifeste Android, renommez PushwooshAndroidManifest.xml
en AndroidManifest.xml
.
Remplacez PACKAGE_NAME par le package de votre projet. Notez que dans Unity, il est appelé le ‘Bundle Identifier’.
Enregistrer les notifications push
Anchor link toCréez le script PushNotificator.cs et attachez-le à l’objet Camera dans la scène.
using UnityEngine;using System.Collections;
public class PushNotificator : MonoBehaviour { // à utiliser pour l'initialisation void Start () { Pushwoosh.ApplicationCode = "ENTREZ_VOTRE_ID_APPLICATION_PUSHWOOSH_ICI"; Pushwoosh.FcmProjectNumber = "ENTREZ_VOTRE_ID_EXPÉDITEUR_FCM_ICI"; Pushwoosh.Instance.OnRegisteredForPushNotifications += OnRegisteredForPushNotifications; Pushwoosh.Instance.OnFailedToRegisteredForPushNotifications += OnFailedToRegisteredForPushNotifications; Pushwoosh.Instance.OnPushNotificationsReceived += OnPushNotificationsReceived; Pushwoosh.Instance.RegisterForPushNotifications (); }
void OnRegisteredForPushNotifications(string token) { // à gérer ici Debug.Log("Jeton reçu : \n" + token); }
void OnFailedToRegisteredForPushNotifications(string error) { // à gérer ici Debug.Log("Une erreur s'est produite lors de l'enregistrement pour les notifications push : \n" + error); }
void OnPushNotificationsReceived(string payload) { // à gérer ici Debug.Log("Notification push reçue : \n" + payload); }}
Configurer le Jeton d’API d’appareil
Anchor link toDans votre AndroidManifest.xml
, ajoutez ce qui suit :
<meta-data android:name="com.pushwoosh.apitoken" android:value="VOTRE_JETON_D'API_D'APPAREIL" />
En savoir plus sur votre Jeton d’API d’appareil Pushwoosh
Important : Assurez-vous de donner au jeton l’accès à la bonne application dans votre Control Panel Pushwoosh. En savoir plus
Intégration iOS
Anchor link toMasquer les alertes de notification
Anchor link toPour masquer les alertes de notification lorsque l’application est au premier plan, définissez simplement la valeur Pushwoosh_SHOW_ALERT
sur NO
dans votre fichier Info.plist.
Configurer le Jeton d’API d’appareil
Anchor link toDans votre Info.plist
, définissez la clé PW_API_TOKEN
sur le Jeton d’API d’appareil Pushwoosh
Important : Assurez-vous que le jeton a accès à la bonne application dans votre Control Panel Pushwoosh. En savoir plus
Activer les notifications push dans Xcode
Anchor link toXcode exige que les Push Notifications soient activées dans la section Capabilities pour pouvoir s’enregistrer pour les notifications push. Pour cela, allez dans Capabilities → Enable Push Notifications.

Activez les Remote notifications pour les Background Modes dans la section Capabilities.

Extras Android
Anchor link toPour recevoir des notifications push sur Android lorsque l’application est active sans publier la notification dans le centre de notifications, définissez la ligne suivante dans AndroidManifest.xml sur true :
<meta-data android:name="PW_BROADCAST_PUSH" android:value="false" />
Intégration Amazon
Anchor link toObtenir une clé d’API d’Amazon
Anchor link toObtenez la CLÉ D’API d’Amazon conformément au guide d’Amazon.
Pour une version de pré-lancement ou de « débogage » de votre application, vous devez créer une clé d’API et la stocker comme unique donnée dans un fichier nommé api_key.txt. Le fichier api_key.txt doit se trouver dans le dossier Assets de votre projet.
Pour une version de lancement ou de « production » de votre application, il se peut que vous n’ayez pas besoin de créer une clé d’API. Seulement si vous signez la version de lancement de votre application avec votre propre certificat, vous devez créer une clé d’API supplémentaire pour la version de lancement de votre application. Sinon, si vous autorisez Amazon à signer votre application en votre nom, vous n’avez pas besoin de créer une clé d’API supplémentaire.
Intégration Windows Store
Anchor link to- Ajoutez
link.xml
à votre répertoire Assets/ avec le contenu suivant :
<linker> <assembly fullname="PushSDK" preserve="all"/></linker>
- 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 (Publisher Identity).

Activez la capacité Internet (Client) dans l’onglet Capabilities de votre .appxmanifest
dans le projet Visual Studio exporté.
Problèmes avec les projets Unity ayant le plugin Pushwoosh installé
Anchor link toSi vous rencontrez une erreur comme celle montrée dans l’image ci-dessous, cela pourrait être dû à un problème du framework Unity avec les projets contenant des plugins tiers.

La note de résolution de Unity sur ce problème indique :
À un certain moment, l’environnement d’exécution UnityFramework ainsi que les plugins sont chargés à l’exécution par dyld/NSBundle.load. Veuillez garder cela à l’esprit lors du développement d’un plugin.
Toute initialisation riche en API sur les chemins de code
+(load)
,attribute(constructor)
et de construction d’objets globaux doit être déplacée à une phase ultérieure, de préférence après le chargement de UnityFramework, et encore mieux lorsque Unity est initialisé.L’initialisation de données simples est sûre, mais les appels riches en API qui traitent d’autres parties du système d’exploitation, en particulier les API de réseau et d’interface utilisateur, peuvent entraîner un blocage (deadlock) menant à une terminaison par le watchdog.
En effectuant une initialisation retardée/paresseuse, vous pouvez mieux contrôler l’ordre d’initialisation, réduire le temps de chargement de l’application et, surtout, éviter un possible blocage (deadlock).
Solution de contournement possible
Anchor link toPar défaut, UnityFramework.framework est intégré dans la cible Unity-iPhone mais n’y est pas lié. Par conséquent, UnityFramework est chargé plus tard à l’exécution, et certains plugins peuvent être sensibles à ce chemin d’initialisation.
Pour résoudre ce problème, allez dans Unity-iPhone → Build Phases → section de build Link Binary with Libraries et ajoutez **UnityFramework.framework**
.
Cela garantit que UnityFramework se charge simultanément avec l’exécutable principal.
Partagez vos commentaires avec nous
Anchor link toVos commentaires nous aident à créer une meilleure expérience, nous serions donc ravis de vous entendre si vous rencontrez des problèmes pendant le processus d’intégration du SDK. Si vous rencontrez des difficultés, n’hésitez pas à nous faire part de vos réflexions via ce formulaire.