PII 情報を収集する際に ACS で更新なし
この記事では、React Native SDK を使用してプッシュ通知を実装した後、アプリケーションの購読者テーブルが PII ポストバックルールで設定された情報で更新されないAdobe Campaign Standardの問題を解決する方法について説明します。
説明 description
環境
Adobe Campaign Standard
問題/症状
iOSおよびAndroidに共通の React Native SDK を使用してプッシュ通知を実装している場合があります。 また、Adobe Campaign Standardからプッシュ通知を正常に作成し、受信することもできます
https://developer.adobe.com/client-sdks/documentation/mobile-core/api-reference/
ただし、PII ポストバックルールで設定された情報でアプリケーション購読者テーブルが更新されません。
この目的のために、コード ACPCore.collectPii({"myPii": "data"}) を実装しました
- ローンチでは、ルール「Mobile Core - PII を収集」をポストバックとして設定しました
- URL は'https://{%%camp-server%%}/rest/head/mobileAppV5/{%%pkey%%}/subscriptions/{%%mcid%%}'として構成されています
- 投稿本文:
{
"marketingCloudId": "{%%mcid%%}",
"cusCustomerNumber": "{%contextdata.customerNumber%}"
}
- アプリでサブスクライブしたレコードのフィールドは
cusCustomerNumberです - 実行中のコードは
ACPCore.collectPii({"cusCustomerNumber": "data"})です
解決策 resolution
解決された 2 つの問題が発生しました。
1 – 送信中のマップは設定済みの contextdata なので、SDK は customerNumber という名前のデータフィールドを見つけようとしていますが、cusCustomerNumber. に設定されているので、何もありません。代わりに ACPCore.collectPii({"cus.CustomerNumber": "data"}) を ACPCore.collectPii({"customerNumber": "data"}) に変更します
また、このコード内の自分のパーツと、上記で強調表示されているテキストが、このコードでも一致している必要があります。 以下は、このお客様に対するサービスです。
setTimeout(() => { ACPCore.collectPii({"customerNumber": "data"}); console.log('collectPii'); }, 2000);
2 – これを変更しても、アプリ内購読テーブルに保存されているデータは表示されませんでした。 したがって、データキャプチャは Charles ツールを使用して行われました。 次の問題が発生する場合があります。
{ "marketingCloudId": "0000000000000000", "cus.CustomerNumber": "data"}
RST-360011 エラーが発生しました – 管理者にお問い合わせください。
'cusCustomerNumber' プロパティは'nms:appSubscriptionRcp:appSubscriptionRcpDetail' リソースに対して無効です。
このテーブルのデータベースを見ると、次の列が表示されます。
テーブル「public.nmsappsubscriptionrcp」
列 | タイプ |照合順序 |無効 |既定値
-----------------------------±-------------------------±----------±---------±--------
iappsubscriptionrcpid |整数 | |が null ではありません | 0
icreatedbyid |整数 | |が null ではありません | 0
無効 | smallint | |が null ではありません | 0
imobileappid |整数 | |が null ではありません | 0
imodifiedbyid |整数 | |が null ではありません | 0
ipushplatform | smallint | |が null ではありません | 0
sdevicebrand |文字の変化(128) | | |
sdeviceid |文字の変化(128) | | |
sdevicemanufacturer |文字の変化(128) | | |
sdevicemodel |文字の変化(128) | | |
sdevicename |文字の変化(128) | | |
smartingcloudid |文字の変化(256) | | |
ssystemlanguage |文字の変化(128) | | |
ssystemname |文字の変化(128) | | |
ssystemversion |文字の変化(128) | | |
suserkey |文字の変化(128) | | |
tscreated | タイムゾーンを含むタイムスタンプ | | |
tsdisabled | タイムゾーンを含むタイムスタンプ | | |
tslastmodified | タイムゾーンを含むタイムスタンプ | | |
tsregistration | タイムゾーンを含むタイムスタンプ | | |
scuscucustomernumber |文字の変化(127) | | |
scusfirstname |文字の変化(127) | | |
scuslastname |文字の変化(127) | | |
現在は、フィールドの不一致のように見えます。 Launch で post 本文コードを次のように変更し、変更とテストするリクエストを公開します。これにより、問題が解決します。
{
"marketingCloudId": "{%%mcid%%}",
"cusCus.CustomerNumber": "{%contextdata.customerNumber%}"
}