問題相關(guān)日志
集成CloudDB的時(shí)候,經(jīng)常會(huì)遇到對(duì)象類型創(chuàng)建失敗的問題,典型的日志有:
1、提示ObjectType數(shù)量不匹配
NaturalBase: GenerateDiffSchemas: remove ObjectType is not supported. count of ObjectType is less than current
2、對(duì)象類型協(xié)商失敗
E/NaturalBase: OpenNaturalStore: negotiate failed.
W/AGConnectCloudDB: openCloudDBZone: failed to create or open a cloudDBZone.
3、scheme未同步
[NaturalCloudSyncModule][OnConnected]: negotiate schema.
[PushMessageAndNotifyStoreCv] Schema is UnSynced
4、ObjectType版本已修改,但ObjectType未修改
E/NaturalBase: CreateObjectType: ObjectType version has changed, but ObjectType has not changed.
E/AGConnectCloudDB: createObjectType: failed to create ObjectType into the AGCConnectCloudDB.
問題原因
出現(xiàn)這個(gè)問題,主要的原因就是你的Android的項(xiàng)目里,ObjectType版本對(duì)應(yīng)的文件,與AGC云側(cè)的對(duì)象類型不一致導(dǎo)致的。
AGC云側(cè)的,可以在這邊查看:
Android項(xiàng)目中,主要看ObjectTypeInfoHelper以及里面對(duì)應(yīng)的Class。
問題解決三板斧:
1、在AGC云側(cè)重新導(dǎo)出ObjectTypes
出現(xiàn)這個(gè)問題,最大的原因就是項(xiàng)目里面的ObjectType和云側(cè)不一致導(dǎo)致的問題。這個(gè)時(shí)候就需要重新導(dǎo)出:
在AGC界面的 : 我的項(xiàng)目 – 構(gòu)建 – 云數(shù)據(jù)庫(kù) 路徑下,點(diǎn)擊對(duì)象類型頁(yè)簽,在版本后面選擇你要導(dǎo)出的版本,然后點(diǎn)擊導(dǎo)出。
導(dǎo)出的時(shí)候,選擇JAVA – android 然后輸入一個(gè)包名。
導(dǎo)出完成后,將zip中的文件,解壓到你的項(xiàng)目路徑下即可。
2、檢查對(duì)應(yīng)匹配的版本
對(duì)象類型文件中,有兩個(gè)Version很重要,使用的時(shí)候也需要重點(diǎn)關(guān)注。 也就是ObjectTypeInfoHelper文件中的
1、 FORMAT_VERSION:需要和SDK版本相對(duì)應(yīng)。
當(dāng)導(dǎo)出的FORMAT_VERSION = 1時(shí),請(qǐng)使用1.2.2以下版本的CloudDB的SDK,推薦使用1.2.1.301
當(dāng)導(dǎo)出的FORMAT_VERSION = 2時(shí),請(qǐng)使用新版本CloudDB的SDK,建議使用1.2.3.301。
2、 OBJECT_TYPE_VERSION
這個(gè)就是在AGC界面導(dǎo)出時(shí),在ObjectType上選擇的Version,這里一般導(dǎo)出無需修改。
3、端側(cè)原本的應(yīng)用,卸載以后再重新安裝
如果你設(shè)備上之前安裝過有問題的ObjectType,直接覆蓋安裝的話,手機(jī)上保留原本老應(yīng)用的緩存。導(dǎo)致創(chuàng)建對(duì)象類型失敗。
正確的操作步驟:
1、 重新打包應(yīng)用,
2、 手動(dòng)在設(shè)備上卸載原應(yīng)用。
3、 將重新打包的應(yīng)用安裝到設(shè)備上調(diào)試
官網(wǎng)CloudDB文檔中,關(guān)于對(duì)象類型的操作:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-clouddb-agcconsole-objecttypes
CloudDB Demo:
https://github.com/AppGalleryConnect/agc-android-demos/tree/master/acg-clouddb-demo-java
云數(shù)據(jù)庫(kù)使用指導(dǎo):
https://developer.huawei.com/consumer/cn/forum/topic/0202441049629310404?fid=0101271690375130218