Passer au contenu

Configurer InboxKit avec CocoaPods

Disponible depuis le SDK iOS 7.0.40.

InboxKit est fourni comme un sous-spec optionnel du pod parapluie PushwooshXCFramework. Le SDK principal doit déjà être intégré ; si vous partez de zéro, suivez d’abord le guide d’intégration de base.

Ajouter le pod InboxKit

Anchor link to
  1. Ouvrez votre Podfile et ajoutez le sous-spec InboxKit à la cible de votre application :
target 'MyApp' do
use_frameworks!
pod 'PushwooshXCFramework'
pod 'PushwooshXCFramework/PushwooshInboxKit'
end
  1. Exécutez pod install depuis le répertoire de votre projet :
Terminal window
pod install
  1. Ouvrez le fichier .xcworkspace généré. InboxKit est maintenant lié au SDK principal.

Afficher la boîte de réception

Anchor link to

Ajoutez le contrôleur de la boîte de réception à n’importe quel flux de navigation. La configuration par défaut est suffisante pour obtenir une boîte de réception fonctionnelle avec les trois types de cellules standard :

import PushwooshInboxKit
let inboxVC = PushwooshInboxKitViewController()
navigationController?.pushViewController(inboxVC, animated: true)

Personnaliser la boîte de réception

Anchor link to

En Swift, configurez le contrôleur via le type de valeur PushwooshInboxKitAttributes. En Objective-C, utilisez les setters compatibles @objc sur le contrôleur — PushwooshInboxKitAttributes est une structure Swift et n’est pas pontée.

var attributes = PushwooshInboxKitAttributes()
attributes.pullToRefreshEnabled = true
attributes.swipeToDeleteEnabled = true
attributes.pinningEnabled = true
attributes.style.unreadBadgeColor = .systemBlue
attributes.style.titleFont = .systemFont(ofSize: 17, weight: .semibold)
let inboxVC = PushwooshInboxKitViewController(attributes: attributes)

La structure Style expose toutes les couleurs, polices, rayons d’angle et le formateur de date utilisés par les cellules par défaut. Chaque valeur est une couleur sémantique Apple par défaut, donc la boîte de réception réagit automatiquement au mode sombre du système.

Flux InboxKit personnalisé avec les couleurs de la marque appliquées au titre et à l'indicateur non lu

Cellule avec légende et un thème personnalisé appliqué via PushwooshInboxKitAttributes.Style.

Gérer les appuis et les actualisations

Anchor link to

Conformez-vous à PushwooshInboxKitDelegate pour réagir aux actions de l’utilisateur et aux événements d’actualisation. Chaque méthode a une implémentation par défaut, vous ne surchargez donc que ce dont vous avez besoin :

final class InboxCoordinator: NSObject, PushwooshInboxKitDelegate {
func inboxKit(_ vc: PushwooshInboxKitViewController,
didSelect message: PWInboxMessageProtocol) -> Bool {
// Retournez true pour laisser le SDK ouvrir l'URL du message ou le richmedia.
// Retournez false si vous avez entièrement géré l'appui (par ex. routé vers un écran personnalisé).
return true
}
func inboxKit(_ vc: PushwooshInboxKitViewController,
didRefreshWith messages: [PWInboxMessageProtocol],
error: Error?) {
// Affichez votre propre état vide / d'erreur ici si nécessaire.
}
}
inboxVC.delegate = inboxCoordinator

Le SDK fournit des opérations en masse en tant que méthodes @objc sur le contrôleur, vous pouvez donc les lier directement à un UIBarButtonItem :

let markAll = UIBarButtonItem(
image: UIImage(systemName: "checkmark.circle"),
style: .plain,
target: inboxVC,
action: #selector(PushwooshInboxKitViewController.markAllAsRead)
)
let clearRead = UIBarButtonItem(
image: UIImage(systemName: "trash"),
style: .plain,
target: inboxVC,
action: #selector(PushwooshInboxKitViewController.clearReadMessages)
)
inboxVC.navigationItem.rightBarButtonItems = [clearRead, markAll]

Prochaines étapes

Anchor link to