Android推播傳遞卡在「已傳送給服務提供者」狀態

本文解決Adobe Campaign Classic v7中Android推播傳遞卡在​ 傳送至服務提供者 ​狀態中,導致行動應用程式無法接收推播通知的問題。

說明 description

環境

Adobe Campaign Classic v7

問題/症狀

Android推播傳遞的廣泛記錄卡在​ 傳送給服務提供者 ​狀態,導致行動應用程式無法接收推播通知。

例如:

16/09/2024 13:23:19 Sent to the service provider Not defined Message to '*' pushed to the connector.

要再現的步驟:

  1. 傳送Android推播通知傳遞。
  2. 檢查廣泛記錄檔的狀態>推播通知卡在​ 傳送給服務提供者 ​狀態,而您在選取的行動應用程式上未收到任何Android推播通知。
  3. 在文字欄位中,您會看到​ 傳送至'*'的訊息已推送至聯結器

解決方法 resolution

如果您尚未完全移轉至 FCM HTTPv1.,可能會發生這種狀況

Android推播通知傳送必須符合三個條件才能傳送:

  1. Adobe Campaign行銷執行個體的Android行動應用程式必須使用API版本 HTTP v1,並為Android應用程式新增正確的詳細資料。
    您可以使用以下檔案來確保您的Android行動應用程式正確使用 HTTP v1
    推播通知通道變更

    ACC - Android — 移轉至FCM HTTPv1的程式

  2. Android路由外部帳戶中的最新androidPushConnectorV2.js (nms) Javascript聯結器是用來傳送傳遞。

    注意: 如果您使用自訂Android推播聯結器,請確定您將變更與最新的OOTB androidPushConnectorV2.js (nms) Javascript聯結器合併。

  3. 您在Android推播通知傳遞中使用的Android傳遞範本具有正確的androidCheckParams,如下所示:

    code language-none
    <androidCheckParams>
          <source><!--[ CDATA[ <% if( appSubscription.mobileApp.label!='' &&
         appSubscription.mobileApp.img!='' &&
         appSubscription.mobileApp.fcmProtocol!='' &&((
         appSubscription.mobileApp.senderId!='' &&
         appSubscription.mobileApp.password!='' ) || (
         appSubscription.mobileApp.fcmProjectId!='' &&
         appSubscription.mobileApp.fcmPrivateKey!='' &&
         appSubscription.mobileApp.fcmClientEmail!='' ) ) &&
         String(message.delivery.idTracking)!='' &&
         String(message.delivery.idMarketing)!='' ) { %--> 'OK' <% } else { %> 'Error' <% } %>] ] ></source>
    </androidCheckParams>
    

為了確認推播通知是使用 HTTPv1 傳送,請確定廣泛記錄檔中的文字如下:

HTTPv1 SUCCESS 200: message to '*' has been transmitted to FCM

如需更詳細的說明,請遵循下列連結:

ACC - Android — 移轉至FCM HTTPv1的程式

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f