Aucune mise à jour dans ACS lors de la collecte d’informations relatives aux informations d’identification personnelles

Cet article décrit comment résoudre le problème Adobe Campaign Standard en raison duquel la table des abonnés de l’application n’est pas mise à jour avec les informations configurées dans la règle de postback PII, après avoir mis en oeuvre des notifications push à l’aide du SDK natif react.

Description description

Environnement

Adobe Campaign Standard

Problème/Symptômes

Vous avez peut-être mis en oeuvre des notifications push à l’aide d’un SDK natif de la réaction, courant dans iOS et Android. Vous pouvez également créer et recevoir une notification push de Adobe Campaign Standard avec succès.

https://developer.adobe.com/client-sdks/documentation/mobile-core/api-reference/

Toutefois, la table des abonnés de l'application n'est pas mise à jour avec les informations configurées dans la règle de postback PII.

Pour ce faire, nous avons implémenté le code ACPCore.collectPii({"myPii": "data"})

  • Au lancement, nous avons configuré la règle 'Mobile Core - Collect PII' en tant que postback
  • L’URL est configurée comme suit : 'https://{%%camp-server%}/rest/head/mobileAppV5/{%%pkey%}/subscriptions/{%%mcid%%}'
  • Le corps de la publication est :
{
    "marketingCloudId": "{%%mcid%%}",

    "cusCustomerNumber": "{%contextdata.customerNumber%}"
}
  • sur l’enregistrement abonné de l’application est appelé cusCustomerNumber
  • le code en cours d’exécution est ACPCore.collectPii({"cusCustomerNumber": "data"})

Résolution resolution

Deux problèmes ont été résolus.

1 - La carte en cours d’envoi est contextdata que nous avons configurée, de sorte que le SDK tente de trouver un champ de données appelé customerNumber, mais il n’y en a aucun, car il a été défini sur cusCustomerNumber. À la place, remplacez ACPCore.collectPii({"cus.CustomerNumber": "data"}) par ACPCore.collectPii({"customerNumber": "data"})

Assurez-vous également que votre partie de son code, ainsi que le texte mis en surbrillance ci-dessus, doit correspondre à son code. Voici ce que nous avions pour ce client.

setTimeout(() => {                ACPCore.collectPii({"customerNumber": "data"});                console.log('collectPii');            }, 2000);

2 - Lors de la modification de ce paramètre, nous n’étions toujours pas en mesure de voir les données stockées dans la table des abonnements in-app. Par conséquent, la capture des données a été effectuée par l’outil Charles. Vous pouvez remarquer le problème suivant :

{    "marketingCloudId": "0000000000000000",    "cus.CustomerNumber": "data"}

RST-360011 Une erreur s’est produite - Contactez votre administrateur.
La propriété 'cusCustomerNumber' n’est pas valide pour la ressource 'nms:appSubscriptionRcp:appSubscriptionRcpDetail'.

Lorsque vous examinez la base de données de ce tableau, les colonnes suivantes s’affichent.

Table "public.nmsappsubscriptionrcp"

Colonne            |           Type           | Collecte | Nulle | Par défaut

—+—+—+—+—

iappsubscriptionrcpid       | entier                  |           | not null | 0

icreatedbyid                | entier                  |           | not null | 0

idisabled                   | smallint                 |           | not null | 0

imobileappid                | entier                  |           | not null | 0

imodifiedbyid               | entier                  |           | not null | 0

ipushplatform               | smallint                 |           | not null | 0

sdevicebrand                | variable de caractères (128)   |           |          |

sdeviceid                   | variable de caractères (128)   |           |          |

sdevicemanufacturer         | variable de caractères (128)   |           |          |

sdevicemodel                | variable de caractères (128)   |           |          |

sdevicename                 | variable de caractères (128)   |           |          |

smarketingcloudid           | variable de caractères (256)   |           |          |

ssystemlanguage             | variable de caractères (128)   |           |          |

ssystemname                 | variable de caractères (128)   |           |          |

ssystemversion              | variable de caractères (128)   |           |          |

suserkey                    | variable de caractères (128)   |           |          |

tscreated                   | horodatage avec fuseau horaire |           |          |

tsdisabled                  | horodatage avec fuseau horaire |           |          |

tslastmodified              | horodatage avec fuseau horaire |           |          |

tsenregistrement              | horodatage avec fuseau horaire |           |          |

scuscuscustomernumber | variable de caractères (127)   |           |          |

scusfirstname               | variable de caractères (127)   |           |          |

scuslastname                | variable de caractères (127)   |           |          |

Il s’agit désormais d’une incohérence de champ. Modifiez le code du corps de publication dans launch comme ci-dessous, puis publiez les modifications et demandez à tester, ce qui devrait résoudre le problème.

 {

    "marketingCloudId": "{%%mcid%%}",

    "cusCus.CustomerNumber": "{%contextdata.customerNumber%}"

}

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