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.
再現手順:
- Android プッシュ通知配信を送信します。
- プッシュ通知が サービスプロバイダーに送信済み ステータスでスタックし、選択したモバイルアプリケーションでAndroid プッシュ通知が送信されていない
>
合は、広範ログのステータスを確認します。 - テキストフィールドに、「*へのメッセージ がコネクタにプッシュされたことを確認できます。
解決策 resolution
このタイプの状況は、FCM HTTPv1. に完全に移行していない場合に発生することがあります
Androidのプッシュ通知配信を送信するには、次の 3 つの条件を満たす必要があります。
-
Adobe Campaign マーケティングインスタンスのAndroid モバイルアプリケーションは、API バージョン HTTP v1 を使用し、Android アプリケーションに正しい詳細が追加されている必要があります。
以下のドキュメントを使用することで、Android モバイルアプリケーションで HTTP v1 が正しく使用されていることを確認できます。
プッシュ通知チャネルの変更 -
Android ルーティング外部アカウントの最新の
androidPushConnectorV2.js (nms)
Javascript コネクタを使用して、配信が送信されます。メモ: カスタムのAndroid プッシュコネクタを使用している場合は、変更内容を最新の OOTB
androidPushConnectorV2.js (nms)
JavaScript コネクタに結合する必要があります。 -
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 への移行プロセス