# SDK 集成指引
# 1、集成集团maven库权限账号
maven托管项目:https://repository.git.100tal.com/repository/maven2_release.2248_6722/
# 2、在 module gradle 中集成 YachSDK :
#username,password为集成maven库账号密码
#
#new_version为当前最新版本号
账户:maven2_jituan_gcxl_yach_yach_61_android_ro
密码:cFzzic0\Ifscteboi1yj==
# 3.API调用
# 1)调用sdk中该方法传入相关参数,即可监听成功失败回调
YachAuth.reqYachAuth(getApplicationContext(), action, appId, appName, state,
scope, isInstall, new OnYachAuthListener() {
@Override
public void onSuccess(String code) {
}
@Override
public void onFail(String code) {
}
});
# 入参:
- action:打开Yach目的(目前仅有授权登录,传 auth)
- appId:第三方应用的 appId
- state:字符串,非必传,第三方应用任意设置
- scope:由第三方应用调用 API 设置,目前只有 userinfo
# 回调code码表:
//当前知音楼支持授权登录
static final String SUCCESS_AUTH = "100";
//未安装知音楼
static final String ERROR_CODE_UNINSTALL = "101";
//当前知音楼版本过低,不支持授权登录功能
static final String ERROR_CODE_VERSION_LOW = "102";
//打开知音楼失败
static final String ERROR_CODE_OPEN_YACH = "104";
//前往下载成功
static final String SUCCESS_DOWNLOAD = "110";
//context为null
static final String ERROR_CODE_CONTEXT_NULL = "111";
//参数错误
static final String ERROR_CODE_PARAM = "113";
//打开浏览器失败
static final String ERROR_CODE_OPEN_BROWSER = "114";
//打开知音楼成功
static final String SUCCESS_START = "120";
# 2)接收数据
# 将提交yach的scheme协议进行注册接收相关数据,数据会以参数形式拼接在scheme后面
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="backfromyach"
android:scheme="yachopendemo" />
</intent-filter>
sssss://backfromyach?action=auth&state=xxxxxxx&code=xxxxxx&error_code=xxxxxx
sssss://为第三方应用向 Yach 开放平台注册跳转回第三方应用的 scheme 协议
数据包含:
- action:目前只有授权登录,这里固定传 auth
- state:可为空,将由授权登录 H5 页调用 JsApi 传给移动端
- code:临时票据 code,将由授权登录 H5 页调用 JsApi 传给移动端
- errorCode:错误码
- 授权成功:0
- 授权失败:-1
- 拒绝授权:-2
Uri data = intent.getData();
if (data != null) {
String code = data.getQueryParameter("code");
String state = data.getQueryParameter("state");
String action = data.getQueryParameter("action");
String errorCode = data.getQueryParameter("errorCode");
}