Entorno
Es posible que haya implementado notificaciones push mediante el SDK nativo de React, que es común para Ios y Android. También es posible que pueda crear y recibir correctamente una notificación push de Adobe Campaign Standard
https://developer.adobe.com/client-sdks/documentation/mobile-core/api-reference/
Problema/Síntomas
La tabla del suscriptor de la aplicación no se actualiza con la información que se ha configurado en la regla de postback PII.
Para ello, hemos implementado el código ACPCore.collectPii({"myPii": "data"})
En Launch, hemos configurado la regla "Mobile Core - Collect PII" como postback
La 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 de suscripción de la aplicación se llama a. 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 de contexto que hemos configurado para que el SDK intente encontrar un campo de datos llamado customerNumber, pero no hay ninguna causa por la que se haya establecido en cusCustomerNumber, por lo que en su lugar 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 coincidan 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, aún no podíamos ver los datos almacenados en la tabla de suscripción de la aplicación, por lo que la captura de datos a través de la herramienta Charles se realizó y es posible que observe el siguiente problema
{
"marketingCloudId": "0000000000000000",
"cus.CustomerNumber": "data"
}
RST-360011 Se ha producido un error. Póngase en contacto con el administrador.
La propiedad 'cusCustomerNumber' no es válida para 'nms:appSubscriptionRcp:recurso 'appSubscriptionRcpDetail'.
Al consultar la base de datos de esta tabla, vemos las siguientes columnas.
Tabla "public.nmsappsubscriptionrcp"
Columna | Tipo | Intercalación | Nullable | Predeterminado
-----------------------------±-------------------------±----------±---------±--------
iappsubscriptionrcpid | entero | | no es nulo | 0
icreatedbyid | entero | | no es nulo | 0
inhabilitado | smallint | | no es nulo | 0
imobileappid | entero | | no es nulo | 0
imodifiedbyid | entero | | no es nulo | 0
ipushplatform | smallint | | no es nulo | 0
sdevicebrand | variación de caracteres(128) | | |
sdeviceid | variación de caracteres(128) | | |
sdevicemmanufacturer | variación de caracteres(128) | | |
sdevicemodel | variación de caracteres(128) | | |
sdevicename | variación de caracteres(128) | | |
smarketingcloudid | variación de caracteres(256) | | |
systemlanguage | variación de caracteres(128) | | |
systemname | variación de caracteres(128) | | |
systemversion | variación de caracteres(128) | | |
tecla de usuario | variación de caracteres(128) | | |
tscreated | marca de tiempo con zona horaria | | |
tsdisabled | marca de tiempo con zona horaria | | |
tslastmodified | marca de tiempo con zona horaria | | |
tsregistration | marca de tiempo con zona horaria | | |
scuscuscustomernumber | variación de caracteres(127) | | |
scusfirstname | variación de caracteres(127) | | |
scuslastname | variación de caracteres(127) | | |
Ahora se ve como un campo que no coincide. Cambie el código del cuerpo de envío en el lanzamiento como se muestra a continuación, publique los cambios y solicite realizar pruebas y, como resultado, se debe resolver el problema.
{
"marketingCloudId": "{%%mcid%%}",
"cusCus.CustomerNumber": "{%contextdata.customerNumber%}"
}