名称 |
下载地址 |
使用说明 |
鸿蒙版百川SDK |
需要DevEco Studio 5.0.3.700及以上版本 |
|
手淘测试包 |
需使用鸿蒙unlock机器安装 1. 回归产物HAP、HSP均要下载至电脑本地 2. 非覆盖安装,需要先卸载,再安装HSP、HAP: hdc install hsp路径 hdc install hap路径 |
|
鸿蒙百川接入Demo |
需在工程中,放入申请好的安全图片,把lib目录下替换为最新的鸿蒙百川SDK,按SDK接入步骤替换appKey等配置 |
创建应用
登录https://console.baichuan.taobao.com/applications.htm进行应用创建,使用iOS应用创建流程,Bundle ID填写鸿蒙应用Bundle Name。详细创建流程可参考文档 https://baichuan.taobao.com/docs/doc.htm?treeId=129&articleId=118101&docType=1。
安全图片下载
登录https://suite.baichuan.taobao.com/#/sdk ,选择刚刚创建的应用,进行鸿蒙版安全图片下载,选择v6版本安全图片,文件名为yw_1222.jpg。
AppKey加白
将申请好的appKey提供给百川官方小二,走加白流程,加白后SDK可以正常调用。
加白提交方式可参考对外公告:https://qn.taobao.com/headline/news/10713252?spm=a211vu.12026430.0.0.b46b3929iVukWe
鸿蒙版百川依赖使用集成态hsp对外提供,接入前请先确认接入步骤前两点
{ "module": { ... "abilities": [ { ... "skills": [ { ... "uris": [ { "scheme": "taobaooauth{替换为自身的appKey}" } ] } ] }], "querySchemes": [ "tbopen", "tbaccount34692017" ] } }
/** @param context // 上下文对象 @param onSuccess // 成功回调 @param onFailure // 失败回调 */ export interface AlibcInitOption { context: Context; onSuccess?: () => void onFailure?: (code: number, msg: string) => void }
Alibc.init({ context: this.context, onSuccess: () => { hilog.info(0xF101, 'EntryAbility', 'Alibc init success'); }, onFailure: (code, msg) => { hilog.info(0xF101, 'EntryAbility', 'Alibc init fail code: %{public}d, msg: %{public}s', code, msg); } })
/** @param url // 跳转的url,必传参数 @param onSuccess // 成功回调 @param onFailure // 失败回调 @param showParams // 显示参数 @param taokeParams // 淘客参数 @param trackParams // 跟踪参数 @param needBaichuanLinkConvert // 是否需要百川SDK使用taokeParams对传入链接执行转链,默认不需要 */ export interface AlibcOpenByUrlOption { url: string; onSuccess?: (code: number, msg: string) => void; onFailure?: (code: number, msg: string) => void; showParams?: AlibcShowParams; taokeParams?: AlibcTaokeParams; trackParams?: Map<string, string>; needBaichuanLinkConvert?: boolean; }
let url = 'https://s.click.taobao.com/t?e=m%3D2%26s%3D1DANZtzHz7tw4vFB6t2Z2ueEDrYVVa64XoO8tOebS%2BfLWlSKdGSYDkgknI00BwY1MMgx22UI05ZGtvS2t8YXqql3YCacbAJGs0x9Gq7vDdqeKYIajGjChTpRpDJK%2FklF1RoBZXScntTUEheyLYMGXiU3eodff7ogotYzDcQ4SzIWZKt7NvIcGa1FXqxF%2F3mtXyerTiacefDX6KAEhsqp0hkfaIiVwydT67NJ05nbfGYzgmkCpJbUi2RBwUWWyHogzQ5pNhyIxpdNzuMLUNyvdNqIL1Eu%2F%2FLDsMlV1JGOt%2FN%2FQXu2D%2BXFgcKyIHBZkBMC&relationId=&skuId=5593778439447&union_lens=lensId%3ATAPI%401716084058%40212aafd5_111a_18f8e94aab4_162e%4001&ttid=2014_0_23022129@baichuan_android_5.0.2.1' let showParams: AlibcShowParams = {clientType: 'taobao'} let taokeParams: AlibcTaokeParams = {pid: "mm_26381042_107400144_109668650092"} let needBaichuanLinkConvert = false; Alibc.openByUrl({ url, onSuccess: (code, msg) => { hilog.info(0xF101, 'Index', 'openByUrl成功回调 code: %{public}d, msg: %{public}s', code, msg) }, onFailure: (code, msg) => { hilog.info(0xF101, 'Index', 'openByUrl失败回调 code: %{public}d, msg: %{public}s', code, msg) }, showParams, taokeParams, needBaichuanLinkConvert}) })
onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { Alibc.onNewWant(want); }
/** @param onSuccess // 成功回调 @param onFailure // 失败回调 */ export interface AlibcLoginOption { onSuccess?: (user?: AlibcLoginUser) => void onFailure?: (code: string, msg: string) => void }
Alibc.login({ onSuccess: (user) => { hilog.info(0xF101, 'Index', 'showLogin success user openId %{public}s', user?.openId); }, onFailure: (code, msg) => { hilog.info(0xF101, 'Index', 'showLogin onFail code: %{public}s, msg: %{public}s', code, msg); } })
/** @param onComplete // 登出完成回调 */ export interface AlibcLogoutOption { onComplete?: () => void; }
Alibc.logout({ onComplete: () => { hilog.info(0xF101, 'Index', 'logout'); } });
/** * 调用 authorize 方法前必须调用,否则会导致无法弹出授权浮层 * 设置授权浮层弹出的 windowStage,可在宿主APP的 EntryAbility onWindowStageCreate 回调中调用 * @param windowStage */ onWindowStageCreate(windowStage: window.WindowStage) { Alibc.setAuthorizeWindowStage(windowStage); }
/** @param appName // 用于top授权时展示应用名称 @param appLogoSrc // 用于top授权时展示应用图标 @param appKey // 业务方appkey @param onSuccess // 成功回调 @param onFailure // 失败回调 */ export interface AlibcAuthOption { appName: string; appLogoSrc: Resource; appKey: string; onSuccess?: (params: AlibcAuthOnSuccessParams) => void; onFailure?: (code: string, msg: string) => void; }
Alibc.authorize({ appName: '测试应用', appLogoSrc: $r('app.media.icon'), appKey: Alibc.getAppKey(), onSuccess: (params) => { hilog.info(0xF101, 'Index', 'topAuth success accessToken: %{public}s, expireTime: %{public}s', params.accessToken, params.expireTime); }, onFailure: (code, msg) => { hilog.info(0xF101, 'Index', 'topAuth fail code: %{public}d, msg: %{public}s', code, msg); } });
let appKey = Alibc.getAppKey()
export class AlibcInitCode { static readonly SECURITY_INIT_FAIL = 1000 // 安全保镖初始化失败 static readonly MTOP_INIT_FAIL = 2000 // MTOP初始化失败 static readonly UT_INIT_FAIL = 3000 // UT初始化失败 static readonly LOGIN_INIT_FAIL = 4000 // 登录sdk初始化失败 }
export const SDK_NOT_INIT_CODE = 1000 export const SDK_NOT_INIT_MSG = 'SDK没有初始化' export const NOT_SUPPORT_MINIAPP_CODE = 1300 export const NOT_SUPPORT_MINIAPP_MSG = '不支持小程序链接' export const LAUNCH_SUCCESS_CODE = 2000 export const LAUNCH_SUCCESS_MSG = '唤端成功' export const LAUNCH_NOT_SUPPORT_CLIENT_CODE = 2100 export const LAUNCH_NOT_SUPPORT_CLIENT_MSG = '不支持的唤端类型' export const LAUNCH_FAIL_CODE = 2200 export const LAUNCH_FAIL_MSG = '唤端失败,异常crash' export const LAUNCH_LACK_QUERY_SCHEMES_CODE = 2300 export const LAUNCH_LACK_QUERY_SCHEMES_MSG = '未配置目标scheme' export const LAUNCH_LINK_FAIL_CODE = 2400 export const LAUNCH_LINK_FAIL_MSG = '未找到目标app'
export const AUTH_NOT_INIT = 'AUTH_NOT_INIT'; //在onWindowStageCreate中先调用setAuthorizeWindowStage接口 export const AUTH_UI_ERROR = 'AUTH_UI_ERROR'; //系统createSubWindow创建失败 export const AUTH_NETWORK_ERROR = 'AUTH_NETWORK_ERROR'; //接口请求失败,检查appkey export const AUTH_USER_CANCEL = 'AUTH_USER_CANCEL'; // 用户取消授权 export const AUTH_FREQUENCY_LIMIT = 'AUTH_FREQUENCY_LIMIT' //授权频次过高,时间间隔需大于1秒