Guide d'intégration avancée du SDK iOS 7.0+
Cette section fournit des informations sur l’intégration avancée du SDK iOS de Pushwoosh.
Modes d’arrière-plan
Anchor link toPour activer cette fonctionnalité, vous devez ajouter des modes d’arrière-plan (Background Modes) à votre projet.
Étapes pour activer les modes d’arrière-plan
Anchor link to- Ouvrez votre projet dans Xcode et sélectionnez-le dans le Navigateur de projet.
- Choisissez la cible de votre application dans le panneau de gauche.
- Accédez à l’onglet Signing & Capabilities.
- Cliquez sur le bouton + Capability dans le coin supérieur gauche.
- Recherchez et sélectionnez Background Modes dans la liste.
- Dans la section Background Modes, activez Remote notifications en cochant la case.
Une fois terminé, votre application pourra gérer les notifications push, y compris les silencieuses, tout en s’exécutant en arrière-plan.
Modes de premier plan
Anchor link toPar défaut, le SDK iOS de Pushwoosh affiche la bannière de notification lorsque l’application s’exécute au premier plan.
Vous pouvez contrôler ce comportement en définissant l’indicateur booléen suivant dans votre code (par exemple, dans votre AppDelegate) :
// Définir sur false pour désactiver les notifications au premier plan, true pour les activerPushwoosh.configure.showPushnotificationAlert = true// Définir sur 0 pour désactiver les notifications au premier plan, 1 pour les activer[[Pushwoosh configure] setShowPushnotificationAlert:0];Niveau de journalisation
Anchor link toLe SDK iOS de Pushwoosh prend en charge les niveaux de journalisation suivants :
NONE- Aucun journal du SDK.ERROR- Affiche uniquement les messages d’erreur dans la console.WARNING- Affiche les avertissements en plus des erreurs.INFO- Inclut les messages d’information (paramètre par défaut).DEBUG- Inclut des informations de débogage détaillées.
Par défaut, le niveau de journalisation est défini sur INFO, ce qui garantit que le SDK fournit des informations pertinentes sans encombrer la console du développeur.
Pour modifier le niveau de journalisation, mettez à jour la clé Pushwoosh_LOG_LEVEL dans le fichier Info.plist de votre application :
<key>Pushwoosh_LOG_LEVEL</key><string>VOTRE_NIVEAU_DE_JOURNALISATION</string>Alternativement, vous pouvez changer le niveau de journalisation en utilisant l’extrait de code ci-dessous :
Pushwoosh.Debug.setLogLevel(.PW_LL_DEBUG)Remplacez VOTRE_NIVEAU_DE_JOURNALISATION par le niveau souhaité (par exemple, DEBUG ou ERROR).
UNNotificationCenterDelegate personnalisé
Anchor link toSi vous souhaitez utiliser votre propre UNNotificationCenterDelegate (par exemple, pour les notifications locales), vous devez en informer le SDK Pushwoosh pour un comportement correct. Vous pouvez le faire avec la propriété notificationCenterDelegateProxy de l’instance Pushwoosh :
Pushwoosh.configure?.notificationCenterDelegateProxy.add(my_delegate)[Pushwoosh.configure.notificationCenterDelegateProxy addNotificationCenterDelegate:my_delegate];Ensuite, implémentez les méthodes UNNotificationCenterDelegate dans votre délégué :
func userNotificationCenter( _ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { if (!PWMessage.isPushwooshMessage(notification.request.content.userInfo)) { // Gérez votre notification completionHandler(UNNotificationPresentationOptions.alert) }}
func userNotificationCenter( _ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) { // Gérez votre notification completionHandler() }}- (void)userNotificationCenter:(UNNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler { if (![PWMessage isPushwooshMessage:notification.request.content.userInfo]) { // Gérez votre message completionHandler(UNNotificationPresentationOptionAlert); }}
- (void)userNotificationCenter:(UNNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler { if (![PWMessage.isPushwooshMessage:response.notification.request.content.userInfo]) { // Gérez votre message completionHandler(); }}Initialisation différée de Pushwoosh
Anchor link toL’indicateur Pushwoosh_LAZY_INITIALIZATION empêche l’initialisation automatique du SDK Pushwoosh au démarrage de l’application. Cela permet un meilleur contrôle sur le moment où les services du SDK Pushwoosh sont démarrés.
Lorsque cet indicateur est activé, le SDK Pushwoosh ne démarre pas ses services tant que les méthodes du SDK iOS de Pushwoosh ne sont pas explicitement appelées.
Ajoutez l’entrée suivante à Info.plist :
<key>Pushwoosh_LAZY_INITIALIZATION</key><true/>Cas d’utilisation
-
Initialisation contrôlée du SDK – L’indicateur Pushwoosh_LAZY_INITIALIZATION permet de retarder le démarrage du SDK Pushwoosh, donnant plus de contrôle sur le moment où les services de push sont activés.
-
Activation différée des notifications push – Dans certaines applications, les notifications push ne doivent être initialisées que sous des conditions spécifiques. L’activation de cet indicateur garantit que le SDK Pushwoosh ne démarre que lorsqu’il est explicitement demandé.
-
Configuration des notifications push spécifique à l’utilisateur – Certaines applications peuvent nécessiter la personnalisation des paramètres de notification push en fonction des préférences de l’utilisateur ou des paramètres du compte. Avec l’initialisation différée, le SDK Pushwoosh ne démarre qu’après que la configuration appropriée a été déterminée.
Liste complète des propriétés de Info.plist
Anchor link to| Propriété | Description | Valeurs possibles |
|---|---|---|
Pushwoosh_APPID | Définit l’ID de l’application Pushwoosh pour la version de production. | XXXXX-XXXXX Type : Chaîne de caractères |
Pushwoosh_APPID_Dev | Définit l’ID de l’application Pushwoosh pour la version de développement. | XXXXX-XXXXX Type : Chaîne de caractères |
Pushwoosh_SHOW_ALERT | Affiche l’alerte de notification au premier plan. | YES (par défaut) / NO Type : Booléen |
Pushwoosh_ALERT_TYPE | Définit le style de l’alerte de notification. | BANNER (par défaut) / ALERT / NONE Type : Chaîne de caractères |
Pushwoosh_BASEURL | Remplace l’URL de base du serveur Pushwoosh. | https://cp.pushwoosh.com/json/1.3/ (par défaut) Type : Chaîne de caractères |
Pushwoosh_AUTO_ACCEPT_DEEP_LINK_FOR_SILENT_PUSH | Si YES, les liens profonds (Deep Links) reçus dans les notifications push silencieuses seront traités automatiquement. | YES (par défaut) / NO Type : Booléen |
Pushwoosh_ALLOW_SERVER_COMMUNICATION | Permet au SDK d’envoyer des requêtes réseau aux serveurs Pushwoosh. | YES (par défaut) / NO Type : Booléen |
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATA | Permet au SDK de collecter et d’envoyer des données de l’appareil (version de l’OS, locale et modèle) au serveur. | YES (par défaut) / NO Type : Booléen |
Pushwoosh_ALLOW_COLLECTING_DEVICE_OS_VERSION | Permet au SDK de collecter et d’envoyer la version de l’OS de l’appareil au serveur. | YES (par défaut) / NO Type : Booléen |
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALE | Permet au SDK de collecter et d’envoyer la locale de l’appareil au serveur. | YES (par défaut) / NO Type : Booléen |
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODEL | Permet au SDK de collecter et d’envoyer le modèle de l’appareil au serveur. | YES (par défaut) / NO Type : Booléen |
Pushwoosh_LOG_LEVEL | Niveau de journalisation du SDK Pushwoosh. Pour plus de détails, consultez la section Contrôle du niveau de journalisation. | NONE / ERROR / WARNING / INFO (par défaut) / DEBUG / VERBOSE Type : Chaîne de caractères |
Pushwoosh_PURCHASE_TRACKING_ENABLED | Permet au SDK de suivre les achats in-app. Nécessaire pour le Customer Journey Builder. | YES / NO (par défaut) Type : Booléen |