抖音开放平台Logo
开发者文档
控制台
  • 移动应用
  • open SDK 概述
  • open SDK 下载
  • open SDK 接入
  • Android 接入
  • iOS 接入
  • 鸿蒙 接入
  • 抖音分享
  • 抖音投稿发布
  • 抖音名片
  • 抖音授权
  • 常见问题
  • 网站应用
  • 鸿蒙 接入
    收藏
    我的收藏

    本文为抖音短视频鸿蒙 OpenSDK 新手使用教程,只涉及 SDK 的使用方法,默认读者已经具有使用鸿蒙开发程序的经验,以及相关的编程知识基础等。

    前提条件

      请确保 SDK 最低支持 API 12 版本。
      向抖音短视频申请你的 ClientKey(下文简称 AppID)及相关权限:
      通过 AppID 为应用申请相关的权限,如分享、授权等。
      审核通过后即可使用相关的功能。
      在对应的应用下设置鸿蒙开发信息,配置bundleName和applink。 配置路径为 控制台-对应应用-设置-开发配置-开发信息。其中applink配置请参考华为官方文档进行配置

    接入流程

    SDK 接入目前需要引入 douyin:opensdk-common-external 依赖包。目前该依赖包在抖音自建公共仓库中,因此需要依赖额外的仓库源才能拉去到仓库。

    操作步骤

      1.添加抖音仓库源地址。
    在工程目录下的 .ohpmrc 文件(如果没有请新建)中的 registry 字段增加 http://artifact.bytedance.com/repository/byted-ohpm/
    registry=https://ohpm.byted.org/repos/ohpm/,http://artifact.bytedance.com/repository/byted-ohpm/
      2.在依赖模块的 oh-package.json5 文件中增加依赖。
    { "dependencies": { "@douyin/opensdk-common-external": "0.0.1" // 请填写最新的版本 } }
      3.在 entry 模块下的 module.json5 文件中添加配置,具体标签路径如下:module-> querySchemes,增加 snssdk1128 以及 douyinopensdk。
    { "module": { "querySchemes": [ "snssdk1128", "douyinopensdk" ] } }
      4.设置接受回调。
    在接受回调的 UIAbility 的 onCreate 和 onNewWant 方法中,调用 douYinOpenSDK.doResult 方法处理回调数据。
    export default class EntryAbility extends UIAbility { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); douYinOpenSDK.doResult(this.context, want) } onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { douYinOpenSDK.doResult(this.context, want) } }
    注:如果每次能力调用传入的 callerLocalEntry 不是同一个,那么需要在对应的 callerLocalEntry 中添加如上代码。
      5.初始化 SDK。
    在调用 SDK 能力前,需要初始化 SDK 才能使用相关能力。
    let apiParam = new DouYinOpenConfigBuilder("自行申请的client_key") .setDebug(true) //是否开启debug开关,目前主要为输出日志 .setHostLogService(new OpenHostLogServiceImpl()) //可选实现 .build(); douYinOpenSDK.init(apiParam)
    其中 OpenHostLogServiceImpl 为 SDK 日志输出实现类,如果不实现将默认输出到 hilog。下面提供默认实现样例:
    class OpenHostLogServiceImpl implements IHostLogService { private defaultDomain: number = 0x42; d(tag: string, message: string): void { hilog.debug(this.defaultDomain, tag, message) } i(tag: string, message: string): void { hilog.info(this.defaultDomain, tag, message) } w(tag: string, message: string): void { hilog.warn(this.defaultDomain, tag, message) } e(tag: string, message: string): void { hilog.error(this.defaultDomain, tag, message) } }
    至此,SDK 开发环境配置完毕。 具体子功能接入请查阅相关功能接入文档。

    对外Demo

    目前对外提供 demo ,你可以通过 Demo 直观地查看接入方法。
    OpenSDKHarmonyDemo.zip