卡集成內容
內容的卡片數據模型
內容的卡片數據模型是可用的BrazeKit
模塊的iOS SDK。
獲得數據
訪問內容的卡片數據模型,調用contentCards.cards
在你的釺
實例。
1
讓卡片:(釺。ContentCard]=AppDelegate。釺嗎?。contentCards。卡片
此外,您還可以維持一個訂閱觀察的變化內容。可以以兩種方式之一:
- 維護一個可刪除的;或
- 維護一個
AsyncStream
。
1 2 3 4 5 6
/ /這個訂閱通過釺可刪除的維護,將觀察到的變化,直到取消訂閱。/ /你必須保持一個強引用的可刪除的訂閱活躍。/ /訂閱取消deinitialized可刪除的時或者當你叫它“.cancel()的方法。讓可刪除的=AppDelegate。釺嗎?。contentCards。subscribeToUpdates{(弱自我]contentCards在/ /實現完成處理器應對更新“contentCards”。}
1
讓流:AsyncStream<(釺。ContentCard]>=AppDelegate。釺嗎?。contentCards。cardsStream
1
NSArray<BRZContentCardRaw* >*contentCards=AppDelegate。釺。contentCards。卡片;
此外,如果你想維持一個訂閱你的內容,你可以調用subscribeToUpdates
:
1 2 3 4
/ /這個訂閱保持通過釺可刪除的,將繼續觀察變化,直到取消訂閱。BRZCancellable*可刪除的=(自我。釺。contentCardssubscribeToUpdates:^(NSArray<BRZContentCardRaw* >*contentCards){/ /實現完成處理器應對更新“contentCards”。});
內容卡模型
釺提供五個內容卡片類型:橫幅,標題形象,經典,經典的形象,和控製。每種類型的實現Braze.ContentCard
類型。注意,BrazeKit提供了一個選擇ContentCardRaw
objective - c類兼容性。
內容卡屬性的完整列表,以及使用內容卡的詳細信息,參考ContentCard
類文檔。
卡的方法
每張卡片的初始化上下文
對象,該對象包含各種方法來管理你的牌的狀態。調用這些方法當你想修改相應的國有資產卡片上一個特定的對象。
方法 | 描述 |
---|---|
card.context ? .logImpression () |
事件日誌卡內容的印象。 |
card.context ? .logClick () |
日誌內容卡單擊事件。 |
card.context ? .processClickAction () |
一個給定的過程ClickAction 輸入。 |
card.context ? .logDismissed () |
日誌內容卡解雇事件。 |
card.context ? .logError () |
卡日誌錯誤相關的內容。 |
card.context ? .loadImage () |
從一個URL加載給定內容卡片信息。這種方法可以零當卡沒有圖像的內容。 |
有關詳細信息,請參閱上下文
類文檔
刷新內容的卡片
動態顯示最新內容的卡片沒有手動刷新,選擇在第一印象在卡片的創建。這些卡片將刷新後可用。
您可以手動請求釺刷新卡使用用戶的內容requestRefresh
方法釺
實例:
迅速、內容卡可以用一個可選的刷新完成處理器或與異步返回使用本機迅速並發api。
1 2 3
AppDelegate。釺嗎?。contentCards。requestRefresh{結果在/ /實現完成處理器}
1
讓contentCards=等待AppDelegate。釺嗎?。contentCards。requestRefresh()
1 2 3
(AppDelegate。釺。contentCardsrequestRefreshWithCompletion:^(NSArray<BRZContentCardRaw* >*contentCards,NSError*錯誤){/ /實現完成處理器});
調用的違約率限製requestRefresh
是每10分鍾/ 3調用設備以防止性能下降和錯誤。
內容的卡片界麵集成
卡UI可以集成的內容BrazeUI
圖書館的迅速SDK。這個庫提供了兩種視圖控製器上下文:導航或模態。關於iOS導航選項的更多信息,請參考蘋果開發人員文檔。
如果你想攔截和UI對卡片的內容生命周期,實現BrazeContentCardUIViewControllerDelegate
作為你的委托BrazeContentCardUI.ViewController
。
導航上下文
推動的例子BrazeContentCardUI.ViewController
實例為導航控製器:
1 2 3 4 5 6 7
函數pushViewController(){警衛讓釺=AppDelegate。釺其他的{返回}讓contentCardsController=BrazeContentCardUI。ViewController(釺:釺)/ /實現並設置“BrazeContentCardUIViewControllerDelegate”如果你想攔截點擊操作。contentCardsController。委托=自我自我。導航控製器嗎?。pushViewController(contentCardsController,動畫:真正的)}
1 2 3 4 5 6
- - - - - -(無效)pushViewController{BRZContentCardUIViewController*contentCardsController=[[BRZContentCardUIViewControlleralloc]initWithBraze:自我。釺];/ /實現並設置“BrazeContentCardUIViewControllerDelegate”如果你想攔截點擊操作。(contentCardsControllersetDelegate:自我];(自我。導航控製器pushViewController:contentCardsController動畫:是的];}
模態上下文
此模式用於模態視圖的視圖控製器,頂部導航欄和完成按鈕旁邊的酒吧。
1 2 3 4 5 6 7
函數presentModalViewController(){警衛讓釺=AppDelegate。釺其他的{返回}讓contentCardsModal=BrazeContentCardUI。ModalViewController(釺:釺)/ /實現並設置“BrazeContentCardUIViewControllerDelegate”如果你想攔截點擊操作。contentCardsModal。viewController。委托=自我自我。導航控製器嗎?。現在(contentCardsModal,動畫:真正的,完成:零)}
1 2 3 4 5 6
- - - - - -(無效)presentModalViewController{BRZContentCardUIModalViewController*contentCardsModal=[[BRZContentCardUIModalViewControlleralloc]initWithBraze:AppDelegate。釺];/ /實現並設置“BrazeContentCardUIViewControllerDelegate”如果你想攔截點擊操作。(contentCardsModal。viewControllersetDelegate:自我];(自我。導航控製器presentViewController:contentCardsModal動畫:是的完成:零];}
例如使用BrazeUI視圖控製器,檢查相應的卡片UI樣品在我們的內容示例應用程序。