# 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");
}

#

上次更新: 12/21/2020, 4:23:00 PM
foo