Firebase 應用程式內通訊功能提供一組預先設定的行為和訊息類型,並提供預設外觀,但在某些情況下,您可能需要擴充行為和訊息內容。應用程式內通訊功能可讓您在訊息中加入動作,並自訂訊息的外觀和風格。
在訊息中加入動作
您可以使用動作,透過應用程式內訊息將使用者導向網站或應用程式中的特定畫面。
實作深層連結處理常式
Firebase In-App Messaging 會使用連結處理常式處理動作。SDK 可使用多個處理常式,因此如果應用程式已具有一個處理常式,Firebase In-App Messaging 即可使用該處理常式,無須額外設定。如果您尚未有處理程序,可以使用 Firebase Dynamic Links。如需更多資訊,請參閱「在 iOS 上建立 Dynamic Links」。
使用 Firebase 控制台在訊息中加入動作
應用程式有了連結處理常式後,您就可以使用動作編寫廣告活動。開啟 Firebase 主控台,前往「訊息」,然後開始新的廣告活動或編輯現有廣告活動。在該廣告活動中提供資訊卡、按鈕文字和按鈕動作、圖片動作或橫幅動作,其中動作為相關的深層連結。
動作的格式取決於您選擇的訊息版面配置。對話方塊會取得可自訂按鈕文字內容、文字顏色和背景顏色的動作按鈕。另一方面,圖片和頂端橫幅會變成互動式,並在使用者輕觸時叫用指定動作。
修改訊息外觀和風格
Firebase In-App Messaging 可讓您自訂訊息顯示方式,變更應用程式顯示訊息的版面配置、字型樣式、按鈕形狀和其他詳細資料的方式。您可以透過兩種方式修改訊息顯示方式:修改預設的 Firebase In-App Messaging 顯示方式,或從頭建立自己的訊息顯示程式庫。
修改預設顯示畫面
如要自訂訊息,最簡單的方法就是使用 Firebase In-App Messaging 的預設訊息顯示程式碼。
複製 firebase-ios-sdk
存放區
如要開始使用,請複製 firebase-ios-sdk
存放區的最新版本,然後開啟 InAppMessaging 目錄。
選取要修改的訊息類型
複製存放區後,您可以修改任何或所有 Firebase In-App Messaging 訊息類型:Card
、Modal
、Banner
和 ImageOnly
。每個類型都對應至 Firebase In-App Messaging 廣告活動建立流程中的訊息版面配置。
因此,每個類型都會存取不同的資料集,這取決於 Firebase 控制台中的廣告活動自訂選項:
類型 | titleText | bodyText | textColor | backgroundColor | imageData | actionButton | secondaryActionButton |
---|---|---|---|---|---|---|---|
資訊卡 | |||||||
動態視窗 | |||||||
橫幅 | |||||||
ImageOnly |
修改訊息顯示算繪程式碼
請注意訊息類型的限制,您可以自由修改這些訊息。您可以建立在應用程式底部顯示的橫幅、在模式視窗中移動動作按鈕、在使用者動態中嵌入應用程式內訊息,或進行任何其他修改,讓訊息的外觀和感受與應用程式相符。
修改訊息顯示方式時,請注意以下兩點:
- 訊息類型目錄:每個訊息類型都有一個獨立的目錄,其中包含用於決定該類型邏輯的檔案:
- 情節板:
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 In-App Messaging 知道要使用您的程式庫來轉譯訊息:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance