建立和傳送推播通知

瞭解如何使用Experience Platform Mobile SDK和Journey Optimizer為行動應用程式建立推播通知。

Journey Optimizer可讓您建立歷程,並傳送訊息給目標對象。 在使用Journey Optimizer傳送推播通知之前,您必須確保有適當的設定和整合。 若要瞭解Journey Optimizer中的推播通知資料流程,請參閱檔案

架構 {modal="regular"}

NOTE
本課程為選修課程,僅適用於想要傳送推播通知的Journey Optimizer使用者。

先決條件

  • 成功建立並執行應用程式,且已安裝並設定SDK。

  • 為Adobe Experience Platform設定應用程式。

  • 存取Journey Optimizer和足夠的許可權。 此外,您需要足夠的許可權才能使用下列Journey Optimizer功能。

    • 建立推播認證。
    • 建立推播通道設定。
    • 建立歷程。
    • 建立訊息。
    • 建立訊息預設集。
  • 針對iOS,為​ 付費Apple開發人員帳戶,其存取許可權足以建立憑證、識別碼和金鑰。

  • Android的Google開發人員帳戶,具有建立憑證和金鑰的足夠存取權。

  • 實體iOS或Android裝置或模擬器以進行測試。

學習目標

在本課程中,您將學習

  • 向Apple推播通知服務(APN)註冊應用程式ID。
  • 在Journey Optimizer中建立管道設定。
  • 更新您的結構描述以包含推送訊息欄位。
  • 安裝及設定Journey Optimizer標籤擴充功能。
  • 更新您的應用程式以註冊Journey Optimizer標籤擴充功能。
  • 驗證Assurance中的設定。
  • 從Assurance傳送測試訊息
  • 在Journey Optimizer中定義您自己的推播通知事件、歷程和體驗。
  • 從應用程式內傳送您自己的推播通知。

設定

TIP
如果您已經在Journey Optimizer應用程式內傳訊課程中設定環境,您可能已經執行此設定區段中的某些步驟。

建立推播認證

針對推播通知,您必須先註冊推播通知的應用程式。

iOS

下列步驟並非特定於Adobe Experience Cloud,而是旨在引導您完成APN設定。

  1. 在Apple開發人員入口網站中,瀏覽至​ 金鑰

  2. 若要建立金鑰,請選取​ +

    建立新金鑰 {modal="regular"}

  3. 提供​ 金鑰名稱

  4. 選取​ Apple推播通知服務 (APN),然後選取​ 設定

    1. 在​ 設定索引鍵 ​畫面中,從​ 環境 ​下拉式選單中選取​ 沙箱與生產
    2. 選取「儲存」。
  5. 選取​ 繼續

    設定新金鑰 {modal="regular"}

  6. 檢閱組態並選取​ 註冊

  7. 下載.p8私密金鑰。 當您設定Journey Optimizer推送認證時,它將在下一個練習中使用。

  8. 記下​ 金鑰識別碼。 當您設定Journey Optimizer推送認證時,它將在下一個練習中使用。

  9. 記下​ 團隊識別碼。 當您設定Journey Optimizer推送認證時,它將在下一個練習中使用。 團隊ID可在畫面右上角找到,位於您的登入名稱旁。
    金鑰詳細資料 {modal="regular"}

其他檔案可在此處找到。

Android

