受人之托研究一个Flutter的问题,淘宝登陆如何在Flutter上完成,淘宝登陆本身库很久没有更新,文档也写的不太好,Flutter偏偏是个新事物,所以出了不少问题。淘宝第三方登录属于阿里百川开发SDK的内容,没有提供Flutter包,所以只能按照Flutter的不同平台开发来处理,这里主要是Android的登录问题。

参考正确的文档

这是正确的淘宝登陆应该参考的文档:百川SDK文档1 或者参考 百川SDK文档2 前者是我在别人的文档里面看到的,但是没有在百川文档里面找到入口,后者是从“百川电商SDK”的文档入口找到的。

我们一般注册百川以后,在控制台看到“云账号”等内容就会进去较劲,其实它不是我们要的淘宝第三方登录。真正的第三方登录放在了“百川电商”里面,这个命名方式深得程序员免于被裁员之妙:故意用一个错误的命名,这样你就很难被取代了。

基本步骤

注册应用、上传SDK和获取安全图片,网上很多文档还推荐使用v4版本安全图片,但是现在只能用v5版本了。

然后进入“套件申请”、“API申请”,应该需要的是“淘宝客基础页面包”和“系统工具”、“百川基础能力”、“百川网关基础权限包”这四个,如果没有申请会在初始化的时候报错。

解决Androidx和Support包的冲突

现在Android开发已经用Androidx取代了support包来处理以前版本的兼容问题,但是百川SDK还不支持,如果你的Flutter应用在配置了淘宝第三方登录以后编译失败,提示找不到support包,说明是Flutter里面引用的第三方库或者你自己引用了androidx,这个问题没有别的办法,只能取消对Androidx的引用来解决。如果是自己引用的,就想办法换掉;如果是第三方Flutter库引用的,要么使用这些库支持support包的版本,要么换其他库或者自己写。

另外就是Flutter如果升级到当前版本1.12以上,很可能Flutter本身就已经引用了androidx,这时候只能用以前老版本的Flutter,我用的是1.7.8版本可以,没有测试具体哪个版本开始不能用的。

或者不要做淘宝第三方登录。

幻想让Androidx和Support包和平共存是不太可能的。

如果还有问题

可以去百川社区提问或者搜索:百川社区一般还是有参考信息的,但是找到直接能解决问题的还不太容易。

不过接入一个第三方登录,终归不会太难的。