Campaign: appSubscriptionRcp中缺少registerDevice其他引數
在Adobe Campaign Classic v8 FFDA中,常見的自訂方式是新增額外訂閱屬性,並透過行動registerDevice API填入這些屬性。 如果nms:appSubscriptionRcp的擴充功能在已有現成可用的中繼結構描述的結構描述系列中依賴autoStg=“true”,則這項作業可能會失敗。 在這種情況下,其他引數可能無法正確儲存,並且在某些情況下,中繼結構描述可能會重新產生為非工作狀態。
說明 description
自訂實作會將新欄位新增至nms:appSubscriptionRcp,並使用additionalParameters透過行動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。