下列步驟並非特定於Adobe Experience Cloud,而是設計用來引導您完成Firebase設定。

  1. 存取Firebase主控台。

  2. 選取​ 建立Firebase專案

    1. 輸入​ 專案名稱
    2. 在​ 建立專案 ​中選取​ 繼續 - 讓我們以您專案的名稱 ​開始。 例如, Luma Android App.
    3. 停用Firebase中的​ Gemini,並在​ 建立專案 ​中選取​ 繼續 - 您的Firebase專案的AI協助
    4. 停用此專案的​ Google Analytics,並選取​ 為您的Firebase專案建立專案 - Google Analytics ​中的​ 繼續
    5. 選取​ 建立專案
    6. 專案準備就緒後,選取​ 繼續
  3. 返回Firebase主控台,確定您的專案已選取在頂端。 例如,Luma Android App

    Firebase主控台 {modal="regular"}

  4. 選取 設定 > 專案設定

  5. 在​ 專案設定 ​中,選取​ 新增應用程式

    1. 在​ 將Firebase新增至您的應用程式 ​中,選取​ Android ​作為平台。

    2. 在​ 將Firebase新增至您的Android應用程式中:

      1. 在步驟1,註冊應用程式

        1. 輸入Android套件名稱,類似於應用程式識別碼。 例如 com.adobe.luma.tutorial.android
        2. 輸入選用的​ 應用程式暱稱
        3. 選取​ 註冊應用程式
      2. 在步驟2中,下載然後新增設定檔

        1. 選取 下載 下載google-services.json。 當您建置您自己的Android應用程式版本時,您應該將範例Android Studio專案中目前的google-services.json檔案取代為此新應用程式設定產生的檔案版本。
          已在範例應用程式中注意其他步驟。

    您的畫面應如下所示:

    Firebase主控台 {modal="regular"}

  6. 在​ 專案設定 ​中,選取​ 服務帳戶

  7. 選取​ 產生新的私密金鑰。 已產生luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json檔案。 將此檔案儲存在安全的地方,因為您稍後需要檔案。

如需詳細資訊,請參閱Firebase開發人員檔案

在資料收集中新增應用程式推送認證

接下來,您需要新增行動應用程式推送認證,以授權Adobe代表您傳送推送通知。 您可以在Data Collection或Journey Optimizer中新增推送認證。 在本教學課程中,將會使用資料收集介面。 然後,推送認證會連結至Journey Optimizer中的管道設定。

  1. 在資料收集中,選取​ 應用程式表面

  2. 選取​ 建立應用程式表面

  3. 在​ 建立應用程式表面 ​介面中:

    1. 輸入​ 名稱

    2. 若要傳送Apple iOS的推播通知,請選取​ iOS

      1. 輸入您的​ 應用程式識別碼,例如com.adobe.luma.tutorial.swiftui
      2. 選取沙箱(選用)。
      3. 啟用​ 推送認證
      4. 將儲存的.p8私密金鑰檔案拖放到​ 拖放您的檔案
      5. 輸入​ 金鑰識別碼
      6. 輸入​ 團隊識別碼
    3. 若要傳送Android的推播通知,請選取​ Android

      1. 輸入您的​ 應用程式識別碼,例如com.adobe.luma.tutorial.android
      2. 選取沙箱(選用)。
      3. 啟用​ 推送認證
      4. 將儲存的luma-android-app-firebase-adminsdk-xxxx-xxxxxxxx.json檔案拖放到​ 拖放您的檔案

    在Journey Optimizer中建立新的推播認證組態 {modal="regular"}

  4. 選取​ 「儲存」。如果所有資訊皆正確,表示您已建立推送認證以與管道設定建立關聯。

在Journey Optimizer中建立推送的管道設定

建立推送認證設定後,您必須建立設定,才能從Journey Optimizer傳送推送通知。

  1. 在Journey Optimizer介面中,開啟​ 頻道 > 一般設定 > 頻道設定 ​功能表,然後選取​ 建立頻道設定

    建立新的頻道設定 {modal="regular"}

  2. 輸入設定的名稱和說明(選擇性)。

    note note
    NOTE
    名稱必須以字母(A-Z)開頭。 它只能包含英數字元。 您也可以使用底線 _、點 . 和連字號 - 字元。
  3. 若要將自訂或核心資料使用標籤指派給組態,您可以選取​ 管理存取權進一步瞭解物件層級存取控制(OLAC)

  4. 選取​ 推播 ​頻道。

  5. 選取​ 行銷動作,以使用此設定來關聯同意原則與訊息。 所有與行銷動作相關的同意政策都會被用來尊重客戶的偏好設定。 進一步瞭解行銷動作

  6. 選擇您的​ 平台。 您可以針對頻道設定同時設定​ iOS ​和​ Android

  7. 選取您先前用來定義推送認證的適當​ 應用程式ID。 例如,適用於iOS的​ com.adobe.luma.tutorial.swiftui ​和適用於Android的​ com.adobe.luma.tutorial.android。 綠色的 CheckmarkCircle 表示有效的推播認證與通道設定相關聯。

    推播通道設定 {modal="regular"}

  8. 選取​ 提交 ​以儲存您的變更。

更新資料流設定

