Segundo plano: es posible que haya implementado notificaciones push mediante el sdk nativo de reacción, que es común para Ios y Android. También puede crear y recibir correctamente una notificación push de Adobe Campaign Standard
Problema : la tabla de suscriptores de la aplicación no se actualiza con la información se ha configurado en la regla de postback PII.
Para esto hemos implementado el código "ACPCore.collectPii({"myPii"): "data"})"
En Launch, se ha configurado la regla "Mobile Core - Collect PII" como postback
La dirección URL está configurada como 'https://{%%camp-server%%}/rest/head/mobileAppV5/{%%pkey%%}/subscriptions/{%%mcid%%}'
el cuerpo del anuncio es
{
"marketingCloudId": "{%%mcid%%}",
"cusCustomerNumber": "{%contextdata.customerNumber%}"
}
en el registro suscrito de la aplicación se denomina "cusCustomerNumber".
el código que se está ejecutando es 'ACPCore.collectPii({"cusCustomerNumber": "data"})'
Se observaron dos problemas que se resolvieron.
1 - El mapa que se envía son datos contextuales que hemos configurado para que el SDK intente encontrar un campo de datos llamado customerNumber pero no hay ninguna causa de que se haya establecido en cusCustomerNumber, así que cambie ACPCore.collectPii({"cus.CustomerNumber": "data"}) a ACPCore.collectPii({"customerNumber": "data"})
Además, asegúrese de que la parte de este código, así como el texto resaltado arriba, también deben coincidir con este código. A continuación se muestra lo que teníamos para este cliente.
setTimeout(() = {
ACPCore.collectPii({"customerNumber": "data"});
console.log('collectPii');
}, 2000);
2 - Al cambiar esto, todavía no se podían ver los datos almacenados en la tabla de suscripción de la aplicación, por lo que se realizó la captura de datos a través de la herramienta Charles y es posible que notara el siguiente problema
{
"marketingCloudId": "0000000000000000",
"cus.CustomerNumber": "data"
}
RST-360011 Se ha producido un error. Póngase en contacto con su administrador.
La propiedad 'cusCustomerNumber' no es válida para 'nms:appSubscriptionRcp:recurso appSubscriptionRcpDetail'.
Al consultar la base de datos de esta tabla, vemos las columnas siguientes.
Tabla "public.nmsappsubscriptionrcp"
Columna | Tipo | Intercalación | Relleno | Predeterminado
—+—+—+—+—
iappsubscriptionrcpid | integer | | no es nulo | 0
icreatedbyid | integer | | no es nulo | 0
indisabled | smallint | | no nulo | 0
imobileappid | integer | | no es nulo | 0
imodifiedbyid | integer | | no es nulo | 0
ipushplatform | smallint | | no nulo | 0
sdevicebrand | variación de caracteres (128) | | |
sdeviceid | variación de caracteres(128) | | |
sdevicemanuManufacturing | variación de caracteres(128) | | |
sdevicemodel | variación de caracteres (128) | | |
sdevicename | variación de caracteres(128) | | |
smarketingcloudid | variación de caracteres (256) | | |
lenguaje del sistema | variación de caracteres(128) | | |
nombre del sistema | variación de caracteres(128) | | |
ssystemversion | variación de caracteres (128) | | |
suserkey | variación de caracteres (128) | | |
tscreated | timestamp with time zone | |
tsdisabled | marca de tiempo con zona horaria | |
tslastmodified | marca de tiempo con zona horaria | |
registro de servidor | marca de tiempo con zona horaria | |
suscustomernumber | variación de caracteres(127) | | |
nombredesubsfirstname | caracteres variables(127) | | |
slastname | variación de caracteres(127) | | |
Ahora se ve una discordancia de campo. Cambie el código del cuerpo del anuncio en launch como se muestra a continuación y publique los cambios y solicite probarlos, por lo que el problema debería resolverse.
{
"marketingCloudId": "{%%mcid%%}",
"cusCus.CustomerNumber": "{%contextdata.customerNumber%}"
}