Campaign: appSubscriptionRcp中缺少registerDevice其他参数
在Adobe Campaign Classic v8 FFDA中,常见的自定义设置是添加额外的订阅属性,并通过移动设备registerDevice API填充这些属性。 如果nms:appSubscriptionRcp的扩展依赖于已具有现成的暂存架构的架构系列中的autoStg=“true”,则此操作可能会失败。 在这种情况下,可能无法正确存储附加参数,并且在某些情况下,可以将暂存模式重新生成到非工作状态。
描述 description
自定义实现向nms:appSubscriptionRcp添加新字段,并使用additionalParameters通过mobile registerDevice调用传递值。
症状可能包括:
- registerDevice请求包含其他参数,但不会保留这些值。
- 对暂存表进行插入或更新时不包括预期的自定义列。
- 在appSubscriptionRcp扩展中启用autoStg="true"并更新数据库结构后,设备注册开始失败。
- 可能会出现与以下内容类似的错误:
XSV-350023无法保存“nms:appSubscriptionRcpStg”类型的文档
QUE-370007找不到元素“订阅者应用程序(暂存)”的键值
元素“mobileApp”未知
解决方法 resolution
原因
autoStg="true"不是扩展已使用现有暂存模式的现成模式的通用机制。
它适用于从头开始创作自定义架构及其暂存模型的受支持用例。 这不是扩展nms:appSubscriptionRcp的正确方法,因为该架构已经依赖于现成的暂存架构nms:appSubscriptionRcpStg。 在此情况下启用autoStg="true"会触发自动重新生成暂存模式,并且不会保留预期的现成结构、链接和键。
分辨率
请使用以下方法:
使用ACC v8 FFDA中的现成订阅架构时,请勿在appSubscriptionRcp扩展上启用autoStg=“true”。
显式扩展两个架构:
- 主订阅模式
- 用于设备注册持久性的暂存模式
将订阅参数映射到registerDevice使用的暂存路径中存在的字段。
通过确认以下内容来验证端到端流程:
- 请求有效负载包含additionalParameters
- 暂存架构包括预期的自定义字段
- 这些值在设备注册后保留
如果已应用autoStg=“true”:
从appSubscriptionRcp扩展中删除autoStg=“true”。
将nms:appSubscriptionRcpStg还原为其开箱即用的定义。
通过显式扩展暂存模式来重新应用所需的自定义字段,而不是使用自动生成。
如果需要,重新加载缓存并重新启动相关服务,以便始终获取更正后的架构定义。
重新测试registerDevice。