Passer au contenu

Guide d'intégration avancée du SDK iOS

Cette section fournit des informations sur l’intégration avancée du SDK Pushwoosh pour iOS.

Modes d’arrière-plan

Anchor link to

Pour activer cette fonctionnalité, vous devez ajouter les modes d’arrière-plan (Background Modes) à votre projet.

Étapes pour activer les modes d’arrière-plan

Anchor link to
  1. Ouvrez votre projet dans Xcode et sélectionnez-le dans le Navigateur de projet (Project Navigator).
  2. Choisissez la cible de votre application dans le panneau de gauche.
  3. Accédez à l’onglet Signature et Capacités (Signing & Capabilities).
  4. Cliquez sur le bouton + Capacité (+ Capability) dans le coin supérieur gauche.
  5. Recherchez et sélectionnez Modes d’arrière-plan (Background Modes) dans la liste.
  6. Dans la section Modes d’arrière-plan (Background Modes), activez les Notifications à distance (Remote notifications) en cochant la case.

Une fois terminé, votre application sera capable de gérer les notifications push, y compris les silencieuses, tout en s’exécutant en arrière-plan.

Modes de premier plan

Anchor link to

Par 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) :

// Set false to disable foreground notifications, true to enable it
Pushwoosh.sharedInstance().showPushnotificationAlert = true

Niveau de journalisation

Anchor link to

Le 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>YOUR_LOG_LEVEL</string>

Alternativement, vous pouvez modifier le niveau de journalisation en utilisant l’extrait de code ci-dessous :

Pushwoosh.Debug.setLogLevel(.PW_LL_DEBUG)

Remplacez YOUR_LOG_LEVEL par le niveau souhaité (par exemple, DEBUG ou ERROR).

UNNotificationCenterDelegate personnalisé

Anchor link to

Si 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.sharedInstance()?.notificationCenterDelegateProxy.add(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)) {
// Handle your notification
completionHandler(UNNotificationPresentationOptions.alert)
}
}
func userNotificationCenter(
_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void
) {
if (!PWMessage.isPushwooshMessage(response.notification.request.content.userInfo)) {
// Handle your notification
completionHandler()
}
}

Initialisation différée de Pushwoosh

Anchor link to

L’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 ses services que lorsque les méthodes du SDK iOS de Pushwoosh sont explicitement appelées.

Ajoutez l’entrée suivante à Info.plist :

<key>Pushwoosh_LAZY_INITIALIZATION</key>
<true/>

Cas d’utilisation

  1. Initialisation contrôlée du SDK – L’indicateur Pushwoosh_LAZY_INITIALIZATION permet de retarder le démarrage du SDK Pushwoosh, offrant un meilleur contrôle sur le moment où les services push sont activés.

  2. 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é.

  3. Configuration 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’une fois la configuration appropriée déterminée.

Liste complète des propriétés de Info.plist

Anchor link to
PropriétéDescriptionValeurs possibles
Pushwoosh_APPIDDéfinit l’ID d’application Pushwoosh pour le build de production.XXXXX-XXXXX
Type : Chaîne
Pushwoosh_APPID_DevDéfinit l’ID d’application Pushwoosh pour le build de développement.XXXXX-XXXXX
Type : Chaîne
Pushwoosh_SHOW_ALERTAffiche l’alerte de notification au premier plan.YES (par défaut) / NO
Type : Booléen
Pushwoosh_ALERT_TYPEDéfinit le style de l’alerte de notification.BANNER (par défaut) / ALERT / NONE
Type : Chaîne
Pushwoosh_BASEURLRemplace l’URL de base du serveur Pushwoosh.https://cp.pushwoosh.com/json/1.3/ (par défaut)
Type : Chaîne
Pushwoosh_AUTO_ACCEPT_DEEP_LINK_FOR_SILENT_PUSHSi YES, les Deep Links reçus dans les notifications push silencieuses seront traités automatiquement.YES (par défaut) / NO
Type : Booléen
Pushwoosh_ALLOW_SERVER_COMMUNICATIONAutorise le SDK à envoyer des requêtes réseau aux serveurs Pushwoosh.YES (par défaut) / NO
Type : Booléen
Pushwoosh_ALLOW_COLLECTING_DEVICE_DATAAutorise le SDK à collecter et à envoyer les 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_VERSIONAutorise le SDK à collecter et à envoyer la version de l’OS de l’appareil au serveur.YES (par défaut) / NO
Type : Booléen
Pushwoosh_ALLOW_COLLECTING_DEVICE_LOCALEAutorise le SDK à collecter et à envoyer la locale de l’appareil au serveur.YES (par défaut) / NO
Type : Booléen
Pushwoosh_ALLOW_COLLECTING_DEVICE_MODELAutorise le SDK à collecter et à envoyer le modèle de l’appareil au serveur.YES (par défaut) / NO
Type : Booléen
Pushwoosh_LOG_LEVELNiveau 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
Pushwoosh_PURCHASE_TRACKING_ENABLEDAutorise le SDK à suivre les achats in-app. Nécessaire pour le Customer Journey Builder.YES / NO (par défaut)
Type : Booléen