Campanha: parâmetros adicionais registerDevice ausentes de appSubscriptionRcp
No Adobe Campaign Classic v8 FFDA, uma personalização comum é adicionar atributos de assinatura extras e preenchê-los por meio da API registerDevice para dispositivos móveis. Isso pode falhar se a extensão de nms:appSubscriptionRcp depender de autoStg=“true” em uma família de esquemas que já tem um esquema de preparo pronto para uso. Nesse caso, os parâmetros adicionais podem não ser armazenados corretamente e, em algumas situações, o esquema de preparo pode ser gerado novamente em um estado inoperante.
Descrição description
Uma implementação personalizada adiciona novos campos ao nms:appSubscriptionRcp e transmite valores através da chamada registerDevice para dispositivos móveis usando additionalParameters.
Os sintomas podem incluir:
- A solicitação registerDevice contém os parâmetros adicionais, mas os valores não são persistentes.
- Inserções ou atualizações na tabela de preparo não incluem as colunas personalizadas esperadas.
- Depois de ativar autoStg=“true” na extensão appSubscriptionRcp e atualizar a estrutura do banco de dados, o registro do dispositivo começa a falhar.
- Podem aparecer erros semelhantes aos seguintes:
XSV-350023 Não é possível salvar documento do tipo ‘nms:appSubscriptionRcpStg’
QUE-370007 Não é possível localizar valores de chave para o elemento ‘Aplicativo do assinante (Preparo)’
Elemento ‘mobileApp’ desconhecido
Resolução resolution
Causa
autoStg=“true” não é um mecanismo de uso geral para estender esquemas prontos para uso que já usam um esquema de preparo existente.
Ele funciona para casos de uso compatíveis em que um esquema personalizado e seu modelo de preparo são criados do zero. Não é a abordagem correta para a extensão de nms:appSubscriptionRcp, pois esse esquema já depende do esquema de preparo pronto para uso nms:appSubscriptionRcpStg. Ativar autoStg=“true” neste caso pode acionar a regeneração automática do esquema de preparo de uma maneira que não preserve a estrutura, os links e as chaves prontos para uso esperados.
Resolução
Use a seguinte abordagem:
Não ative autoStg=“true” na extensão appSubscriptionRcp ao trabalhar com o esquema de assinatura pronto para uso no ACC v8 FFDA.
Estender explicitamente ambos os esquemas:
- o schema de subscrição principal
- o esquema de preparo usado para a persistência de registro do dispositivo
Mapeie os parâmetros de assinatura para campos que existem no caminho de preparo usado por registerDevice.
Valide o fluxo de ponta a ponta confirmando que:
- a carga da solicitação contém additionalParameters
- o esquema de preparo inclui os campos personalizados esperados
- os valores são mantidos após o registro do dispositivo
Se autoStg=“true” já foi aplicado:
Remova autoStg=“true” da extensão appSubscriptionRcp.
Reverta o nms:appSubscriptionRcpStg para sua definição predefinida.
Reaplique os campos personalizados necessários por meio de uma extensão explícita do esquema de preparo, em vez de usar a geração automática.
Recarregue os caches e reinicie os serviços relevantes, se necessário, para que a definição de esquema corrigida seja escolhida de forma consistente.
Teste registerDevice novamente.