Diese Seite wurde automatisch übersetzt und kann Ungenauigkeiten enthalten. Um einen Übersetzungsfehler zu melden, nutzen Sie das Feedback unten im Inhaltsverzeichnis rechts auf der Seite.

Warnung
Das AppboyKit (auch bekannt als Objective-C SDK) wird nicht mehr unterstützt und wurde durch das Swift SDK. ] ersetzt. Es wird keine neuen Features, Fehlerbehebungen, Sicherheitsupdates oder technischen Support mehr erhalten - Messaging und Analytics werden jedoch weiterhin wie gewohnt funktionieren. Weitere Informationen finden Sie unter Einführung in das neue Braze Swift SDK.
Content-Card-Integration
Content-Cards-Datenmodell
Das Content-Cards-Datenmodell ist im iOS SDK verfügbar.
Abrufen der Daten
Um auf das Content-Cards-Datenmodell zuzugreifen, abonnieren Sie die Update-Events für Content Cards:
1
2
3
4
5
6
| // Subscribe to Content Cards updates
// Note: you should remove the observer where appropriate
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(contentCardsUpdated:)
name:ABKContentCardsProcessedNotification
object:nil];
|
1
2
3
4
5
6
7
| // Called when Content Cards are refreshed (via `requestContentCardsRefresh`)
- (void)contentCardsUpdated:(NSNotification *)notification {
BOOL updateIsSuccessful = [notification.userInfo[ABKContentCardsProcessedIsSuccessfulKey] boolValue];
if (updateIsSuccessful) {
// get the cards using [[Appboy sharedInstance].contentCardsController getContentCards];
}
}
|
1
2
3
4
5
| // Subscribe to content card updates
// Note: you should remove the observer where appropriate
NotificationCenter.default.addObserver(self, selector:
#selector(contentCardsUpdated),
name:NSNotification.Name.ABKContentCardsProcessed, object: nil)
|
1
2
3
4
5
6
7
8
| // Called when the Content Cards are refreshed (via `requestContentCardsRefresh`)
@objc private func contentCardsUpdated(_ notification: Notification) {
if let updateIsSuccessful = notification.userInfo?[ABKContentCardsProcessedIsSuccessfulKey] as? Bool {
if (updateIsSuccessful) {
// get the cards using Appboy.sharedInstance()?.contentCardsController.contentCards
}
}
}
|
Wenn Sie die Kartendaten ändern möchten, nachdem sie von Braze gesendet wurden, empfehlen wir Ihnen, eine Tiefenkopie der Kartendaten lokal zu speichern, die Daten zu aktualisieren und sie selbst anzuzeigen. Die Karten sind über ABKContentCardsController zugänglich.
Content-Card-Modell
Braze bietet drei Content-Card-Typen: Banner, Bild mit Bildunterschrift und klassisch. Jeder Typ erbt gemeinsame Eigenschaften von einer Basisklasse ABKContentCard und hat die folgenden zusätzlichen Eigenschaften.
Eigenschaften des Basis-Content-Card-Modells – ABKContentCard
| Eigenschaft |
Beschreibung |
idString |
(Nur Lesen) Die von Braze festgelegte ID der Karte. |
viewed |
Diese Eigenschaft zeigt an, ob die Nutzer:in die Karte angesehen hat oder nicht. |
created |
(Nur Lesen) Diese Eigenschaft ist der Unix-Zeitstempel der Erstellungszeit der Karte von Braze. |
expiresAt |
(Nur Lesen) Diese Eigenschaft ist der Unix-Zeitstempel der Ablaufzeit der Karte. |
dismissible |
Diese Eigenschaft gibt an, ob die Nutzer:in die Karte ausblenden kann. |
pinned |
Diese Eigenschaft zeigt an, ob die Karte im Dashboard als „angeheftet“ eingerichtet wurde. |
dismissed |
Diese Eigenschaft gibt an, ob die Nutzer:in die Karte ausgeblendet hat. |
url |
Die URL, die geöffnet wird, nachdem auf die Karte geklickt wurde. Dabei kann es sich um eine HTTP(S)-URL oder eine Protokoll-URL handeln. |
openURLInWebView |
Diese Eigenschaft bestimmt, ob die URL innerhalb der App oder in einem externen Webbrowser geöffnet wird. |
extras |
Ein optionales NSDictionary von NSString-Werten. |
Banner-Content-Card-Eigenschaften – ABKBannerContentCard
| Eigenschaft |
Beschreibung |
image |
Diese Eigenschaft ist die URL des Bildes der Karte. |
imageAspectRatio |
Diese Eigenschaft ist das Seitenverhältnis des Kartenbildes und dient als Hinweis, bevor das Laden des Bildes abgeschlossen ist. Beachten Sie, dass die Eigenschaft unter bestimmten Umständen nicht übermittelt werden kann. |
Eigenschaften von Content Cards mit Bildunterschriften – ABKCaptionedImageCard
| Eigenschaft |
Beschreibung |
image |
Diese Eigenschaft ist die URL des Bildes der Karte. |
imageAspectRatio |
Diese Eigenschaft ist das Seitenverhältnis des Bildes der Karte. |
title |
Der Titeltext für die Karte. |
cardDescription |
Der Fließtext für die Karte. |
domain |
Der Linktext für die Eigenschaft URL, z. B. @”blog.braze.com”. Er kann auf der UI der Karte angezeigt werden, um die Aktion/Richtung beim Anklicken der Karte anzugeben. |
Eigenschaften der klassischen Content-Card – ABKClassicContentCard
| Eigenschaft |
Beschreibung |
image |
(Optional) Diese Eigenschaft ist die URL des Bildes der Karte. |
title |
Der Titeltext für die Karte. |
cardDescription |
Der Fließtext für die Karte. |
domain |
Der Linktext für die Eigenschaft URL, z. B. @”blog.braze.com”. Er kann auf der UI der Karte angezeigt werden, um die Aktion und Richtung beim Anklicken der Karte anzugeben. |
Karten-Methoden
| Methode |
Beschreibung |
logContentCardImpression |
Protokollieren Sie manuell eine Impression in Braze für eine bestimmte Karte. |
logContentCardClicked |
Protokollieren Sie manuell einen Klick in Braze für eine bestimmte Karte. Das SDK protokolliert einen Klick auf die Karte nur, wenn die Eigenschaft url einen gültigen Wert hat. |
logContentCardDismissed |
Protokollieren Sie manuell eine Karten-Ausblendung in Braze für eine bestimmte Karte. Das SDK protokolliert eine Karten-Ausblendung nur, wenn die Eigenschaft dismissed der Karte nicht bereits auf true gesetzt ist. |
isControlCard |
Bestimmen Sie, ob eine Karte die Kontrollkarte für einen A/B-Test ist. |
Weitere Einzelheiten finden Sie in der Dokumentation der Klassenreferenz.
Integration des Content-Cards-View-Controllers
Content Cards können in zwei View-Controller-Kontexte integriert werden: Navigation oder Modal.
Navigationskontext
Beispiel für das Pushing einer ABKContentCardsTableViewController-Instanz in einen Navigation-Controller:
1
2
3
4
| ABKContentCardsTableViewController *contentCards = [[ABKContentCardsTableViewController alloc] init];
contentCards.title = @"Content Cards Title";
contentCards.disableUnreadIndicator = YES;
[self.navigationController pushViewController:contentCards animated:YES];
|
1
2
3
4
| let contentCards = ABKContentCardsTableViewController()
contentCards.title = "Content Cards Title"
contentCards.disableUnreadIndicator = true
navigationController?.pushViewController(contentCards, animated: true)
|

Hinweis
Um den Titel der Navigationsleiste anzupassen, legen Sie die Eigenschaft title des navigationItem der ABKContentCardsTableViewController-Instanz fest.
Modaler Kontext
Dieses Modal wird verwendet, um den View-Controller in einer modalen Ansicht zu präsentieren, mit einer Navigationsleiste oben und einem Done-Button an der Seite der Leiste.
1
2
3
4
| ABKContentCardsViewController *contentCards = [[ABKContentCardsViewController alloc] init];
contentCards.contentCardsViewController.title = @"Content Cards Title";
contentCards.contentCardsViewController.disableUnreadIndicator = YES;
[self.navigationController presentViewController:contentCards animated:YES completion:nil];
|
1
2
3
4
| let contentCards = ABKContentCardsViewController()
contentCards.contentCardsViewController.title = "Content Cards Title"
contentCards.contentCardsViewController.disableUnreadIndicator = true
self.present(contentCards, animated: true, completion: nil)
|
Beispiele für View-Controller finden Sie in unserer Content-Cards-Beispiel-App.

Hinweis
Um die Kopfzeile anzupassen, legen Sie die Eigenschaft title des navigationItem fest, das zur ABKContentCardsTableViewController-Instanz gehört, die in der übergeordneten ABKContentCardsViewController-Instanz eingebettet ist.