v2.0~2.1 升级指南
表情云商店SDK2.0、2.1到3.x版本升级指南-Android
- BQMM更名为DongtuStore
- 其他类的BQMM前缀全部更名为DTStore
- Text后缀更改为View
一、初始化
SDK新增了一个必须传入用户信息的初始化要求,在完成initConfig
之后、使用其他功能之前,须调用
setUserInfo`方法。传入哪些用户信息是可选的,唯一的要求是给每个用户传入一个唯一的userID,否则v3.x加入的收藏功能将无法正常使用。
v3.x对load()
的调用变成了可选的。SDK内部会根据情况自动调用load()
的逻辑。
二、消息封装
大表情消息曾经被作为Emoji
对象传给回调,但如今变成了一个DTStoreSticker
对象。前者的EmoCode
和EmoText
属性分别对应后者的code
和text
三、消息展示
展示文字以及小表情与文字混合消息的接口变为DTStoreMessageView.showText()
。
展示大表情的接口变为DTStoreMessageView.showSticker()
,传入发送消息回调收到的表情code。
在以前的版本中,展示大表情时传入的是一个JSONArray,开发者可能也将大表情消息封装为了一个JSONArray,升级到新版时需要从JSONArray中将code取出来。例如,如果消息是[["abcdefg", 1]]
,那么code就是abcedfg
。
四、消息版本兼容
对于大表情消息,新版和旧版的code有区别,v3.x能够兼容v2.x的emojiCode,v2.x无法兼容v3.x的emojiCode,所以建议开发者进行消息封装和解析时,将新版本的大表情消息封装成新的消息类型,同时逻辑上让旧版本处理到这个新的消息类型时,认为是文字消息,或者未知消息,或可提示用户升级客户端。
对于动图消息,兼容情况也是类似的,新版可以兼容旧版code,但反之不行,需要开发者做和大表情类似的处理。
五、联想弹窗
SDK原本提供了一个名为bqmmgif的包,以源码的形式提供了联想弹窗的实现。如今这一功能被集成到了SDK内部,开发者只需删去bqmmgif下的代码,并在UI初始化时调用
DongtuStore.setupSearchPopupAboveView(View anchor, DTStoreEditView input)
六、接入收藏功能
SDK从v3.x开始,加入了收藏表情和Gif的功能。每个用户拥有一个独立的收藏库,作为一个tab显示在键盘中。SDK提供了专门的UI进行收藏内容的删除和排序操作,但开发者需要调用SDK接口实现收藏内容的添加。