跳到內容

卡集成內容

內容的卡片數據模型

內容的卡片數據模型是可用的BrazeKit模塊的iOS SDK。

獲得數據

訪問內容的卡片數據模型,調用contentCards.cards在你的實例。


            
1
卡片:(ContentCard]=AppDelegate嗎?contentCards卡片

此外,您還可以維持一個訂閱觀察的變化內容。可以以兩種方式之一:

  1. 維護一個可刪除的;或
  2. 維護一個AsyncStream

              
1 2 3 4 5 6
/ /這個訂閱通過釺可刪除的維護,將觀察到的變化,直到取消訂閱。/ /你必須保持一個強引用的可刪除的訂閱活躍。/ /訂閱取消deinitialized可刪除的時或者當你叫它“.cancel()的方法。可刪除的=AppDelegate嗎?contentCardssubscribeToUpdates{(自我]contentCards/ /實現完成處理器應對更新“contentCards”。}

              
1
:AsyncStream<(ContentCard]>=AppDelegate嗎?contentCardscardsStream

            
1
NSArray<BRZContentCardRaw* >*contentCards=AppDelegatecontentCards卡片;

此外,如果你想維持一個訂閱你的內容,你可以調用subscribeToUpdates:


            
1 2 3 4
/ /這個訂閱保持通過釺可刪除的,將繼續觀察變化,直到取消訂閱。BRZCancellable*可刪除的=(自我contentCardssubscribeToUpdates:^(NSArray<BRZContentCardRaw* >*contentCards){/ /實現完成處理器應對更新“contentCards”。});

內容卡模型

釺提供五個內容卡片類型:橫幅,標題形象,經典,經典的形象,和控製。每種類型的實現Braze.ContentCard類型。注意,BrazeKit提供了一個選擇ContentCardRawobjective - 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嗎?contentCardsrequestRefresh{結果/ /實現完成處理器}

              
1
contentCards=等待AppDelegate嗎?contentCardsrequestRefresh()

            
1 2 3
(AppDelegatecontentCardsrequestRefreshWithCompletion:^(NSArray<BRZContentCardRaw* >*contentCards,NSError*錯誤){/ /實現完成處理器});

內容的卡片界麵集成

卡UI可以集成的內容BrazeUI圖書館的迅速SDK。這個庫提供了兩種視圖控製器上下文:導航或模態。關於iOS導航選項的更多信息,請參考蘋果開發人員文檔

如果你想攔截和UI對卡片的內容生命周期,實現BrazeContentCardUIViewControllerDelegate作為你的委托BrazeContentCardUI.ViewController

推動的例子BrazeContentCardUI.ViewController實例為導航控製器:


            
1 2 3 4 5 6 7
函數pushViewController(){警衛=AppDelegate其他的{返回}contentCardsController=BrazeContentCardUIViewController(:)/ /實現並設置“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=BrazeContentCardUIModalViewController(:)/ /實現並設置“BrazeContentCardUIViewControllerDelegate”如果你想攔截點擊操作。contentCardsModalviewController委托=自我自我導航控製器嗎?現在(contentCardsModal,動畫:真正的,完成:)}

            
1 2 3 4 5 6
- - - - - -(無效)presentModalViewController{BRZContentCardUIModalViewController*contentCardsModal=[[BRZContentCardUIModalViewControlleralloc]initWithBraze:AppDelegate];/ /實現並設置“BrazeContentCardUIViewControllerDelegate”如果你想攔截點擊操作。(contentCardsModalviewControllersetDelegate:自我];(自我導航控製器presentViewController:contentCardsModal動畫:是的完成:];}

例如使用BrazeUI視圖控製器,檢查相應的卡片UI樣品在我們的內容示例應用程序

這個頁麵是如何幫助?
新東西!
Baidu
map