flutter_alibc
Flutter版本的阿里百川,原作者维护太慢,这个插件以后我自己维护,最新版本必须本地引入依赖了,所以之前版本的maven和pod源全部失效了。
苹果安卓测试没问题,已上架稳定运行四个多月。使用时记得升级最新版安全图,记得看下面的注意点。
百川SDK版本
Android标准版 4.1.0.1
iOS标准版 4.1.0.0
flutter版本要求
sdk: '>=2.12.0'
开始配置
工程性配置
参考阿里百川官网
Android: 注意在新版本gradle编译时,会强制校验远程仓库是否存在.pom文件, 阿里百川仓库目前缺少.pom文件, 因此目前先使用较低版本gradle
注意点
- 该版本需使用V6版本的安全图片,V6版本的安全图片可在百川套件平台下载。
- 通过第1步,重新下载V6版本的安全图,并把yw_1222.jpg文件名改为yw_1222_baichuan.jpg。
方法说明
- 头文件引入
import 'package:alibc_kit/flutter_alibc.dart';
- 初始化
/**
* 初始化
* version:当前app版本
* appName:当前app名称
* result:{
* errorCode, //0为初始化成功,其他为失败
* errorMessage, //message
* }
*/
var result = await FlutterAlibc.initAlibc(version:"",appName:"");
- 登录淘宝
/**
* 登录淘宝
* result :{
* errorCode, //0为初始化成功,其他为失败
* errorMessage, //message
* data:{ //登录成功的情况下返回data,为用户数据
* //nick 用户昵称,avatarUrl 头像地址
* nick,avatarUrl,openId,openSid,topAccessToken,topAuthCode
* }
* }
* 备注:登录过会直接返回淘宝用户的信息,不会多次唤醒淘宝,请放心
*/
FlutterAlibc.loginTaoBao(callback:(result){
print("登录淘宝 ${result.data.nick} ${result.data.topAccessToken}");
});
- 淘宝登出
FlutterAlibc.loginOut();
- 淘客登录,二次授权获取access_token
/**
* @description: 获取access_token
* @param
* url:用于授权登录的url
* openType:打开类型,默认auto
* isNeedCustomNativeFailMode:是否需要设置唤端失败策略,默认false
* nativeFailMode:唤端失败策略,默认None
* schemeType:唤起哪个端,默认天猫
* taokeParams:淘客数据
* backUrl: 跳转回来的url
* result: {"data":{"accessToken":"xxx"},"errorMessage":"成功","errorCode":"0"}//获取成功为token,获取失败为空字符串
*/
FlutterAlibc.taoKeLogin(
url:"", //必须参数,用于授权登录的url
openType : AlibcOpenType.AlibcOpenTypeAuto,
isNeedCustomNativeFailMode : false,
nativeFailMode : AlibcNativeFailMode.AlibcNativeFailModeNone,
schemeType : AlibcSchemeType.AlibcSchemeTmall,
taokeParams : {},
backUrl:"",
callback: (result){
print('淘客登录 ' + json.encode(result));
},
);
- 淘客登录,二次授权获取code
/**
* @description: 获取code
* @param
* url:用于授权登录的url
* openType:打开类型,默认auto
* isNeedCustomNativeFailMode:是否需要设置唤端失败策略,默认false
* nativeFailMode:唤端失败策略,默认None
* schemeType:唤起哪个端,默认天猫
* taokeParams:淘客数据
* backUrl: 跳转回来的url
* result: {"data":{"code":"xxx"},"errorMessage":"成功","errorCode":"0"}//获取成功为code,获取失败为空字符串
*/
FlutterAlibc.taoKeLoginForCode(
url:"", //必须参数,用于授权登录的url
openType : AlibcOpenType.AlibcOpenTypeAuto,
isNeedCustomNativeFailMode : false,
nativeFailMode : AlibcNativeFailMode.AlibcNativeFailModeNone,
schemeType : AlibcSchemeType.AlibcSchemeTmall,
taokeParams : {},
backUrl:"",
callback: (result){
print('淘客登录 ' + json.encode(result));
},
);
- 唤起淘宝,openByUrl方式
/**
* @description: 通过url打开,包括h5,唤起手淘等
* @param
* url:目标url
* openType:打开类型,默认auto
* isNeedCustomNativeFailMode:是否需要设置唤端失败策略,默认false
* nativeFailMode:唤端失败策略,默认None
* schemeType:唤起哪个端,默认天猫
* taokeParams:淘客数据
* backUrl: 跳转回来的url
* result: {
* errorCode,
* errorMessage,
* type, //0为添加购物车,1为付款成功
* payResult, //type为1时返回
* }
*/
FlutterAlibc.openByUrl(
url:"", //必须参数
openType : AlibcOpenType.AlibcOpenTypeAuto,
isNeedCustomNativeFailMode : false,
nativeFailMode : AlibcNativeFailMode.AlibcNativeFailModeNone,
schemeType : AlibcSchemeType.AlibcSchemeTmall,
taokeParams : {},
backUrl:"",
callback: (result){
print('openByURL ' + json.encode(result));
},
);
- 唤起淘宝,openItemDetail方式
/**
* @description: 打开商品详情
* @param
* itemID 商品id,可以是真实的也可以是混淆的,必须参数
* trackParam 需要额外追踪的业务数据
* 其他同上
* @return: 同openByUrl
*/
FlutterAlibc.openItemDetail(
itemID:"", //必须参数
openType : AlibcOpenType.AlibcOpenTypeAuto,
isNeedCustomNativeFailMode : false,
nativeFailMode : AlibcNativeFailMode.AlibcNativeFailModeNone,
schemeType : AlibcSchemeType.AlibcSchemeTmall,
taokeParams : {},
trackParam : {}, //需要额外追踪的业务数据
backUrl:"",
callback: (result){
print('openItemDetail ' + json.encode(result));
},
);
- 打开店铺,openShop方式
/**
* @description: 打开店铺
* @param
* shopId 店铺id,必须参数
* 其他同上
* result: 同openByUrl
*/
FlutterAlibc.openShop(
shopId:"", //必须参数
openType : AlibcOpenType.AlibcOpenTypeAuto,
isNeedCustomNativeFailMode : false,
nativeFailMode : AlibcNativeFailMode.AlibcNativeFailModeNone,
schemeType : AlibcSchemeType.AlibcSchemeTmall,
taokeParams : {},
trackParam : {}, //需要额外追踪的业务数据
backUrl:"",
callback: (result){
print('openShop ' + json.encode(result));
},
);
- 打开购物车,openCart方式
/**
* @description: 打开购物车
* @param
* 无必须参数
* 其他同上
* result: 同openByUrl
*/
FlutterAlibc.openCart(
openType : AlibcOpenType.AlibcOpenTypeAuto,
isNeedCustomNativeFailMode : false,
nativeFailMode : AlibcNativeFailMode.AlibcNativeFailModeNone,
schemeType : AlibcSchemeType.AlibcSchemeTmall,
taokeParams : {},
trackParam : {}, //需要额外追踪的业务数据
backUrl:"",
callback: (result){
print('openShop ' + json.encode(result));
},
);
- 是否设置同步打点
FlutterAlibc.syncForTaoke(true);
- 是否使用Native Alipay
FlutterAlibc.useAlipayNative(true);