No hay actualizaciones en ACS al recopilar información PII

En este artículo se describe cómo resolver el problema de Adobe Campaign Standard en el que la tabla de suscriptores de la aplicación no se actualiza con información configurada en la regla de postback PII, después de haber implementado notificaciones push mediante el SDK nativo de react.

Descripción description

Entorno

Adobe Campaign Standard

Problema/Síntomas

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/

Sin embargo, 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 esto hemos implementado el código ACPCore.collectPii({"myPii": "data"})

  • En Launch, hemos 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%}"
}
  • el campo del registro de suscripción a la aplicación se llama cusCustomerNumber
  • el código que se está ejecutando es ACPCore.collectPii({"cusCustomerNumber": "data"})

Resolución resolution

Se observaron dos problemas que se resolvieron.

1 - El mapa que se está enviando es contextdata que hemos configurado, por lo que el SDK está intentando encontrar un campo de datos llamado customerNumber, pero no hay ninguno porque se ha establecido en cusCustomerNumber.. 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 en la aplicación. Por lo tanto, la captura de datos se realizó mediante la herramienta Charles. Es posible que observe el siguiente problema:

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

RST-360011 Se produjo un error. Comuníquese con el administrador.
La propiedad 'cusCustomerNumber' no es válida para el recurso 'nms:appSubscriptionRcp: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                | cambio de caracteres(128)   |           |          |

sdeviceid                   | cambio de caracteres(128)   |           |          |

sdevicemmanufacturer         | cambio de caracteres(128)   |           |          |

sdevicemodel                | cambio de caracteres(128)   |           |          |

sdevicename                 | cambio de caracteres(128)   |           |          |

smarketingcloudid           | Variación de caracteres(256)   |           |          |

systemlanguage             | cambio de caracteres(128)   |           |          |

systemname                 | cambio de caracteres(128)   |           |          |

systemversion              | cambio de caracteres(128)   |           |          |

tecla de usuario                    | cambio 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 |           |          |

scuscustomernumber | cambio de caracteres(127)   |           |          |

scusfirstname               | cambio de caracteres(127)   |           |          |

scuslastname                | cambio de caracteres(127)   |           |          |

Ahora se ve como un campo que no coincide. Cambie el código del cuerpo de envío en Launch como se muestra a continuación y publique los cambios y la solicitud para probar, lo que debería resolver el problema.

 {

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

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

}

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