Nenhuma atualização no ACS ao coletar informações de PII

Este artigo descreve como resolver o problema do Adobe Campaign Standard em que a tabela de assinantes de aplicativos não é atualizada com informações configuradas na regra de postback PII após implementar notificações por push usando o SDK nativo do react.

Descrição description

Ambiente

Adobe Campaign Standard

Problema/Sintomas

Você pode ter implementado notificações por push usando o SDK nativo do react, que é comum ao iOS e Android. Você também pode conseguir criar e receber uma notificação por push do Adobe Campaign Standard com êxito

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

No entanto, a tabela do assinante do aplicativo não é atualizada com as informações que foram configuradas na regra de postback PII.

Para isso, implementamos o código ACPCore.collectPii({"myPii": "data"})

  • No Launch, configuramos a regra "Mobile Core - Coletar PII' como postback
  • O URL está configurado como 'https://{%%camp-server%%}/rest/head/mobileAppV5/{%%pkey%%}/subscriptions/{%%mcid%%}'
  • o corpo da publicação é:
{
    "marketingCloudId": "{%%mcid%%}",

    "cusCustomerNumber": "{%contextdata.customerNumber%}"
}
  • o campo no registro de inscrição do aplicativo é chamado cusCustomerNumber
  • o código que está sendo executado é ACPCore.collectPii({"cusCustomerNumber": "data"})

Resolução resolution

Foram observados dois problemas que foram resolvidos.

1 - O mapa que está sendo enviado é contextdata que configuramos, portanto, o SDK está tentando encontrar um campo de dados chamado customerNumber mas não há nenhuma porque foi definido como cusCustomerNumber. Em vez de alterar ACPCore.collectPii({"cus.CustomerNumber": "data"}) para ACPCore.collectPii({"customerNumber": "data"})

Além disso, verifique se sua parte no código, bem como o texto destacado acima, também devem corresponder ao código. Veja abaixo o que tínhamos para esse cliente.

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

2 - Ao alterar isso, ainda não conseguíamos ver os dados que estavam sendo armazenados na tabela de assinatura no aplicativo. Portanto, a captura de dados foi feita por meio da ferramenta Charles. Você pode notar o seguinte problema:

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

RST-360011 Ocorreu um erro - entre em contato com o administrador.
'cusCustomerNumberA propriedade ' não é válida para 'nms:appSubscriptionRcp:appSubscriptionRcpDetailrecurso '.

Ao observar o banco de dados para essa tabela, vemos as seguintes colunas.

Tabela "public.nmsappsubscriptionrcp"

Coluna            |           Tipo           | Agrupamento | Anulável | Padrão

—+—+—+—+—

iappsubscriptionrcpid       | inteiro                  |           | não nulo | 0

icreatedbyid                | inteiro                  |           | não nulo | 0

idisabled                   | smallint                 |           | não nulo | 0

imobileappid                | inteiro                  |           | não nulo | 0

imodifiedbyid               | inteiro                  |           | não nulo | 0

ipushplatform               | smallint                 |           | não nulo | 0

sdevicebrand                | caractere variável(128)   |           |          |

sdeviceid                   | caractere variável(128)   |           |          |

sdevicemmanufaturer         | caractere variável(128)   |           |          |

sdevicemodel                | caractere variável(128)   |           |          |

sdevicename                 | caractere variável(128)   |           |          |

smarketingcloudid           | variável de caractere(256)   |           |          |

sysystemlanguage             | caractere variável(128)   |           |          |

ssystemname                 | caractere variável(128)   |           |          |

ssystemversion              | caractere variável(128)   |           |          |

suserkey                    | caractere variável(128)   |           |          |

tscreated                   | carimbo de data e hora com fuso horário |           |          |

tsdisabled                  | carimbo de data e hora com fuso horário |           |          |

tslastmodified              | carimbo de data e hora com fuso horário |           |          |

tsregistration              | carimbo de data e hora com fuso horário |           |          |

scuscuscustomernumber | caractere variável(127)   |           |          |  

scusfirstname               | caractere variável(127)   |           |          |

scuslastname                | caractere variável(127)   |           |          |

O que parece agora é uma incompatibilidade de campo. Altere o código do corpo da publicação no lançamento conforme abaixo e publique as alterações e solicite um teste, que deve resolver o problema.

 {

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

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

}

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