在此頁面上:系統化診斷您的Live活動無法出現、更新或結束的原因,以便您解決單一和廣播使用案例中的設定檔權杖、行銷活動設定、裝載和傳遞問題。
尋找您的情境 find-your-scenario
案例1:設定檔或推播權杖問題 scenario-1-profile-or-push-token-issues
[適用於單一和廣播使用案例]{class="badge informative"}
觸發程式API接受要求,但未顯示上線活動。 常見原因:
- 設定檔不存在於Adobe Experience Platform中。
- 必要的推播權杖尚未同步至設定檔: iOS上的即時活動推播權杖或Android上的標準FCM註冊權杖。
- 推播權杖詳細資料包含不正確的設定,例如錯誤的
appId、平台或iOSattributeType。
對於廣播:將幾個對象設定檔取樣以檢查權杖註冊。 在iOS上,設定檔權杖檢查適用於遠端開始事件,而不是頻道式更新或結束事件。 在Android上,也使用案例6來驗證裝置的FCM主題訂閱。
驗證設定檔是否存在
對於iOS和Android,請開始使用此檢查。 如果是廣播,請對多個對象設定檔重複此步驟。
- 在Journey Optimizer中,導覽至客戶
>設定檔。 - 使用API請求的名稱空間和身分值來搜尋。
- 如果找不到設定檔,表示設定檔不存在或內嵌尚未完成。 建立設定檔,或等待內嵌完成再觸發上線活動。
- 如果找到設定檔,請繼續檢查您平台的Token。
檢查推播權杖
預先檢查
-
iOS應用程式需求:
- iOS 16.1+
- 在
Info.plist中將NSSupportsLiveActivities設定為YES ActivityAttributes已正確實作。
-
行動SDK整合:
- Adobe Experience Platform Mobile SDK (傳訊SDK 5.11.0+)
- 使用Live活動推播權杖實作及呼叫
Messaging.registerLiveActivities。
偵錯步驟
| accordion |
|---|
| 1. 檢查即時活動推播權杖是否已同步 |
|
您可以使用Assurance來驗證Token註冊:
您也可以存取Adobe Experience Platform設定檔。
如果找不到事件,應用程式無法正確呼叫 |
| accordion | |||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 驗證設定檔上的Token詳細資料 | |||||||||||||||||||||||
驗證每個欄位:
如果任何欄位不正確,請更新行動應用程式,使用 如果 |
預先檢查
-
Android應用程式需求:
- 在Android 16.1 (API層級36.1)或更新版本上執行應用程式,並將
targetSdk設為36。 - 確保已授予
POST_NOTIFICATIONS和POST_PROMOTED_NOTIFICATIONS許可權。 - 建立已上線活動使用的通知頻道。
- 在Android 16.1 (API層級36.1)或更新版本上執行應用程式,並將
-
行動SDK整合:
- 將Adobe Experience Platform Mobile SDK與「傳訊」和「上線活動」擴充功能整合。
- 使用
MobileCore.setPushIdentifier(token)將FCM註冊權杖轉送到SDK。
偵錯步驟
| accordion |
|---|
| 1. 驗證FCM權杖註冊 |
|
Android對上線活動使用標準FCM註冊權杖。 沒有
如果缺少註冊事件或設定檔權杖,請確認應用程式使用 |
| accordion | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 驗證設定檔上的權杖詳細資料 | ||||||||||||||||||||
驗證每個欄位:
如果任何欄位不正確,請視需要修正應用程式設定,使用 如果 |
案例2:促銷活動設定和裝載問題 scenario-2-campaign-configuration-and-payload-issues
[適用於單一和廣播使用案例]{class="badge informative"}
設定檔存在且具備有效的Token,但未顯示上線活動。 可能的原因:
- 介面或通道設定錯誤。
- API裝載結構不正確。
- 承載欄位與應用程式實作不符: iOS
ActivityAttributes或Android樣式提供者對應。 - 過時
timestamp(更新/結束的關鍵)。
對於廣播:行銷活動必須是API觸發的行銷,而非異動。 承載使用audience而非recipients。 請參閱平台特定廣播裝載的案例6以及完整API規格的Adobe Developer檔案。
預先檢查
- 確認促銷活動是API觸發的交易式 (單一)或API觸發的行銷 (廣播)。 保留 高輸送量 停用,因為它與[已上線]活動不相容。
- 驗證設定檔是否存在,以及其Token是否已使用案例1中的iOS檢查同步。
偵錯步驟
| accordion |
|---|
| 1. 驗證行銷活動表面設定 |
|
| accordion | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 驗證API裝載結構 | ||||||||||||||||||||||||||
|
透過API執行行銷活動時,請確定裝載遵循正確結構。 單一承載:
常見承載問題:
嚴重:一律使用新的時間戳記
選用欄位(所有事件型別):
關於
|
| accordion | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. 將裝載與iOS實作對齊 | |||||||||||||||||||||||||||||||
|
確認您的API裝載符合您的iOS應用程式的 驗證對應:
驗證檢查清單:
常見錯誤:
如需更多範例,請參閱建立即時活動頁面。 |
| accordion |
|---|
| 4. 使用Assurance進行測試 |
|
使用Assurance驗證API執行和裝載傳送:
|
預先檢查
- 確認促銷活動是API觸發的交易式 (單一)或API觸發的行銷 (廣播)。 保留 高輸送量 停用,因為它與[已上線]活動不相容。
- 在案例1中,確認設定檔存在且其FCM權杖已使用Android檢查進行同步。
偵錯步驟
| accordion |
|---|
| 1. 驗證行銷活動表面設定 |
|
| accordion | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 驗證API裝載結構 | ||||||||||||||||||||||||||||||||
|
將Android Live活動欄位放在 單一啟動承載:
以目前的Unix紀元時間(以秒為單位)取代範例時間戳記。 對於廣播,使用API觸發的行銷活動搭配 常見承載問題:
時間戳記和生命週期檢查:
結束事件解除: 對於 |
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. 將裝載與Android實作對齊 | |||||||||||||||||||||
|
應用程式的樣式提供者會決定
常見錯誤:
如需更多範例,請參閱建立已上線的活動。 |
| accordion |
|---|
| 4. 使用Assurance進行測試 |
|
在連線的Android測試裝置上使用Assurance 。
|
案例3:傳送失敗和錯誤分析 scenario-3-delivery-failures-and-error-analysis
[適用於單一和廣播使用案例]{class="badge informative"}
在此案例中,所有先前的檢查均已通過:
- 裝置平台🔗具有有效推播權杖的設定檔存在。
- 行銷活動和承載通過組態檢查。
- 針對iOS單一更新或結束事件,每個執行個體的更新權杖已同步。 Android不需要個別的更新Token。
如果上線活動仍沒有出現、更新或結束,請檢查行銷活動處理、傳送至推送提供者(iOS上的APN或Android上的FCM)以及裝置端行為。
對於廣播:報表會顯示所有對象成員的量度。 有些設定檔可能會成功,而有些設定檔則會失敗。
檢查行銷活動報告 check-campaign-reports
對於iOS和Android,請從行銷活動報表開始。 它顯示Journey Optimizer是否嘗試傳送、排除設定檔,或點選錯誤。
-
導覽至您的即時活動行銷活動。
-
按一下 報表 按鈕。
-
選取檢視所有時間報表。
-
檢查 傳送統計資料 量度以瞭解傳送成功:
table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 量度 其含義 要尋找的內容 已鎖定目標 符合對象資格的設定檔數 應該包含您的測試設定檔 傳送 嘗試的推播通知總數 應該符合您的API呼叫 已傳遞 報告的傳遞量度 與傳送比較;個別驗證裝置轉譯 傳送錯誤 無法傳送的推播通知 調查錯誤原因 傳送排除專案 Adobe Journey Optimizer排除的設定檔 檢查您的設定檔是否已排除 -
如果傳送錯誤 > 0,請檢查 錯誤原因 資料表。 使用您平台之索引標籤中的步驟1來解譯錯誤。
-
如果傳送排除專案 > 0,請檢查 排除的原因 資料表:
table 0-row-3 1-row-3 2-row-3 3-row-3 常見排除 含義 解決方法 設定檔已選擇退出 使用者已選擇退出通知 檢查設定檔同意狀態 權杖已加入封鎖清單 標籤為無效的權杖 重新註冊權杖(iOS)或轉送目前的FCM權杖(Android),或檢查封鎖清單狀態 設定檔不合格 設定檔不符合行銷活動條件 檢閱行銷活動對象規則 -
檢閱 即時活動生命週期 區段:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 量度 檢查內容 遠端啟動 應該顯示API觸發的開始計數 更新 應該顯示更新事件的計數 結束 應該顯示結束事件的計數 總計計數 整體已上線活動活動量度 如果這些量度為零或不符合您的API呼叫,請使用以下平台特定檢查來調查行銷活動處理和推播提供者傳送。
在即時活動行銷活動報告頁面瞭解更多。
檢查平台的傳送
預先檢查
-
已驗證的先前案例:
- 具有正確
liveActivityPushNotificationDetails的設定檔已存在。 - 行銷活動表面和活動型別正確。
- API裝載對目前時間戳記有效。
- 更新Token已同步(僅限單一更新和結束事件)。
- 具有正確
-
已確認的API呼叫:
- 觸發程式API已接受要求。 這不會確認傳遞或裝置轉譯。
- 行銷活動ID和收件者詳細資料正確無誤。
偵錯步驟
| accordion | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. 解譯傳送錯誤 | ||||||||||||||||||
|
如果行銷活動報告未顯示傳送錯誤,請略過此步驟。 否則,請比對 錯誤原因 資料表中的錯誤與下列常見的APN錯誤:
|
| accordion | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 檢查設定檔中的訊息回饋事件 | ||||||||||||||||||
如果 |
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. 驗證Assurance中傳送至APN的即時活動 | |||||||||||||||||||||
|
| accordion |
|---|
| 4. 檢查裝置端行為 |
|
如果Adobe顯示傳送成功,但裝置未顯示已上線的活動:
|
| accordion |
|---|
| 5. 提升至Adobe支援 |
|
如果您已完成所有步驟,但問題仍未解決,請聯絡Adobe客戶服務,聯絡: 必要資訊:
|
預先檢查
-
已驗證的先前案例:
- 設定檔具有有效的
pushNotificationDetails,包括目前的FCM權杖、Android套件名稱和platform: "fcm"。 - Campaign介面會鎖定正確的Android應用程式,並使用相符的FCM認證。
fcm承載有效,且其timestamp較同一notification_id(或廣播的topic_name)的先前事件新。- 開始、更新和結束事件使用相同的
notification_id。 單一事件使用相同的FCM註冊權杖;不需要個別的更新權杖。
- 設定檔具有有效的
-
已確認的API呼叫:
- API呼叫傳回HTTP 202 (已接受)。 這會確認接受請求,而不會傳送或轉譯裝置。
- 行銷活動ID和收件者詳細資料正確無誤。 對於廣播,請驗證對象ID和FCM主題。
偵錯步驟
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1. 解譯傳送錯誤 | |||||||||||||||||||||
|
如果行銷活動報告未顯示傳送錯誤,請略過此步驟。 否則,請比對 錯誤原因 資料表中的錯誤與下列常見的FCM錯誤:
|
| accordion | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 檢查設定檔中的訊息回饋事件 | ||||||||||||||||||
如果 |
| accordion |
|---|
| 3. 在Assurance中檢查FCM傳送 |
|
在連線的Android測試裝置上使用Assurance 。
|
| accordion |
|---|
| 4. 檢查裝置端行為 |
|
如果Adobe顯示傳送成功,但裝置未顯示或更新已上線的活動:
|
| accordion |
|---|
| 5. 提升至Adobe支援 |
|
如果您已完成所有步驟,但問題仍未解決,請聯絡Adobe客戶服務,聯絡: 必要資訊:
|
案例4:即時活動更新Token未同步 scenario-4-live-activity-update-token-not-synced
[僅套用至單一使用案例]{class="badge informative"}
[僅適用於iOS]{class="badge positive"}
此即時活動從裝置開始,但接受的update或end API要求不會更新或解除它。 可能的原因是 每個執行個體的即時活動更新Token 尚未同步至Adobe的系統。 完成下列檢查,確認權杖同步是否為問題。
瞭解更新Token
當上線活動在裝置上開始時,iOS會為該特定上線活動執行個體產生唯一的更新權杖。 下列專案需要此代號:
- 傳送更新至已上線活動
- 從遠端結束即時活動
每個已上線活動執行個體都有自己的唯一更新權杖。 Adobe需要此Token才能傳遞更新和結束事件。
預期行為
若要讓更新與結束事件運作,必須發生下列情況:
- 裝置上的即時活動已成功啟動。
- 裝置產生該即時活動執行個體的更新權杖。
- 行動SDK會擷取更新Token並將其傳送至Adobe。
- 更新Token會同步並儲存在Adobe的系統中。
- 針對更新/結束的後續API呼叫會使用此權杖進行傳送。
預先檢查:
偵錯步驟
-
開啟您的Assurance工作階段。
-
確定工作階段在裝置上開始即時活動時處於作用中狀態。
-
篩選或搜尋具有
eventType = "liveActivity.updateToken"的事件。 -
選取事件並檢查裝載:
- 請確認
token欄位包含有效的更新Token字串。 - 檢查
liveActivityID是否與您的即時活動執行個體相符。 - 確認
activityType符合您的attributes-type。
- 請確認
-
如果找不到事件:
- SDK未產生或擷取更新Token。
- 檢查使用者是否授與上線活動許可權。
- 確認已在裝置上成功啟動上線活動。
- 確認行動SDK已正確整合以擷取更新Token。
-
如果找到事件,請繼續執行步驟2。
-
導覽至Journey Optimizer中的客戶 > 設定檔。
-
搜尋並開啟設定檔。
-
選取 事件 標籤。
-
尋找
liveActivity.updateToken個事件。 -
檢查事件詳細資料:
- 驗證時間戳記是否為最近(符合上線活動開始的時間)。
- 確認
token和liveActivityID是否存在。 - 請確定
activityType正確。
-
如果在設定檔中找不到事件:
- 更新Token事件可能尚未內嵌至設定檔。
- 等待5到10分鐘,然後重新檢查。
- 如果15分鐘後仍然遺失,則可能是事件擷取問題。
-
如果找到事件,則表示更新Token已同步。 繼續進行步驟3。
-
在您的Assurance工作階段中,執行更新或結束API呼叫。
-
在 事件清單 中,尋找已上線活動傳遞事件(APNs推播事件)。
-
檢查事件以指出:
- 推播通知已傳送至APN。
- APN的回應(成功或錯誤)。
- 傳遞確認。
-
如果APNs傳送事件存在:已傳送推播通知。 如果裝置仍未更新,則問題可能出在裝置端(應用程式未處理推播、網路問題等)。
-
如果APN傳遞事件遺失:更新Token可能無法正確儲存,或與Adobe系統中的設定檔建立關聯。
-
如果出現錯誤事件:檢查錯誤詳細資料以找出特定的失敗原因(無效的Token、拒絕的APN等)。
案例5:透過API檢查執行狀態 scenario-5-checking-execution-status-via-the-api
[僅套用至單一使用案例]{class="badge informative"}
觸發單一即時活動後,GET訊息執行API會傳回執行的目前狀態。 使用它來確認執行是否已排入佇列、進行中、完成或失敗,而不等待意見反應事件進入資料集。
executionId是觸發程式回應中傳回的訊息ID。 對於單一執行,其前置詞為HUOC-。
端點和範例要求
端點: GET https://cjm.adobe.io/imp/message/executions/{executionId}
curl --location 'https://cjm.adobe.io/imp/message/executions/HUOC-123456' \
--header 'x-gw-ims-org-id: <IMS_ORG_ID>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'x-sandbox-name: <SANDBOX_NAME>' \
--header 'x-sandbox-id: <SANDBOX_UUID>' \
--header 'x-api-key: <API_KEY>'
HTTP回應代碼
執行狀態值
200回應中的status欄位表示執行進度:
PENDINGINPROGRESSCOMPLETEDFAILED200回應也傳回executionType (unitary或batch)、executionRunMode (default或test)以及含有將執行繫結回觸發行銷活動或歷程的中繼資料(campaignId、journeyId、batchInstanceId、資產資訊)的source區塊。
案例6:廣播行銷活動設定和裝載問題 broadcast-config
[僅套用至廣播使用案例]{class="badge informative"}
本節說明廣播直播活動專屬的疑難排解案例,這些案例需要與單一行銷活動不同的偵錯方法。
當設定檔具有有效的權杖,但受眾成員的即時活動未出現、更新或按預期行事時,問題通常源於以下問題之一:
- 行銷活動未設定為API觸發的行銷。
- API承載遺失
audience或iOS上的平台特定廣播識別碼:input-push-channel或Android上的topic_name。 - 承載欄位不符合iOS
ActivityAttributes實作或Android樣式提供者對應。 - Apple推播通道設定不正確,或Android裝置未訂閱FCM主題。
此疑難排解案例適用於廣播行銷活動中的所有即時活動事件: start、update和end。
預先檢查:
-
行銷活動型別:
- 確認行銷活動建立為API觸發的行銷活動(廣播/對象型行銷活動的必要專案)。
- 確認對象已定義於行銷活動設定中。
-
設定檔和權杖驗證:從對象中取樣多個設定檔,以驗證它們是否有效
liveActivityPushNotificationDetails。 如需詳細的驗證步驟,請遵循案例1。
偵錯步驟
| accordion |
|---|
| 1. 驗證Campaign對象設定 |
|
| accordion | |||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 驗證廣播API裝載結構 | |||||||||||||||||||||||||||||
|
廣播裝載結構與單一行銷活動不同。 確認您的裝載是否遵循正確的廣播格式。 廣播的必要欄位:
常見承載問題:
重要廣播特定欄位:
一律使用最新的時間戳記:
選用欄位:
如需完整API規格,請參閱Adobe Journey Optimizer傳訊API檔案。 |
| accordion | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. 讓內容狀態、屬性和輸入推播通道與iOS實作一致 | |||||||||||||||||||||||||||||||
|
確認承載欄位符合您的iOS應用程式的
您的自訂
包含所有事件型別的
嚴重:
關鍵驗證點:
常見錯誤:
|
| accordion |
|---|
| 4. 使用Assurance進行測試 |
|
使用Assurance驗證API執行和裝載傳送:
|
預先檢查:
- 行銷活動型別:確認行銷活動是API觸發的行銷,且已定義對象。
- 設定檔和權杖驗證:將多個對象設定檔取樣以驗證它們是否具有包含
platform: "fcm"的有效pushNotificationDetails。 依照案例1中的Android檢查進行。 - 主題訂閱:確認測試裝置已訂閱用於廣播的FCM主題。
偵錯步驟
| accordion |
|---|
| 1. 驗證Campaign對象設定 |
|
| accordion | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2. 驗證廣播API裝載結構 | ||||||||||||||||||||||||||||||||
|
Android廣播使用FCM主題。 包含 廣播開始承載範例:
以目前的Unix紀元時間(以秒為單位)取代範例時間戳記。 將 常見承載問題:
重要廣播特定欄位:
時間戳記和選擇性欄位:
如需完整API規格,請參閱Adobe Journey Optimizer傳訊API檔案。 |
| accordion | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3. 驗證主題訂閱和應用程式呈現 | |||||||||||||||||||||
常見錯誤:
如需其他欄位和範例,請參閱Android廣播裝載範例。 |
| accordion |
|---|
| 4. 使用Assurance進行測試 |
|
在連線的Android測試裝置上使用Assurance,此裝置屬於對象並訂閱廣播主題。
|
案例7:設定檔不在對象中或過時的對象快照 scenario-7-profile-not-in-audience-or-stale-audience-snapshot
[僅套用至廣播使用案例]{class="badge informative"}
在此案例中,行銷活動和裝載已正確設定,但特定設定檔不會接收即時活動。 這通常發生在以下情況:
- 設定檔不是連結至行銷活動的對象成員。
- 對象是批次對象,並包含設定檔資料的過時快照。
- 設定檔的推播權杖詳細資料(
liveActivityPushNotificationDetails在iOS上,或pushNotificationDetails在Android上)最近已更新,但尚未反映在對象快照中。
此疑難排解案例尤其適用於使用受眾型定位的廣播行銷活動。
瞭解對象評估
Adobe Experience Platform使用不同的對象評估方法,判斷設定檔更新何時會反映在對象中:
預先檢查
-
行銷活動和承載驗證:
- 完成您平台的案例6中的檢查,以確保行銷活動和裝載正確。
- 確認API承載中的
audience.id符合行銷活動設定。
-
設定檔存在:請確認Adobe Experience Platform中存在包含有效推播權杖詳細資料的設定檔。 遵循案例1中的檢查。 需尋找的詳細資訊取決於平台:
- iOS:
liveActivityPushNotificationDetails包含有效的權杖。 - Android:
pushNotificationDetails包含目前的FCM註冊Token、符合Android封裝名稱platform: "fcm"和denylisted: false的appId。
- iOS:
-
主題訂閱(僅限Android):確認裝置已訂閱
topic_name中指定的正確FCM主題。 對象成員資格不會讓裝置訂閱主題。 請依照案例6中的Android主題訂閱檢查進行。
偵錯步驟
首先,確認應接收上線活動的設定檔是否實際屬於對象。
-
導覽至Adobe Experience Platform中的對象。
-
使用行銷活動中的
audience.id搜尋並開啟對象。 -
按一下 瀏覽 或 範例設定檔 以檢視對象成員。
-
使用名稱空間和身分值搜尋您的測試設定檔。
-
如果在對象中找不到設定檔:
- 設定檔不符合對象條件或區段規則。
- 檢閱對象定義以瞭解成員資格要求。
- 更新設定檔資料或對象定義,以包含設定檔。
- 等待對象評估完成(請參閱步驟2)。
-
如果在對象中找到設定檔:請繼續執行步驟2以檢查資料的時效性。
識別對象是使用批次、串流或邊緣評估,因為這決定了資料的時效性。
| note |
|---|
| NOTE |
| 對象評估不會註冊推播權杖或向FCM主題訂閱Android裝置。 它只會決定對象快照包含哪些設定檔資料。 |
-
在 對象詳細資料 頁面上,檢查評估方法:
- 批次:依排程每日評估一次。
- 串流:在發生設定檔更新時即時評估。
- Edge:在邊緣位置即時評估。
根據評估方法,遵循適當的疑難排解步驟:
如果對象使用批次評估:
-
瞭解批次對象限制:
- 批次對象每天評估一次(通常隔夜)。
- 對象快照可能長達24小時之前。
- 如果設定檔最近已註冊或重新整理其推播權杖詳細資料(在iOS上為
liveActivityPushNotificationDetails,在Android上為pushNotificationDetails),則更新的詳細資料可能不在目前的快照中。 - 在下次批次評估前不會反映設定檔的更新。
-
檢查上次評估發生的時間:
- 在對象詳細資訊中,尋找 上次評估 時間戳記。
- 如果設定檔的推播權杖詳細資料在此時間戳記後更新,則對象快照不包含目前的權杖。
-
解析過時資料:
-
選項1:等候排定的批次評估
- 下一個批次評估將包含更新的設定檔資料。
- 此作業每天自動進行一次。
- 最適合非緊急情況。
-
選項2:觸發隨選對象評估
- 導覽至AEP中的對象。
- 選取您的客群。
- 按一下 立即評估 或依需求啟用。
- 等候評估完成(根據對象人數而定,這可能需要幾分鐘到幾小時的時間)。
- 確認設定檔現在已更新對象快照中的資料。
- 重試廣播API呼叫。
-
如果對象使用串流評估:
-
瞭解串流對象行為:
- 當設定檔更新發生時,串流對象會即時評估。
- 新設定檔:如果設定檔符合區段條件,建立後即符合資格。
- 已更新設定檔:更新後不久即符合或取消資格。
- 現有未變更的設定檔:除非進行更新,否則不會重新評估。
-
識別問題:
- 如果設定檔已存在並符合區段標準,但該設定檔未發生更新,則可能無法將其新增到新建立的串流受眾。
- 設定檔必須接收更新(任何屬性變更),才能觸發重新評估。
-
解決問題:
-
對於新設定檔:如果符合條件,它們會自動符合條件。 不需要採取任何動作。
-
對於沒有最近更新的現有設定檔:
- 對設定檔進行微幅更新(例如,更新時間戳記欄位)。
- 這會觸發串流評估,並將設定檔新增至對象。
- 替代方案:針對現有設定檔使用批次對象或邊緣對象。
-
進階:透過資料集查詢進行偵錯 advanced-debugging-via-dataset-queries
message.feedback個事件,其結構描述路徑和feedbackStatus值如下所示。sent狀態表示已移交給推送提供者: iOS上的APN或Android上的FCM。對象:開發人員和資料工程師。 需要透過Adobe Experience Platform查詢服務以SQL方式存取Journey Optimizer資料集。
何時使用: Assurance僅限於測試在使用中工作階段期間連線的裝置。 使用資料集查詢來調查生產作業一般使用者回報的問題,或在事後稽核傳遞歷史記錄。 資料集會顯示與Assurance外掛程式相同的生命週期和失敗資訊。
找到資料集
-
在Journey Optimizer中,導覽至資料管理
>資料集。 -
啟用 顯示系統資料集 切換功能,並開啟AJO訊息回饋事件資料集。
請注意詳細資訊頁面上顯示的確切表格名稱。 下列查詢使用ajo_message_feedback_event_dataset,如果它不同,請以實際資料表名稱取代。 如需此資料集的欄位,請參閱Adobe Journey Optimizer結構描述參考。
依已上線活動ID查詢
如果您知道即時活動ID (例如訂單UUID或出貨追蹤ID),並想要讓每個意見事件在整個生命週期中與其連結,請使用此選項。
SELECT
timestamp,
identitymap,
_experience.customerJourneyManagement
.messageDeliveryfeedback.feedbackStatus AS status,
_experience.customerJourneyManagement
.messageDeliveryfeedback.messageFailure.reason AS failure_reason,
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.event AS la_event,
_experience.customerJourneyManagement
.messageExecution.campaignID AS campaign_id,
_experience.customerJourneyManagement
.messageExecution.batchInstanceID AS batch_id,
_id
FROM ajo_message_feedback_event_dataset
WHERE
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.liveActivityID
= '<YOUR_LIVE_ACTIVITY_ID>'
AND eventtype = 'message.feedback'
ORDER BY timestamp ASC
依ECID查詢
當受影響設定檔的ECID已知時,請使用此選項。 以從設定檔擷取的ECID值取代<YOUR_ECID>。
SELECT
timestamp,
_experience.customerJourneyManagement
.messageDeliveryfeedback.feedbackStatus AS status,
_experience.customerJourneyManagement
.messageDeliveryfeedback.messageFailure.reason AS failure_reason,
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.event AS la_event,
_experience.customerJourneyManagement
.pushChannelContext.liveActivity.liveActivityID AS la_id,
_experience.customerJourneyManagement
.messageExecution.campaignID AS campaign_id,
_id
FROM ajo_message_feedback_event_dataset
WHERE
identityMap['ECID'][0].id = '<YOUR_ECID>'
AND eventtype = 'message.feedback'
ORDER BY timestamp ASC
identityMap是結構化MAP型別,不是字串。 使用上述陣列和結構存取子語法。 LIKE之類的字串函式將傳回DATATYPE_MISMATCH錯誤。identityMap中。 如果受影響的設定檔是由自訂名稱空間而不是ECID識別,請先解析ECID:導覽至AEP中的設定檔,使用自訂名稱空間和身分值搜尋設定檔,然後從設定檔的身分詳細資料擷取ECID。 在上述查詢中使用該ECID值。feedbackStatus值
senterrorfailure_reason以取得詳細資料denylistexcludedelayduplicatebouncela_event欄位,資料集記錄的是初始傳遞事件的remotestart,而不是start。 依事件型別進行查詢時,請適當的篩選。解譯已傳送狀態 interpreting-the-sent-status
sent的feedbackStatus確認Journey Optimizer已成功將通知傳遞給推播提供者(iOS上的APN,Android上的FCM)。 它 不 會確認已在裝置上轉譯即時活動。
資料集在移交給推送提供者後並未確認裝置轉譯。 無法從資料集中觀察裝置端失敗,例如作業系統限制、提供者和裝置之間的網路中斷,或iOS上達到8小時的即時活動持續時間限制。
如果feedbackStatus是sent,但裝置上未出現任何上線活動,請調查Journey Optimizer傳送管道外部的行為。 使用Assurance或應用程式層級的記錄(包括Android上的logcat)來診斷裝置端行為。
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page provides a systematic approach to diagnose why Live activities fail to appear, update, or end even when the API returns HTTP 200, covering profile and token, campaign configuration, payload, and delivery issues for unitary and broadcast use cases on iOS and Android.
Intents:
- Distinguish the unitary (API-triggered Transactional) and broadcast (API-triggered Marketing) debugging paths
- Verify profile existence and Live activity push token sync (Scenario 1)
- Validate campaign surface, Activity type, and API payload structure (Scenario 2)
- Analyze delivery failures via campaign reports and
message.feedbackevents (Scenario 3) - Diagnose unsynced iOS update tokens (Scenario 4) and check unitary execution status via the GET Message Execution API (Scenario 5)
- Troubleshoot broadcast payload and audience-freshness issues (Scenarios 6 and 7) and query the feedback dataset directly (Advanced)
Glossary:
-
pushNotificationDetails: The AEP profile attribute used for Android FCM registration-token details, includingappId,platform, anddenylisted(product-specific) -
topic_name: The FCM topic subscribed to by target Android devices for broadcast Live activities (product-specific) -
Push-to-start token: An iOS APNs token used for remote start; registered by the mobile SDK and stored on the AEP profile (product-specific)
-
Update token: A per-instance APNs token generated when an iOS Live activity starts; required for iOS unitary
updateandendevents. Android uses the same FCM registration token for start, update, and end; no separate update token is required (product-specific) -
input-push-channel: A unique channel identifier created on the Apple Developer Portal for iOS broadcast Live activities (product-specific) -
liveActivityData: A required property on the Adobe SDKLiveActivityAttributesprotocol; the iOS examples includeliveActivityIDfor unitary orchannelIDfor broadcast (product-specific) -
channelID: The value inliveActivityData.channelID; must exactly matchinput-push-channelfor iOS broadcasts (product-specific) -
attributeType / attributes-type: The name of the Swift
ActivityAttributesstruct; stored asattributeType(camelCase) on the profile and sent asattributes-type(hyphenated) in APS JSON — the same value in different representations (product-specific) -
liveActivityPushNotificationDetails: The AEP profile attribute that stores a device’s push-to-start token,appId,platform, andattributeType(product-specific) -
APS payload: The iOS JSON structure sent under
context.requestPayload.aps, containing the event,content-state, and control fields;attributesincludes the iOS struct fields for start events (product-specific) -
Assurance: A debugging tool limited to test devices connected during an active session; use dataset queries for production end-user diagnostics (product-specific)
-
topic_name(Android): The shared FCM topic through which subscribed devices receive broadcast events; the Android equivalent of iOSinput-push-channel -
notification_id(Android): Client-generated identifier for a Live activity instance; keep it unchanged across start, update, and end events to target the same instance -
timestamp(Android): Message ordering key, expressed in epoch seconds -
when(Android): Optional notification display time, expressed in epoch seconds; it does not control message ordering -
dismiss_after(Android): Used only for end events; specifies how many seconds the completed Live activity remains visible before removal
Guardrails:
-
Android audience membership does not subscribe a device to the FCM topic; verify topic subscription separately from audience evaluation.
-
Use API-triggered Transactional campaigns for unitary Live activities and API-triggered Marketing campaigns for broadcasts.
-
The High Throughput option must not be enabled, since it is incompatible with Live activity.
-
Assurance sessions are for test and QA devices only; end-user production devices are not connected to Assurance.
-
Android: unitary Live activities use the same regular FCM push token to start, update, and end, and no separate activity tokens are required; broadcast events reach subscribed devices through the shared FCM topic identified by
topic_name. -
Android
timestampmust strictly increase for every event with the samenotification_id(ortopic_namefor broadcasts); updates are displayed only if their timestamp is newer than the last processed value, and older or equal timestamps are ignored. -
Android
action_type/action_uriare not read by the current Android SDK. -
iOS requirements: a physical iOS device on iOS 16.1 or later; the Xcode Simulator supports local start only (remote push via APNs is not supported on Simulator); remote start from Assurance requires iOS 17.1 or later, a valid push-to-start token, and a valid channel configuration; Adobe Experience Platform Mobile SDK 5.11.0 or later.
-
Batch audiences may be up to 24 hours stale (batch evaluation, once daily); this audience-freshness risk is not applicable to unitary use cases.
-
The first time a Live activity starts on a device, iOS shows a one-time permission prompt; the user must tap “Allow” for update tokens to be generated and synced.
-
For iOS broadcasts,
input-push-channelmust exactly matchliveActivityData.channelID; a mismatch causes delivery failures. -
For iOS, a
feedbackStatusofsentconfirms hand-off to APNs only, not device rendering; device-side failures and the 8-hour Live activity duration limit are not observable from the dataset.
Terminology:
- Canonical name: API Triggered Campaign — Acronym: n/a — campaign types used for Live activities: API-triggered Transactional (unitary), API-triggered Marketing (broadcast)
- Synonyms: “attributeType” = “attributes-type” (the same value; camelCase on the profile, hyphenated in APS JSON)
- Do not confuse:
input-push-channel(in the iOS APS payload) ≠liveActivityData.channelID(in the iOS attributes); their values must match for broadcasts. - Do not confuse: “Push-to-start token” (starts an iOS Live activity, stored on the profile) ≠ “Update token” (updates or ends an iOS unitary instance, per instance)
- Do not confuse: “Unitary” (API-triggered Transactional, individual profile) ≠ “Broadcast” (API-triggered Marketing, audience segment)
- Do not confuse: execution statuses “
PENDING” ≠ “INPROGRESS” ≠ “COMPLETED” ≠ “FAILED” - Do not confuse:
feedbackStatus“sent” ≠ “error” ≠ “exclude” ≠ “delay” - Do not confuse: “
timestamp” (iOS: the current Unix epoch time in seconds for every call; Android: the ordering key that must strictly increase pernotification_idortopic_name) ≠ “when” (Android: optional notification display time that does not control ordering) - Do not confuse:
la_eventvalue “remotestart” (recorded in the dataset for initial delivery) ≠ “start” (theeventfield value in the payload)
FAQ:
- Q: Why does the API return 200 OK but the Live activity does not appear? — A successful response (200 OK) does not guarantee the Live activity appears; the delivery can fail at multiple points, from API request validation through device rendering, so work through Scenarios 1 to 3.
- Q: Can I use Assurance for production end-user devices? — No; Assurance sessions are for test and QA devices only. For production diagnostics, use the dataset queries.
- Q: Why do update and end calls fail after the Live activity started? — The per-instance update token may not be synced; the user must have tapped “Allow” on the one-time permission prompt for update tokens to be generated (Scenario 4).
- Q: How do I check execution status programmatically? — Use the GET Message Execution API; for unitary executions the
executionIdis prefixed withHUOC-, and thestatusfield returnsPENDING,INPROGRESS,COMPLETED, orFAILED. - Q: What does a
feedbackStatusofsentmean on iOS? — It confirms Journey Optimizer successfully handed the notification to APNs; it does not confirm that the Live activity was rendered on the device. - Q: Why are some audience members not receiving a broadcast? — The profile may not be in the audience, or a batch audience snapshot may be up to 24 hours stale; trigger on-demand evaluation or ensure a streaming update occurs (Scenario 7).
Personas:
- marketer: Can open the Reports button on a Live activity Campaign and select View all time report to check Sending Statistics metrics. Can review the Live activity lifecycle section for Remote starts, Updates, Ends, and Totals count figures. The page states that if Send errors are greater than 0, check the Error Reasons table. Where: “Check campaign reports”.
Onboarding:
- Level: Intermediate
- First minimal step: Navigate to Customer, then Profiles, in Journey Optimizer to search for a profile using the namespace and identity value from the API request.
- Success check: The profile is found, and you can continue with the token checks for your platform.
- Previous: Creating the Live activity message before triggering it: Create a Live activity message (mobile-live/create-mobile-live.md)
- Next: Learning more about Live activity campaign reporting metrics: Campaign Live activity report (reports/campaign-global-report-cja-activity.md)