為確保將從您的行動應用程式傳送至Edge Network的資料轉送至Journey Optimizer,請更新您的Experience Edge設定。

  1. 在資料收集UI中,選取​ 資料串流,然後選取您的資料串流,例如​ Luma Mobile App

  2. 選取 Experience Platform 的​ 更多,並從內容功能表選取 編輯 編輯

  3. 在​ 資料串流 > 資料夾 > Adobe Experience Platform ​畫面中:

    1. 如果尚未選取,請從​ 設定檔資料集 ​中選取​ AJO推播設定檔資料集。 使用MobileCore.setPushIdentifier API呼叫時需要此設定檔資料集(請參閱註冊裝置權杖以取得推播通知)。 此選擇也可確保推送通知的唯一識別碼(亦即推送識別碼)會儲存為使用者設定檔的一部分。

    2. 已選取​ Adobe Journey Optimizer。 如需詳細資訊,請參閱Adobe Experience Platform設定

    3. 若要儲存您的資料流組態,請選取​ 儲存

    AEP資料流組態 {modal="regular"}

安裝Journey Optimizer標籤擴充功能

若要讓應用程式與Journey Optimizer搭配使用,您必須更新標籤屬性。

  1. 導覽至​ 標籤 > 擴充功能 > 目錄

  2. 開啟您的屬性,例如​ Luma Mobile App Tutorial

  3. 選取​ 目錄

  4. 搜尋​ Adobe Journey Optimizer ​擴充功能。

  5. 安裝擴充功能。

  6. 在​ 安裝擴充功能 ​對話方塊中

    1. 選取環境,例如​ 開發

    2. 從​ 事件資料集 ​清單中選取​ AJO推播追蹤體驗事件資料集 ​資料集。

    3. 選取​ 儲存至程式庫並建置

      AJO擴充功能設定 {modal="regular"}

NOTE
如果您沒有看到​ AJO推播追蹤體驗事件資料集 ​選項,請聯絡客戶服務。

使用Assurance驗證設定

  1. 檢閱設定指示區段,將您的模擬器或裝置連線到Assurance。

  2. 在Assurance UI中,選取​ 設定
    設定click {modal="regular"}

  3. 選取 推送偵錯 旁的​ 加號

  4. 選取「儲存」。
    儲存 {modal="regular"}

  5. 從左側導覽中選取​ 推播偵錯

  6. 選取「驗證安裝程式」標籤。

  7. 從​ 使用者端 ​清單中選取您的裝置。

  8. 確認您沒有收到任何錯誤。
    驗證 {modal="regular"}

  9. 選取​ 傳送測試推播 ​索引標籤。

  10. (選擇性)變更​ Title ​和​ Body ​的預設詳細資料,並確保您提供應用程式預期的所有引數,例如​ 進階 > 通知頻道 (Android的必要專案,例如LUMA_CHANNEL_ID)。

  11. 選取 錯誤 傳送測試推播通知

  12. 檢查​ 測試結果

    從Assurance測試推播通知 {modal="regular"}

  13. 您應該會看到測試推播通知出現在應用程式中。

iOS
{width="300"}
Android
{width="300"}

簽署

IMPORTANT
需要簽署iOS應用程式才能在iOS上傳送推播通知,需要付費的Apple開發人員帳戶。 您不需要簽署Android應用程式即可傳送推播通知。

若要更新應用程式的簽署:

  1. 前往Xcode中的應用程式。

  2. 在專案導覽器中選取​ Luma

  3. 選取​ Luma ​目標。

  4. 選取「簽署與功能」標籤。

  5. 設定​ 自動管理簽署團隊 ​和​ 套件組合識別碼,或使用您特定的Apple開發佈建詳細資料。

    note important
    IMPORTANT
    請確定您使用​_唯一_​組合識別碼並取代com.adobe.luma.tutorial.swiftui組合識別碼,因為每個組合識別碼必須是唯一的。 一般而言,您會使用反向DNS格式作為套件組合ID字串,例如com.organization.brand.uniqueidentifier。 例如,此教學課程的完成版本使用com.adobe.luma.tutorial.swiftui

    Xcode簽署功能 {modal="regular"}

將推播通知功能新增至您的應用程式

IMPORTANT
若要在iOS應用程式中實作與測試推播通知,您必須擁有​ 付費 Apple開發人員帳戶。
iOS
  1. 在Xcode中,從​ Luma TARGETS 清單中選取,選取​ 簽署與功能 ​標籤,選取​ +功能 ​按鈕,然後選取​ 推播通知。 此選取範圍可讓您的應用程式接收推播通知。

  2. 接下來,您必須將通知擴充功能新增至應用程式。 返回​ General ​標籤,並選取​ TARGETS ​區段底部的​ + ​圖示。

  3. 系統會提示您為新目標選取範本。 選取​ 通知服務延伸模組,然後選取​ 下一步

  4. 在下一個視窗中,使用NotificationExtension作為擴充功能的名稱,然後按一下​ 完成 ​按鈕。

現在,您應該會在應用程式中新增推播通知擴充功能,類似於下列畫面。

Pusn通知延伸 {modal="regular"}

Android

Android Studio專案已設定為推送通知。 您不需要執行額外的步驟,即可啟用Android版本的Luma應用程式以使用推播通知。 如需詳細資訊,請參閱關於通知

Android推播通知需要您在應用程式中及傳送推播通知時,定義通知通道id。 Android Luma應用程式中使用的管道通知ID為LUMA_CHANNEL ID

在應用程式中實作Journey Optimizer

如先前課程所述,安裝行動標籤擴充功能僅會提供設定。 接下來,您必須安裝並註冊傳訊SDK。 如果未清除這些步驟,請檢閱安裝SDK區段。

NOTE
如果您已完成安裝SDK區段,則表示已安裝SDK,您可以略過此步驟。
iOS
  1. 在Xcode中,請確定已將AEP訊息新增至套件相依性中的套件清單中。 請參閱Swift封裝管理員

  2. 導覽至Xcode專案導覽器中的​ Luma > Luma > AppDelegate

  3. 請確定AEPMessaging是匯入清單的一部分。

    import AEPMessaging

  4. 請確定Messaging.self是您註冊的擴充功能陣列的一部分。

    code language-swift
    let extensions = [
        AEPIdentity.Identity.self,
        Lifecycle.self,
        Signal.self,
        Edge.self,
        AEPEdgeIdentity.Identity.self,
        Consent.self,
        UserProfile.self,
        Places.self,
        Messaging.self,
        Optimize.self,
        Assurance.self
    ]
    
Android
  1. 在Android Studio中,確定aepsdk-messing-android是​ Android:app ChevronDown ​Gradle指令碼 中 build.gradle.kts (模組​ ​的相依性的一部分。 請參閱Gradle

  2. 在Android Studio專案導覽器中,導覽至​ Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication

  3. 請確定com.adobe.marketing.mobile.Messaging是匯入清單的一部分。

    import import com.adobe.marketing.mobile.Messaging

  4. 請確定Messaging.EXTENSION是您註冊的擴充功能陣列的一部分。

    code language-kotlin
    val extensions = listOf(
        Identity.EXTENSION,
        Lifecycle.EXTENSION,
        Signal.EXTENSION,
        Edge.EXTENSION,
        Consent.EXTENSION,
        UserProfile.EXTENSION,
        Places.EXTENSION,
        Messaging.EXTENSION,
        Optimize.EXTENSION,
        Assurance.EXTENSION
    )
    

註冊推播通知的裝置代號

您必須註冊裝置代號才能使用推播通知。

iOS
  1. 導覽至Xcode專案導覽器中的​ Luma > Luma > AppDelegate

  2. MobileCore.setPushIdentifier API新增至func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data)函式。

    code language-swift
    // Send push token to Mobile SDK
    MobileCore.setPushIdentifier(deviceToken)
    

    此函式擷取安裝應用程式的裝置所獨有的裝置代號。 然後使用您已設定的設定來設定推播通知傳送的代號,該設定依賴Apple的推播通知服務(APN)。

Android
  1. 在Android Studio專案導覽器中,導覽至​ Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > LumaApplication

  2. MobileCore.setPushIdentifier API新增至override fun onCreate()class LumaAplication : ApplicationFirebaseMessaging.getInstance().token.addOnCompleteListener函式。

    code language-kotlin
    // Send push token to Mobile SDK
    MobileCore.setPushIdentifier(token)
    

    此函式擷取安裝應用程式的裝置所獨有的裝置代號。 然後,使用您已設定的且依賴Firebase雲端通訊(FCM)的設定,設定推播通知傳送的代號。

