Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

自定義您的 Firebase 應用內消息

Firebase 應用內消息提供了一組有用的預配置行為和消息類型,具有默認外觀,但在某些情況下,您可能希望擴展行為和消息內容。應用內消息傳遞允許您向消息添加操作並自定義消息外觀。

向您的消息添加操作

通過操作,您可以使用應用內消息將用戶引導至應用中的網站或特定屏幕。

Firebase 應用內消息傳遞使用鏈接處理程序來處理操作。 SDK 能夠使用多個處理程序,因此如果您的應用程序已經有一個處理程序,Firebase 應用內消息傳遞可以使用它而無需任何進一步設置。如果您還沒有處理程序,則可以使用 Firebase 動態鏈接。要了解更多信息,請閱讀創建iOS上的動態鏈接

使用 Firebase 控制台將操作添加到您的消息中

一旦您的應用程序有了鏈接處理程序,您就可以準備使用操作來製作廣告系列了。打開火力地堡控制台應用內廣告消息,並啟動新的廣告活動或編輯現有的廣告活動。在那次戰役中,提供了一個按鈕文字按鈕動作圖像行動,或一條橫幅行動,行動的地方相關的深層鏈接。

操作的格式取決於您選擇的消息佈局。模態獲得具有可自定義按鈕文本內容、文本顏色和背景顏色的操作按鈕。另一方面,圖像和頂部橫幅會變得可交互並在點擊時調用指定的操作。

修改消息外觀

Firebase 應用內消息讓您可以自定義消息顯示,以更改應用呈現消息佈局、字體樣式、按鈕形狀和其他詳細信息的方式。有兩種方法可以修改消息顯示:修改默認的 Firebase 應用內消息顯示或從頭開始創建您自己的消息顯示庫。

修改默認顯示

自定義消息的最直接方法是基於 Firebase 應用內消息傳遞的默認消息顯示代碼進行構建。

克隆的firebase-ios-sdk回購

要開始,克隆了最新版本的的firebase-ios-sdk回購,並打開InAppMessaging目錄

選擇要修改的消息類型

隨著回購克隆,您可以修改任何或全部的火力地堡應用內廣告消息的消息類型: CardModalBannerImageOnly 。每種類型都對應於 Firebase 應用內消息活動創建流程中的消息佈局。

因此,每種類型都可以訪問不同的數據集,由 Firebase 控制台中的廣告系列自定義選項決定:

類型標題文本文章主體文字顏色背景顏色圖像數據動作按鈕次要操作按鈕
卡片
模態
橫幅
僅圖像

修改消息顯示渲染代碼

考慮到消息類型限制,您可以隨意修改它們。您可以創建一個顯示在應用底部的橫幅、在模式上的操作按鈕周圍移動、將應用內消息嵌入用戶的提要中,或進行任何其他修改以使消息的外觀和感覺適合您的應用.

修改消息顯示時主要有兩點需要注意:

在您的首選消息類型“目錄修改文件和相應部分.storyboard創建自定義信息顯示。

更新您的podfile使用修改後的InAppMessaging代碼

要獲得火力地堡應用內廣告信息,而不是使用默認的顯示修改後的消息顯示,更新您的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
完成後,您可以更新 Pod、重建應用程序並查看新的自定義消息顯示。

創建您自己的消息顯示庫

你不局限於從工作InAppMessaging庫創建用於顯示消息的UI。您也可以從頭開始編寫自己的代碼。

構建一個類實現了InAppMessagingDisplay協議

火力地堡應用程式消息使用InAppMessaging類火力地堡服務器和你的應用程序之間處理通信。該類,反過來,使用InAppMessagingDisplay協議來顯示它接收到的消息。要構建您自己的顯示庫,請編寫一個實現該協議的類。

該協議定義和文檔如何順應它是在FIRInAppMessagingDisplay.h的文件InAppMessaging庫。

設置messageDisplayComponent使用您的信息顯示庫

InAppMessaging使用其messageDisplayComponent屬性來確定顯示信息時要使用哪個對象。將該屬性設置為自定義消息顯示類的對象,以便 Firebase 應用內消息傳遞知道使用您的庫來呈現消息:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance