自訂您的 Firebase 應用程式內訊息傳遞訊息

Firebase 應用程式內訊息傳遞提供了一組有用的預先配置行為和訊息類型,具有預設的外觀和風格,但在某些情況下,您可能想要擴展行為和訊息內容。應用程式內訊息傳遞可讓您為訊息新增操作並自訂訊息的外觀和風格。

在您的訊息中新增操作

透過操作,您可以使用應用程式內訊息將使用者引導至網站或應用程式中的特定螢幕。

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

使用 Firebase 控制台將操作新增至您的訊息中

一旦您的應用程式有了連結處理程序,您就可以準備好使用操作來編寫行銷活動了。開啟 Firebase 控制台的Messaging ,然後啟動新的行銷活動或編輯現有的行銷活動。在該活動中,提供卡片按鈕文字按鈕操作圖像操作橫幅操作,其中操作是相關的深層連結。

操作的格式取決於您選擇的訊息佈局。模態框取得具有可自訂按鈕文字內容、文字顏色和背景顏色的操作按鈕。另一方面,圖像和頂部橫幅變得具有互動性,並在點擊時呼叫指定的操作。

修改訊息的外觀

Firebase 應用程式內訊息傳遞可讓您自訂訊息顯示,以變更應用程式呈現訊息佈局、字體樣式、按鈕形狀和其他詳細資訊的方式。修改訊息顯示有兩種方法:修改預設的 Firebase 應用程式內訊息顯示或從頭開始建立您自己的訊息顯示庫。

注意:此產品不適用於 macOS、Mac Catalyst、App Clip 或 watchOS 目標。

修改預設顯示

自訂訊息的最直接方法是建立 Firebase 應用程式內訊息的預設訊息顯示程式碼。

克隆firebase-ios-sdk存儲庫

首先,複製最新版本firebase-ios-sdk儲存庫,然後開啟InAppMessaging 目錄

選擇要修改的訊息類型

複製儲存庫後,您可以修改任何或所有 Firebase 應用程式內訊息傳遞訊息類型: CardModalBannerImageOnly 。每種類型都對應於 Firebase 應用程式內訊息行銷活動建立流程中的訊息佈局。

因此,每種類型都可以存取不同的資料集,具體由 Firebase 控制台中的廣告系列自訂選項決定:

類型標題文本主體文字顏色背景顏色影像資料動作按鈕輔助操作按鈕
卡片
莫代爾
橫幅
僅影像

修改訊息顯示渲染程式碼

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

修改訊息顯示時主要要注意兩點:

修改您首選訊息類型目錄中的檔案以及.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
完成後,您可以更新 Pod、重建應用程式並查看新的自訂訊息顯示。

建立您自己的訊息顯示庫

您並不局限於使用InAppMessaging庫來建立用於顯示訊息的 UI。您也可以從頭開始編寫自己的程式碼。

建構一個實作InAppMessagingDisplay協定的類

Firebase 應用程式內訊息傳遞使用InAppMessaging類別來處理 Firebase 伺服器與您的應用程式之間的通訊。該類別又使用InAppMessagingDisplay協定來顯示它接收到的訊息。要建立您自己的顯示庫,請編寫一個實作該協定的類別。

協議定義和有關如何遵守該協議的文件位於InAppMessaging庫的FIRInAppMessagingDisplay.h文件中。

設定messageDisplayComponent以使用您的訊息顯示庫

InAppMessaging使用其messageDisplayComponent屬性來決定顯示訊息時使用哪個物件。將該屬性設定為自訂訊息顯示類別的對象,以便 Firebase 應用程式內訊息傳遞知道使用您的庫來呈現訊息:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance