抖音开放平台Logo
控制台

分享逻辑
收藏
我的收藏

本文档会说明分享过程相关的主要逻辑,api 之间的调用关系。

名词解释

ShareOption

ShareOption 是指系统调用开发者(通过 tt.onShareAppMessage )注册的回调时,传递给回调函数的参数,会包括 channel 字段。

ShareParam

ShareParam 是指开发者最终传递给发布器的数据,可以根据约定传入部分自定义数据。具体字段可查阅ShareParam 对象说明。

入口控制

  • 可以通过 tt.showShareMenutt.hideShareMenu 控制更多菜单中是否出现分享按钮。
  • 开发者在开发小游戏时,可以在图形界面绘制自定义按钮,在按钮的回调中调用 tt.shareAppMessage 来直接调起发布器。

分享调用流程图

如上图所示,调用可大体分为主动调用(D)和被动调用(A、B、C)两种模式。小程序只能使用被动调用,小游戏可以使用主动和被动两种。

主动调用

主动调用是指 —— 开发者直接通过 ​tt.shareAppMessage(shareParam)​ 方法,将 shareParam 传递给系统发布器即可。

被动调用

被动调用是指 —— 无论用户点击何种入口,小游戏框架均会将 shareOption 带给 ​tt.onShareAppMessage(callback)​ 方法中注册的 ​callback​ 回调。开发者可以在回调函数中根据接收的参数处理相应逻辑,最后返回 shareParam 即可。

分享效果预览

常规分享

默认分享方式, channel 为空字符串或者不传,即通过抖音的好友分享面板,分享成功后在 IM 聊天界面出现游戏卡片(仅支持抖音、抖 lite、抖音火山、头条、头 lite)

社交好友邀请(channel == invite)

仅支持抖音 & 抖 lite,20.6.0 版本可正常调用

channel 为 invite 时,可以在游戏内绘制按钮,触发后会拉起好友邀请面板,展示玩家的好友信息,用户可快捷进行分享,游戏内可以基于分享回调(success / cancel),给用户发放激励(如邀请好友有奖),被分享的用户会收到私信 IM 卡片及 app 内的 push 提醒

PS:后续该组件会持续优化,如“展示用户的在线状态”,不断提高该组件的分享率,建议游戏可以接入使用

录屏分享(channel == video)

仅支持抖音 & 抖 lite,开发者使用录屏分享时,如果未使用剪映模版和录屏配音(defaultBgm 字段) 能力时,将触发一键分享逻辑,将会弹出一键分享弹框,如下:

用户在点击一键分享后,将直接分享视频到宿主,完成分享能力。

  • Tip:一键分享暂时只支持抖音安卓端。

分享说明

title & desc 抖音端展示效果说明

tt.shareAppMessage({
  title: "这是设置的tittle",
  desc: "这小游戏还挺有意思,点击就能玩",
  imageUrl: "",
  query: "",
  success() {
    console.log("分享成功");
  },
  fail(e) {
    console.log("分享失败");
  },
});

以上面代码为例,在抖音端,titledesc 的展现效果如下。

分享文案为代码中的 desc 或者 后台模版配置中的分享文案。

  • Tips: 关于后台模板配置,可见小游戏内容转发分享
  • Tips: 同时使用代码和模板时,优先级为:代码指定分享内容 > 后台模板配置。

文档评论

登录后可参与评论