Passer au contenu

FAQ du SDK iOS

FAQ sur l’intégration iOS

Anchor link to

Q : Comment puis-je installer le SDK Pushwoosh dans mon projet iOS ?

Anchor link to

Vous 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 to

Dans 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 to

Ouvrez 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 (capabilities) dois-je ajouter à mon projet pour activer les notifications Push ?

Anchor link to

Dans la section Signing & Capabilities des paramètres de votre projet, vous devez ajouter les capacités Push Notifications et Background Modes. En ajoutant 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 to

Si vous prévoyez 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 to

Le code d’initialisation doit être ajouté à votre classe AppDelegate.

Q : Quel code d’initialisation dois-je ajouter dans l’AppDelegate de SwiftUI ?

Anchor link to

Veuillez 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 to

Veuillez 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 to

Veuillez 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 to

Vous devez ajouter la clé Pushwoosh_APPID définie sur votre Application Code et la clé PW_API_TOKEN définie sur votre API Token dans le fichier Info.plist de votre application.

Q : Quel est l’objectif du suivi de la livraison des messages ?

Anchor link to

Pushwoosh prend en charge le suivi des événements de livraison pour les notifications push en utilisant la Notification Service Extension.

Q : Comment ajouter une Notification Service Extension à mon projet ?

Anchor link to

Dans 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 à la Notification Service Extension ?

Anchor link to

Ajoutez l’extrait de code Swift ou Objective-C fourni au fichier principal .swift ou .m de votre Notification Service Extension. Ce code utilise PWNotificationExtensionManager pour gérer la requête de notification.

Q : Quel est l’objectif des App Groups ?

Anchor link to

La capacité App Groups est requise pour permettre à la Notification Service Extension de communiquer avec l’application principale.

Q : Comment activer les App Groups pour ma cible principale et ma Notification Service Extension ?

Anchor link to

Pour 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 App Groups ?

Anchor link to

Dans 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 App Groups.

Q : Quelles clés dois-je ajouter au fichier Info.plist de ma Notification Service Extension ?

Anchor link to

Dans le fichier Info.plist de votre Notification Service Extension, ajoutez la clé PW_APP_GROUPS_NAME (définie sur le nom de votre App Groups) et la clé Pushwoosh_APPID (définie sur votre Application Code).

Q : Comment vérifier l’intégration de Pushwoosh ?

Anchor link to

Après avoir compilé et exécuté votre projet, rendez-vous dans le Panneau de Contrôle 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 to

Les deux principaux rappels sont onMessageReceived et onMessageOpened.

Q : Quand le rappel onMessageReceived est-il invoqué ?

Anchor link to

La 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 to

La 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 to

La 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 d’utilisateur (User ID) dans Pushwoosh ?

Anchor link to

Utilisez 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 to

Utilisez 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 tags dans Pushwoosh ?

Anchor link to

Utilisez la méthode setTags(_:) de l’objet Pushwoosh.sharedInstance(), en passant un dictionnaire où les clés sont les noms des tags et les valeurs sont les valeurs correspondantes.

Comment puis-je suivre un événement utilisateur avec des attributs supplémentaires ?

Anchor link to

Utilisez 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’utilisateur avec les détails du produit ?

Anchor link to

Utilisez 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é (delegate) pour gérer la présentation des rich media ?

Anchor link to

Dans 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 rich media ?

Anchor link to

Utilisez 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/fermeture en utilisant la méthode configureModalWindow(with:present:dismiss:).

Q : À quelles informations puis-je accéder dans les méthodes du délégué de rich media ?

Anchor link to

Les méthodes du délégué donnent accès à l’objet PWRichMedia, qui contient des informations sur le contenu rich media, y compris son pushPayload. La méthode presentingDidFailForRichMedia:withError: fournit également un objet Error décrivant l’échec.

Dépannage

Anchor link to

Q : Erreur “Your provisioning profile does not have APS entry”

Anchor link to

Si 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 de signer avec le bon profil - parfois, si vous avez deux profils pour le même App ID, Xcode peut s’emmêler les pinceaux et signer avec l’ancien.

Les étapes recommandées sont :

  1. Supprimez tous les profils de Xcode ;
  2. Ajoutez le seul et unique nouveau profil ;
  3. Recompilez l’application.

Q : À quoi ressemblent le token push iOS et le HWID ?

Anchor link to

Les tokens push d’appareils iOS sont des chaînes de 64 symboles hexadécimaux. Exemple de token push :
03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2f
Assurez-vous que les tokens push iOS que vous utilisez pour cibler 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 même fournisseur.

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 to

Par défaut, notre dernier SDK iOS affiche la bannière de notification lorsque l’application s’exécute 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’application
  • ALERT – notification de type alerte
  • NONE – n’affiche pas les notifications lorsque l’application est au premier plan

Q : Comment puis-je obtenir le token push de mon appareil iOS pour l’utiliser dans les Appareils de Test (Test Devices) ?

Anchor link to

Pour obtenir le token push de votre appareil iOS,

  1. Ouvrez Xcode => Devices & Simulators ;
  2. Connectez l’appareil de test à votre ordinateur ;
  3. Sélectionnez votre appareil connecté dans la liste des appareils à gauche ;
  4. Cliquez sur le bouton Open Console.

Lancez l’application pour laquelle vous avez besoin du token push, et repérez votre token de 64 caractères hexadécimaux dans la ligne “Registered for push notifications” :

Q : Pourquoi les pastilles (badges) ne sont-elles pas effacées après que je désinstalle et réinstalle mon application dans un court laps de temps ?

Anchor link to

C’est un comportement attendu - les pastilles sont gérées 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. La valeur d’une pastille y reste pendant un certain temps en cas de réinstallation immédiate, ce qui fait que les mêmes pastilles sont affichées après la réinstallation de l’application.