IMPORTANT
僅適用於iOSMobileCore.updateConfigurationWith(configDict: ["messaging.useSandbox": true])會判斷推播通知是使用APNs沙箱或生產伺服器來傳送推播通知。 在模擬器或裝置上測試您的應用程式時,請確定messaging.useSandbox設為true以便您接收推播通知。 使用Apple的Testflight部署應用程式以進行生產測試時,請確定您將messaging.useSandbox設為false,否則您的生產應用程式將無法接收推播通知。


​>Firebase Cloud Messaging (FCM) ​支援推播通知的沙箱概念。

建立您自己的推播通知

若要建立自己的推播通知,您必須在Journey Optimizer中定義觸發歷程的事件,負責傳送推播通知。

更新您的結構描述

您即將定義新的事件型別,目前無法當作結構描述中定義之事件清單的一部分使用。 您稍後在觸發推播通知時會使用此事件型別。

  1. 在Journey Optimizer UI中,從左側邊欄選取​ 結構描述

  2. 在索引標籤列中選取​ 瀏覽

  3. 選取您的結構描述,例如​ Luma Mobile App Event Schema ​以開啟它。

  4. 在架構編輯器中:

    1. 選取​ eventType ​欄位。

    2. 在​ 欄位屬性 ​窗格中,向下捲動以檢視事件型別的可能值清單。 選取​ 新增列,並將application.test新增為​ VALUE,並將Test event for push notification新增為DISPLAY NAME

    3. 選取​ 「套用」

    4. 選取「儲存」。

      新增值至事件型別 {modal="regular"}

定義事件

