从 5.x 升级
6.0 包含破坏性变更。
原生配置
- Android:从
MainActivity中删除ZaloSDK.Instance.onActivityResult(...),从MainApplication中删除ZaloSDKApplication.wrap(this)。留着也不会出错,只是已经不需要了。SDK 的 ProGuard 规则已经内置,可以从proguard-rules.pro中删掉。 - iOS:在
Info.plist中添加ZaloAppID(或继续调用initializeWithAppId:)。openURL的转发保持不变。 - Expo:添加 config plugin,参数为
{ "appId": "..." },并撤掉你在expo prebuild之后手动做的原生修改。
API 变化
login()除了 Token 之外还会返回expiresIn和expiresAt。在没有 Zalo App 或 Zalo App 出问题时,会以错误处理中的错误码 reject,而不是一直挂起。authType的类型从string改为LoginMethod。- 没有会话时,
isAuthenticated()返回false;5.x 会以401reject。网络错误时仍然会 reject。 401(没有会话)和422(无法读取资料)分别被NOT_AUTHENTICATED和INVALID_RESPONSE取代。logout()会以LOGIN_SUPERSEDEDreject 尚未完成的login()。getUserProfile()不再请求phoneNumber、gender和birthday。
新增
getAccessToken()和refreshAccessToken()。ErrorCodes。login(type, { fallbackToWeb })。- Token 加密存储;5.x 保存的 Token 会自动迁移。