Firebase 應用內消息提供了一組有用的預配置行為和消息類型,具有默認外觀,但在某些情況下,您可能希望擴展行為和消息內容。應用內消息允許您向消息添加操作並自定義消息外觀。
向您的消息添加操作
通過操作,您可以使用應用內消息將用戶引導至網站或應用中的特定屏幕。
實現深層鏈接處理程序
Firebase 應用內消息使用鏈接處理程序來處理操作。 SDK 能夠使用許多處理程序,因此如果您的應用已經有一個,Firebase 應用內消息可以使用它而無需任何進一步的設置。如果您還沒有處理程序,則可以使用 Firebase 動態鏈接。要了解更多信息,請閱讀在 iOS 上創建動態鏈接。
使用 Firebase 控制台將操作添加到您的消息中
一旦您的應用程序具有鏈接處理程序,您就可以通過操作來編寫廣告系列了。打開 Firebase 控制台到In-App Messaging ,然後開始一個新的活動或編輯一個現有的活動。在該活動中,提供Card 、 Button text和Button action 、 Image action或Banner action ,其中該操作是相關的深層鏈接。
操作的格式取決於您選擇的消息佈局。 Modals 獲得具有可自定義按鈕文本內容、文本顏色和背景顏色的操作按鈕。另一方面,圖像和頂部橫幅變成交互式並在點擊時調用指定的操作。
修改消息外觀
Firebase 應用內消息讓您可以自定義消息顯示,以更改您的應用呈現消息佈局、字體樣式、按鈕形狀和其他詳細信息的方式。有兩種方法可以修改消息顯示:修改默認的 Firebase 應用內消息顯示或從頭開始創建您自己的消息顯示庫。
修改默認顯示
自定義消息最直接的方法是構建 Firebase 應用內消息的默認消息顯示代碼。
克隆firebase-ios-sdk
庫
首先,克隆最新版本的firebase-ios-sdk
存儲庫,然後打開InAppMessaging 目錄。
選擇要修改的消息類型
克隆 repo 後,您可以修改任何或所有 Firebase In-App Messaging 消息類型: Card
、 Modal
、 Banner
和ImageOnly
。每種類型對應於 Firebase 應用內消息活動創建流程中的消息佈局。
因此,每種類型都可以訪問一組不同的數據,這些數據由 Firebase 控制台中的廣告系列自定義選項確定:
類型 | 標題文本 | 主體 | 文字顏色 | 背景顏色 | 圖像數據 | 動作按鈕 | 次要動作按鈕 |
---|---|---|---|---|---|---|---|
卡片 | |||||||
模態 | |||||||
橫幅 | |||||||
僅圖像 |
修改消息顯示渲染代碼
考慮到消息類型限制,您可以隨意修改它們。您可以創建一個顯示在應用底部的橫幅,在模式上移動操作按鈕,將應用內消息嵌入用戶的提要中,或進行任何其他修改以使消息的外觀和感覺適合您的應用.
修改消息顯示時主要需要注意兩點:
- 消息類型目錄:每種消息類型都有一個單獨的目錄,其中包含確定該類型邏輯的文件:
- Storyboard:
InAppMessaging
庫還有一個.storyboard
文件,可幫助定義所有三種消息類型的 UI:
修改首選消息類型目錄和.storyboard
的相應部分中的文件,以創建自定義消息顯示。
更新您的 podfile 以使用您修改後的InAppMessaging
代碼
要讓 Firebase In-App Messaging 使用您修改的消息顯示而不是默認顯示,請更新您的 podfile 以使用您自定義的InAppMessaging
庫:
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'YourProject' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for YourProject pod 'Firebase' # Remove the default InAppMessaging pod: # pod 'Firebase/InAppMessaging' # Overwrite it with a version that points to your local copy: pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/' end
創建自己的消息顯示庫
您不僅限於使用InAppMessaging
庫來創建用於顯示消息的 UI。您也可以從頭開始編寫自己的代碼。
構建一個實現InAppMessagingDisplay
協議的類
Firebase In-App Messaging 使用InAppMessaging
類來處理 Firebase 服務器和您的應用之間的通信。反過來,該類使用InAppMessagingDisplay
協議來顯示它接收到的消息。要構建您自己的顯示庫,請編寫一個實現該協議的類。
協議定義和如何符合它的文檔位於InAppMessaging
庫的FIRInAppMessagingDisplay.h
文件中。
設置messageDisplayComponent
以使用您的消息顯示庫
InAppMessaging
使用其messageDisplayComponent
屬性來確定在顯示消息時使用哪個對象。將該屬性設置為自定義消息顯示類的對象,以便 Firebase 應用內消息知道使用您的庫來呈現消息:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance