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%}"

}

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