Journey Optimizer中的事件可讓您觸發傳送訊息的歷程,例如推播通知。 如需詳細資訊,請參閱關於事件

  1. 在Journey Optimizer UI中,從左側邊欄選取​ 組態

  2. 在​ 儀表板 ​畫面中,選取​ 事件 ​方塊中的​ 管理 ​按鈕。

  3. 在​ 事件 ​畫面中,選取​ 建立事件

  4. 在​ 編輯事件event1 ​窗格中:

    1. 輸入LumaTestEvent作為事件的​ Name

    2. 提供​ 描述,例如Test event to trigger push notifications in Luma app

    3. 選取您先前在結構描述​ 清單建立XDM結構描述 ​中建立的行動應用程式體驗事件結構描述,例如​ Luma Mobile App Event Schema v.1

    4. 選取 欄位 清單旁的​ 編輯

      編輯事件步驟1 {modal="regular"}

      在​ 欄位 ​對話方塊中,確定已選取下列欄位(在永遠選取的預設欄位之上(_idid ​和​ timestamp)。 您可以使用下拉式清單在​ 已選取全部 ​與​ 主要 ​之間切換,或使用 搜尋 欄位。

      • 識別的應用程式(識別碼)
      • 事件型別(eventType)
      • 主要(主要)

      編輯事件欄位 {modal="regular"}

      然後選取​ 確定

    5. 選取 事件識別碼條件 欄位旁的​ 編輯

      1. 在​ 新增事件識別碼條件 ​對話方塊中,將​ 事件型別(eventType) ​拖放到​ 將元素拖放到這裡

      2. 在彈出視窗中,捲動到底部並選取​ application.test (這是您先前新增至事件型別清單的事件型別,作為更新您的結構描述的一部分)。 然後向上捲動到頂端並選取​ 確定

      3. 選取​ 確定 ​以儲存條件。

        編輯事件條件 {modal="regular"}

    6. 從​ 名稱空間 ​清單中選取​ ECID (ECID)設定檔識別碼 ​欄位自動填入對應identityMap 之索引鍵ECID的第一個專案識別碼

    7. 選取「儲存」。
      編輯事件步驟2 {modal="regular"}

您剛才已根據您先前在本教學課程中建立的行動應用程式體驗事件結構描述建立事件設定。 此事件設定將會使用您的特定事件型別(application.test)篩選傳入的體驗事件,因此只有從該行動應用程式起始的特定型別事件,才會觸發您在下一個步驟中建立的歷程。 在真實情境中,您可能會想要從外部服務傳送推播通知。 不過,適用相同的概念:從外部應用程式傳送體驗事件至Experience Platform,其中包含您可在事件觸發歷程之前用來套用條件的特定欄位。

建立歷程

您的下一個步驟是建立歷程,在收到適當事件時觸發推播通知的傳送。

  1. 在Journey Optimizer UI中,從左側邊欄選取​ 歷程

  2. 選取​ 建立歷程

  3. 在​ 歷程屬性 ​面板中:

    1. 輸入歷程的​ 名稱,例如Luma - Test Push Notification Journey

    2. 輸入歷程的​ 描述,例如Journey for test push notifications in Luma mobile app

    3. 請確定已選取​ 允許重新進入,並將​ 重新進入等待期間 ​設定為​ 30

    4. 選取​ 確定

      歷程屬性 {modal="regular"}

  4. 回到歷程畫布,從​ EVENTS,將 事件 LumaTestEvent ​拖放到畫布上,其中顯示​ 選取進入事件或讀取對象活動

    • 在​ 事件: LumaTestEvent ​面板中,輸入​ 標籤,例如Luma Test Event
  5. 從​ ACTIONS ​下拉式清單中,將 推播 推播 ​拖放到顯示於您 活動右側的 新增​ LumaTestEvent ​上。 在​ 動作:推播 ​窗格中:

    1. 提供​ 標籤,例如Luma Test Push Notification,提供​ 描述,例如Test push notification for Luma mobile app,從​ 類別 ​清單中選取​ 異動,並從​ Luma ​推播表面​ 中選取

    2. 選取 編輯 編輯內容 ​以開始編輯實際的推播通知。

      推送屬性 {modal="regular"}

      在​ 推播通知 ​編輯器中:

      1. 輸入​ 標題,例如Luma Test Push Notification,並輸入​ 內文,例如Test push notification for Luma mobile app

      2. 您可以選擇在​ 新增媒體 ​中輸入影像(.png或.jpg)的連結。 如果這樣做,影像會成為推播通知的一部分。 請注意,如果您確實需要,行動應用程式中的影像必須妥善處理。

      3. 若要儲存並離開編輯器,請選取 左V形

        推播編輯器 {modal="regular"}

    3. 若要儲存並完成推播通知定義,請選取​ 確定

  6. 您的歷程應如下所示。 選取​ 發佈 ​以發佈並啟用您的歷程。
    已完成歷程 {modal="regular"}

觸發推播通知

您已具備傳送推播通知的所有要素。 剩下的問題是如何觸發此推播通知。 實質上,與您之前看到的一樣:只要傳送具有適當有效負載的體驗事件(如事件)即可。

此時,您即將傳送的體驗事件未建構為建構簡單的XDM字典。 您即將使用代表推播通知裝載的struct。 定義專用資料型別是在應用程式中實作建構體驗事件裝載的替代方式。

請注意,僅供說明用途,您會從應用程式內傳送推播通知。 較典型的案例是您從其他應用程式或服務傳送體驗事件(觸發推播通知歷程)。

iOS
  1. 導覽至Xcode專案導覽器中的​ Luma > Luma > 模型 > XDM > TestPushPayload,並檢查程式碼。

    code language-swift
    import Foundation
    
    // MARK: - TestPush
    struct TestPushPayload: Codable {
       let application: Application
       let eventType: String
    }
    
    // MARK: - Application
    struct Application: Codable {
       let id: String
    }
    

    程式碼可呈現您要傳送以觸發測試推播通知歷程的下列簡單裝載。

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. 導覽至Xcode專案導覽器中的​ Luma > Luma > Utils > MobileSDK,並將下列程式碼新增至func sendTestPushEvent(applicationId: String, eventType: String)

    code language-swift
    // Create payload and send experience event
    Task {
        let testPushPayload = TestPushPayload(
            application: Application(
                id: applicationId
            ),
            eventType: eventType
        )
        // send the final experience event
        await sendExperienceEvent(
            xdm: testPushPayload.asDictionary() ?? [:]
        )
    }
    

    此程式碼會使用提供給函式(testPushPayloadapplicationId)的引數建立eventType執行個體,然後在將裝載轉換至字典時呼叫sendExperienceEvent。 此程式碼也會根據awaitasync,使用Swift的並行模式,將呼叫Adobe Experience Platform SDK的非同步方面列入考量。

  3. 導覽至Xcode專案導覽器中的​ Luma > Luma > Views > General > ConfigView。 在推播通知按鈕定義中,新增下列程式碼,以傳送測試推播通知體驗事件裝載,以便在點選按鈕時觸發您的歷程。

    code language-swift
    // Setting parameters and calling function to send push notification
    Task {
        let eventType = testPushEventType
        let applicationId = Bundle.main.bundleIdentifier ?? "No bundle id found"
        await MobileSDK.shared.sendTestPushEvent(applicationId: applicationId, eventType: eventType)
    }
    
Android
  1. 在Android Studio導覽器中導覽至​ Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > xdm > TestPushPayload.kt,並檢查程式碼。

    code language-kotlin
    import com.google.gson.annotations.SerializedName
    
    data class TestPushPayload(
       @SerializedName("application") val application: Application,
       @SerializedName("eventType") val eventType: String
    ) {
       fun asMap(): Map<String, Any> {
          return mapOf(
                "application" to application.asMap(),
                "eventType" to eventType
          )
       }
    }
    
    data class Application(
       @SerializedName("id") val id: String
    ) {
       fun asMap(): Map<String, Any> {
          return mapOf(
                "id" to id
          )
       }
    }
    

    程式碼可呈現您要傳送以觸發測試推播通知歷程的下列簡單裝載。

    code language-json
    {
       "eventType": string,
       "application" : [
           "id": string
       ]
    }
    
  2. 導覽至Android Studio導覽器中的​ Android ChevronDown > app > kotlin+java > com.adobe.luma.tutorial.android > 模型 > MobileSDK,並將下列程式碼新增至func sendTestPushEvent(applicationId: String, eventType: String)

    code language-kotlin
    // Create payload and send experience event
    val testPushPayload = TestPushPayload(
       Application(applicationId),
       eventType
    )
    sendExperienceEvent(testPushPayload.asMap())
    

    此程式碼會使用提供給函式(testPushPayloadapplicationId)的引數建立eventType執行個體,然後在將裝載轉換為對應時呼叫sendExperienceEvent

  3. 在Android Studio導覽器中,導覽至​ Android ChevronDown > app > kotlin+java > com.adobe.luma.android.tutorial > views > ConfigView.kt。 在推播通知按鈕定義中,新增下列程式碼,以傳送測試推播通知體驗事件裝載,以便在點選按鈕時觸發您的歷程。

    code language-kotlin
    // Setting parameters and calling function to send push notification
    val eventType = testPushEventType
    val applicationId = context.packageName
    scope.launch {
          MobileSDK.shared.sendTestPushEvent(
             applicationId,
             eventType
          )
    }
    

使用您的應用程式進行驗證

若要驗證推播通知事件和歷程:

iOS
  1. 使用 Play ,在模擬器中或在Xcode的實體裝置上重建並執行應用程式。

  2. 前往​ 設定 ​標籤。

  3. 點選​ 推播通知

    您會看到推播通知出現在應用程式頂端。

    {width="300"}

Android
  1. 使用 Play ,在模擬器中或在Android Studio的實體裝置上重建並執行應用程式。

  2. 前往​ 設定 ​標籤。

  3. 點選​ 推播通知

    您會看到推播通知出現在應用程式頂端。

    {width="300"}

如何在應用程式本身中處理和顯示推播通知,不在本節的主題之內。 每個平台都會實作處理,並以特定方式顯示通知。 如需詳細資訊,請參閱:

後續步驟

您現在應該擁有在應用程式中處理推播通知的所有工具。 例如,您可以在Journey Optimizer中建立歷程,在應用程式的使用者登入時傳送歡迎推播通知。 或使用者在應用程式中購買產品時的確認推播通知。 或輸入地點的地理柵欄(如您在地點課程中所見)。

SUCCESS
您現在已針對Experience Platform Mobile SDK使用Journey Optimizer和Journey Optimizer擴充功能,為推播通知啟用應用程式。
感謝您花時間學習Adobe Experience Platform Mobile SDK。 如果您有任何疑問、想分享一般意見或有關於未來內容的建議,請在這篇Experience League社群討論貼文上分享。

下一步: 建立並傳送應用程式內訊息

recommendation-more-help
9fed61f5-c338-47ad-8005-0b89a5f4af8b