自訂 Firebase 應用程式內通訊訊息

Firebase 應用程式內通訊提供一組實用的預設行為, 您的訊息類型含有預設的外觀和風格,不過在某些情況下 以及延伸行為和訊息內容你可以透過應用程式內通訊功能新增動作 自訂訊息的外觀和風格。

在訊息中加入動作

透過這些操作,您可以運用應用程式內的訊息將使用者導向 網站或應用程式的特定畫面

Firebase 應用程式內通訊會使用連結處理常式來處理動作。SDK 能使用多個處理常式。因此,如果您的應用程式已有處理常式,Firebase 應用程式內通訊 即可使用該資源,無須進行任何額外設定如果你還未這項程序 可以使用 Firebase Dynamic Links詳情請參閱: 在 iOS 上建立 Dynamic Links

使用 Firebase 控制台在訊息中新增動作

應用程式取得連結處理常式後,您就可以使用 動作。開啟 Firebase 控制台,即可執行以下操作 訊息、 並建立新的廣告活動或編輯現有廣告活動。在該廣告活動中 資訊卡按鈕文字按鈕動作圖片動作橫幅廣告 動作,其中動作是相關的深層連結。

動作的格式取決於您選擇的訊息版面配置。強制回應 動作按鈕,包含可自訂的按鈕文字內容、文字顏色和背景 顏色。另一方面,圖片和頂端橫幅廣告則變為互動式廣告 指定動作。

修改郵件的外觀和風格

Firebase 應用程式內通訊可讓您自訂訊息的顯示方式,變更應用程式的顯示方式 訊息版面配置、字型樣式、按鈕形狀等詳細資料。這裡共有兩個 修改訊息的顯示方式:修改預設的 Firebase 應用程式內通訊 從頭開始顯示或建立自己的訊息顯示程式庫。

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

修改預設顯示方式

自訂訊息最簡便的方法,就是以 Firebase 應用程式內通訊的預設訊息顯示程式碼。

複製 firebase-ios-sdk 存放區

如要開始使用,請複製最新版本。 進入 firebase-ios-sdk 存放區,然後開啟 InAppMessaging 目錄

選取要修改的訊息類型

複製存放區後,您可以修改任何或所有 Firebase 應用程式內通訊訊息類型: CardModalBannerImageOnly。每個類型都會對應到 訊息版面配置。

因此,每種類型都能存取一組不同的資料, Firebase 控制台中的廣告活動自訂選項:

類型 標題文字 內文 文字顏色 背景顏色 圖片資料 動作按鈕 次要動作按鈕
資訊卡
動態視窗
橫幅
僅限圖片

修改訊息顯示程式碼

知道這些訊息類型限制後,您可以自由修改 設為符合需求的選項。您可以建立顯示在應用程式底部的橫幅 瀏覽互動視窗的動作按鈕,並將應用程式內訊息嵌入使用者的 或任何其他會對訊息造成威脅的修改外觀和風格

修改郵件顯示時,請特別注意兩件事:

修改偏好郵件類型中的檔案」和相應的 「.storyboard」的區段可用來建立自訂訊息。

更新 podfile,使用修改後的 InAppMessaging 程式碼

如要讓 Firebase 應用程式內通訊功能使用修改過的訊息,而非預設訊息 顯示,請更新 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