Zum Inhalt springen

InboxKit mit dem Swift Package Manager einrichten

Verfügbar seit iOS SDK 7.0.40.

InboxKit wird als separates Bibliotheksprodukt innerhalb des Swift-Pakets Pushwoosh-XCFramework ausgeliefert. Das Haupt-SDK muss bereits integriert sein. Wenn Sie bei Null anfangen, folgen Sie zuerst der Anleitung zur Basisintegration.

Das InboxKit-Paketprodukt hinzufügen

Anchor link to
  1. Öffnen Sie Ihr Projekt in Xcode und navigieren Sie zu den Projekteinstellungen → Package Dependencies und klicken Sie dann auf die Schaltfläche +.

  2. Geben Sie die folgende Paket-URL ein:

Terminal window
https://github.com/Pushwoosh/Pushwoosh-XCFramework
  1. Richten Sie die Dependency Rule auf Up to Next Major Version mit der neuesten stabilen Version ein und klicken Sie dann auf Add Package.

  2. Wählen Sie auf dem Bildschirm zur Paketauswahl mindestens die folgenden Produkte aus und fügen Sie sie zu Ihrem Haupt-App-Ziel (Target) hinzu:

  • PushwooshFramework (erforderlich)
  • PushwooshCore (erforderlich)
  • PushwooshBridge (erforderlich)
  • PushwooshInboxKit (das neue Modul)
Xcode-Dialog „Choose Package Products“ mit PushwooshBridge, PushwooshCore, PushwooshFramework und PushwooshInboxKit, die dem MyApp-Ziel hinzugefügt wurden

Fügen Sie die vier hervorgehobenen Produkte zu Ihrem Haupt-App-Ziel (Target) hinzu.

  1. Öffnen Sie Ihr Haupt-App-Ziel (Target) und bestätigen Sie unter Frameworks, Libraries, and Embedded Content, dass PushwooshInboxKit.xcframework aufgeführt und eingebettet ist.

Das ist alles – InboxKit ist jetzt neben dem Haupt-SDK verknüpft.

Die Inbox anzeigen

Anchor link to

Fügen Sie den Inbox-Controller zu einem beliebigen Navigationsfluss hinzu. Die Standardkonfiguration reicht aus, um eine funktionierende Inbox mit den drei Standard-Zelltypen zu erhalten:

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

Die Inbox anpassen

Anchor link to

In Swift konfigurieren Sie den Controller über den Werttyp PushwooshInboxKitAttributes. In Objective-C verwenden Sie die @objc-freundlichen Setter auf dem Controller – PushwooshInboxKitAttributes ist eine Swift-Struktur und wird nicht überbrückt.

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)

Die Style-Struktur legt alle Farben, Schriftarten, Eckenradien und den Datumsformatierer offen, die von den Standardzellen verwendet werden. Jeder Wert ist standardmäßig eine semantische Farbe von Apple, sodass die Inbox automatisch auf den systemweiten Dunkelmodus reagiert.

Benutzerdefinierter InboxKit-Feed mit Markenfarben für Titel und Anzeige für ungelesene Nachrichten

Zelle mit Beschriftung und einem benutzerdefinierten Design, das über PushwooshInboxKitAttributes.Style angewendet wird.

Taps und Aktualisierungen handhaben

Anchor link to

Konformieren Sie mit PushwooshInboxKitDelegate, um auf Benutzeraktionen und Aktualisierungsereignisse zu reagieren. Jede Methode hat eine Standardimplementierung, sodass Sie nur das überschreiben, was Sie benötigen:

final class InboxCoordinator: NSObject, PushwooshInboxKitDelegate {
func inboxKit(_ vc: PushwooshInboxKitViewController,
didSelect message: PWInboxMessageProtocol) -> Bool {
// Geben Sie true zurück, damit das SDK die Nachrichten-URL oder Rich Media öffnen kann.
// Geben Sie false zurück, wenn Sie den Tap vollständig selbst behandelt haben (z. B. auf einen benutzerdefinierten Bildschirm weitergeleitet haben).
return true
}
func inboxKit(_ vc: PushwooshInboxKitViewController,
didRefreshWith messages: [PWInboxMessageProtocol],
error: Error?) {
// Zeigen Sie hier bei Bedarf Ihren eigenen leeren / Fehlerzustand an.
}
}
inboxVC.delegate = inboxCoordinator

Nächste Schritte

Anchor link to