FAQ du SDK iOS
FAQ sur l’intégration iOS
Anchor link toQ : Comment puis-je installer le SDK Pushwoosh dans mon projet iOS ?
Anchor link toVous pouvez intégrer le SDK Pushwoosh en utilisant soit le Swift Package Manager, soit CocoaPods.
Q : Comment installer le SDK Pushwoosh avec le Swift Package Manager ?
Anchor link toDans Xcode, naviguez jusqu’à la section Package Dependencies et ajoutez le package en utilisant l’URL suivante : https://github.com/Pushwoosh/Pushwoosh-XCFramework.
Q : Comment installer le SDK Pushwoosh avec CocoaPods ?
Anchor link toOuvrez le Podfile de votre projet et ajoutez la ligne pod 'PushwooshXCFramework'. Ensuite, exécutez la commande pod install dans le terminal.
Q : Quelles capacités dois-je ajouter à mon projet pour activer les notifications Push ?
Anchor link toDans la section Signing & Capabilities des paramètres de votre projet, vous devez ajouter les capacités Push Notifications et Background Modes. Lors de l’ajout de Background Modes, assurez-vous de cocher la case Remote notifications.
Q : Quelle capacité supplémentaire est requise pour les notifications urgentes (Time Sensitive Notifications) ?
Anchor link toSi vous avez l’intention d’utiliser les notifications urgentes (Time Sensitive Notifications) (iOS 15+), vous devez également ajouter la capacité Time Sensitive Notifications.
Q : Où dois-je ajouter le code d’initialisation de Pushwoosh ?
Anchor link toLe code d’initialisation doit être ajouté à votre classe AppDelegate.
Q : Quel code d’initialisation dois-je ajouter dans l’AppDelegate de SwiftUI ?
Anchor link toVeuillez vous référer à l’exemple de code Swift fourni pour l’intégration de Pushwoosh dans un projet SwiftUI.
Q : Quel code d’initialisation dois-je ajouter dans un AppDelegate Swift standard ?
Anchor link toVeuillez vous référer à l’exemple de code Swift fourni pour l’intégration de Pushwoosh dans un projet Swift standard.
Q : Quel code d’initialisation dois-je ajouter dans un AppDelegate Objective-C ?
Anchor link toVeuillez vous référer à l’exemple de code Objective-C fourni pour l’intégration de Pushwoosh dans un projet Objective-C.
Q : Quelles clés dois-je ajouter à mon fichier Info.plist ?
Anchor link toVous devez ajouter la clé Pushwoosh_APPID définie sur votre code d’application (Application Code) et la clé PW_API_TOKEN définie sur votre jeton d’API (API Token) dans le fichier Info.plist de votre application.
Q : Quel est le but du suivi de la livraison des messages ?
Anchor link toPushwoosh prend en charge le suivi des événements de livraison pour les notifications push à l’aide de l’extension de service de notification (Notification Service Extension).
Q : Comment ajouter une extension de service de notification à mon projet ?
Anchor link toDans Xcode, allez dans File > New > Target…, choisissez Notification Service Extension, et appuyez sur Next. Entrez un nom de cible et appuyez sur Finish. Lorsqu’on vous demande de l’activer, appuyez sur Cancel.
Q : Comment ajouter le SDK Pushwoosh à l’extension de service de notification ?
Anchor link toAjoutez l’extrait de code Swift ou Objective-C fourni au fichier principal .swift ou .m de votre extension de service de notification. Ce code utilise PWNotificationExtensionManager pour gérer la demande de notification.
Q : Quel est le but des groupes d’applications (App Groups) ?
Anchor link toLa capacité App Groups est requise pour permettre à l’extension de service de notification de communiquer avec l’application principale.
Q : Comment activer les groupes d’applications pour ma cible principale et mon extension de service de notification ?
Anchor link toPour les deux cibles, allez dans Signing & Capabilities, ajoutez la capacité App Groups, et créez un nouveau groupe en appuyant sur le bouton +. Assurez-vous que le nom du groupe commence par group. et utilisez le même nom de groupe pour les deux cibles.
Q : Quelles clés dois-je ajouter au fichier Info.plist de ma cible principale pour les groupes d’applications ?
Anchor link toDans le fichier Info.plist de votre cible principale, ajoutez la clé PW_APP_GROUPS_NAME et définissez sa valeur sur le nom de votre groupe d’applications.
Q : Quelles clés dois-je ajouter au fichier Info.plist de mon extension de service de notification ?
Anchor link toDans le fichier Info.plist de votre extension de service de notification, ajoutez la clé PW_APP_GROUPS_NAME (définie sur le nom de votre groupe d’applications) et la clé Pushwoosh_APPID (définie sur votre code d’application).
Q : Comment vérifier l’intégration de Pushwoosh ?
Anchor link toAprès avoir compilé et exécuté votre projet, allez dans le panneau de contrôle de Pushwoosh (Pushwoosh Control Panel) et envoyez une notification push à votre application. Vous devriez voir la notification apparaître sur votre appareil.
Q : Quels sont les deux principaux rappels (callbacks) pour gérer les notifications push dans le SDK Pushwoosh ?
Anchor link toLes deux principaux rappels sont onMessageReceived et onMessageOpened.
Q : Quand le rappel onMessageReceived est-il invoqué ?
Anchor link toLa méthode onMessageReceived est appelée lorsqu’une notification push est reçue par l’application.
Q : Quand le rappel onMessageOpened est-il invoqué ?
Anchor link toLa méthode onMessageOpened est appelée lorsque l’utilisateur interagit avec une notification push et l’ouvre.
Q : Comment puis-je accéder à la charge utile (payload) d’une notification push reçue ou ouverte ?
Anchor link toLa charge utile d’un objet PWMessage (passé aux rappels onMessageReceived et onMessageOpened) est accessible via sa propriété payload.
Q : Comment puis-je définir un identifiant utilisateur (User ID) dans Pushwoosh ?
Anchor link toUtilisez la méthode setUserId(_:) de l’objet Pushwoosh.sharedInstance(), en passant l’ID de l’utilisateur en argument.
Q : Comment puis-je définir l’adresse e-mail d’un utilisateur dans Pushwoosh ?
Anchor link toUtilisez la méthode setEmail(_:) de l’objet Pushwoosh.sharedInstance(), en fournissant l’e-mail de l’utilisateur.
Comment puis-je définir des informations utilisateur supplémentaires en tant que balises (Tags) dans Pushwoosh ?
Anchor link toUtilisez la méthode setTags(_:) de l’objet Pushwoosh.sharedInstance(), en passant un dictionnaire où les clés sont les noms des balises et les valeurs sont les valeurs correspondantes des balises.
Comment puis-je suivre un événement utilisateur avec des attributs supplémentaires ?**
Anchor link toUtilisez la méthode postEvent(_:withAttributes:) de PWInAppManager.shared(), en fournissant le nom de l’événement (par ex., "login") et un dictionnaire d’attributs (par ex., "name", "last_login").
Q : Comment puis-je suivre un événement d’achat d’un utilisateur avec les détails du produit ?
Anchor link toUtilisez la méthode postEvent(_:withAttributes:) de PWInAppManager.shared() avec le nom d’événement "purchase" et un dictionnaire contenant les détails du produit comme "product_id", "product_name", "price", et "quantity".
Q : Comment configurer un délégué pour gérer la présentation de médias enrichis (rich media) ?
Anchor link toDans votre contrôleur de vue ou une autre classe appropriée, conformez-vous au protocole PWRichMediaPresentingDelegate et définissez la propriété delegate de PWRichMediaManager.shared() sur votre instance conforme.
Q : Comment puis-je configurer le style de présentation des médias enrichis ?
Anchor link toUtilisez l’objet PWModalWindowConfiguration.shared() pour configurer des propriétés telles que la position de la fenêtre modale et les animations de présentation/disparition à l’aide de la méthode configureModalWindow(with:present:dismiss:).
Q : À quelles informations puis-je accéder dans les méthodes du délégué de médias enrichis ?**
Anchor link toLes méthodes du délégué donnent accès à l’objet PWRichMedia, qui contient des informations sur le contenu du média enrichi, y compris son pushPayload. La méthode presentingDidFailForRichMedia:withError: fournit également un objet Error décrivant l’échec.
Dépannage
Anchor link toQ : Erreur « Your provisioning profile does not have APS entry »
Anchor link toSi vous voyez le message d’erreur « Your provisioning profile does not have APS entry. », assurez-vous que votre profil de provisionnement est compatible avec les notifications push et qu’il contient la chaîne aps-environment avec la valeur production ou development. Le moyen le plus simple de vérifier est d’ouvrir le profil de provisionnement mobile dans n’importe quel éditeur de texte et de rechercher la chaîne aps-environment. Elle devrait s’y trouver.
Si c’est le cas et que vous continuez à recevoir l’erreur, cela signifie que XCode sélectionne toujours un profil « non compatible avec les notifications push ». Veuillez vous assurer que vous signez avec le bon - parfois, si vous avez deux profils pour le même App ID, XCode s’emmêle les pinceaux et signe avec l’ancien.
Les étapes recommandées sont :
- Supprimer tous les profils XCode ;
- Ajouter le seul et unique nouveau profil ;
- Recompiler l’application.
Q : À quoi ressemblent le jeton push iOS et le HWID ?
Anchor link toLes jetons push des appareils iOS sont des chaînes de 64 symboles hexadécimaux. Exemple de jeton push :
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Assurez-vous que les jetons push iOS que vous utilisez lorsque vous ciblez des appareils spécifiques dans vos requêtes API sont en minuscules.
Pushwoosh utilise l’IDFV comme HWID de l’appareil. Notez qu’il peut changer si l’utilisateur réinstalle toutes les applications d’un fournisseur spécifique.
CBAF8ED1-17FB-49A3-73BD-DC79B63AEF93
Q : Comment activer et désactiver la bannière lorsque mon application est en cours d’exécution ?
Anchor link toPar défaut, notre dernier SDK iOS affiche la bannière de notification lorsque l’application est exécutée au premier plan.
Vous pouvez contrôler ce comportement en modifiant les indicateurs suivants dans le fichier Info.plist :
Indicateur Pushwoosh_ALERT_TYPE – type chaîne de caractères, les valeurs sont :
BANNER– valeur par défaut, affiche une alerte de type bannière dans l’applicationALERT– notification de type alerteNONE– ne pas afficher de notifications lorsque l’application est au premier plan
Q : Comment obtenir le jeton push de mon appareil iOS pour l’utiliser dans les appareils de test ?
Anchor link toPour obtenir le jeton push de votre appareil iOS,
- Ouvrez Xcode => Devices & Simulators ;
- Connectez l’appareil de test à votre ordinateur ;
- Sélectionnez votre appareil connecté dans la liste des appareils à gauche ;
- Cliquez sur le bouton Open Console.

Lancez l’application pour laquelle vous avez besoin du jeton push de l’appareil, et localisez votre jeton push de 64 caractères hexadécimaux dans la ligne « Registered for push notifications » :

Q : Pourquoi les badges ne sont-ils pas effacés après que je désinstalle mon application et la réinstalle peu de temps après ?
Anchor link toC’est un comportement attendu - les badges sont gérés par iOS lui-même et leurs valeurs sont stockées dans les préférences de l’application, qui ne sont pas supprimées instantanément lorsque vous désinstallez votre application. Une valeur de badge y reste pendant un certain temps en cas de réinstallation immédiate, ce qui entraîne l’affichage des mêmes badges après la réinstallation d’une application.