抖音开放平台Logo
开发者文档
控制台

tt.onShareAppMessage
收藏
我的收藏

基础库 1.0.0 开始支持本方法,这是一个同步方法。

监听用户点击右上角菜单中的“转发”按钮时触发的事件。

前提条件
业务背景
使用限制
注意事项
  • 该方法可以监听用户通过右上角菜单中触发的分享操作,在不同宿主端具体的操作会有所差别,在抖音中包括分享和拍抖音,在头条包括分享和发头条,以此类推。
  • 该方法的实际调用链路为:
    1. 开发者注册此事件
    2. 用户点击小游戏菜单中的分享或者拍抖音等按钮
    3. 自动调用开发者通过 tt.onShareAppMessage 定义的函数,并传入带有 channel 参数的对象,执行得到该函数的返回对象
    4. 接着调用 tt.shareAppMessage ,将上一步返回的对象传入其中,拉起分享
  • 当开发者发现虽然已成功配置分享内容,但是调试时内容无法生效时,有可能是分享内容触发了内容安全检测失败,导致分享失败。发生这种情况时,开发者可以尝试对分享内容进行内容安全检测,具体操作手段见内容安全检测
相关教程

语法

tt.onShareAppMessage(callback)

参数说明

callback

类型默认值必填说明最低支持版本
function

监听触发“转发”的函数。函数可以返回 ShareParam 对象,该返回对象可以用来自定义分享的内容。

1.0.0

callback 是一个回调函数,接收 object 类型的参数,属性如下:

属性名类型说明最低支持版本
channelstring
转发内容类型,有 article、video
1.0.0

channel 参数说明

不同转发内容类型含义如下:

类型

含义

article

在头条内用户点击「发头条 - 发图文」时

video

在头条内用户点击「发头条 - 发视频」时

undefined

其它场景均为 undefined

返回值

代码示例

示例一:

tt.onShareAppMessage(function (res) { //当监听到用户点击了分享或者拍抖音等按钮后,会执行该函数 console.log(res.channel); // do something return { //执行函数后,这里是需要该函数返回的对象 title: "分享标题", imageUrl: "https://example.com/test.png", query: "k1=v1&k2=v2", success() { console.log("分享成功"); }, fail(e) { console.log("分享失败", e); }, }; //返回的对象会传入tt.shareAppMessage进行最终分享 });

示例二:

tt.onShareAppMessage(function (res) { console.log(res.channel); // do something const shareData = { title: "分享标题", imageUrl: "https://example.com/test.png", query: "k1=v1&k2=v2", success() { console.log("分享成功"); }, fail(e) { console.log("分享失败", e); }, }; const r = Object.assign({ channel: res.channel }, shareData); //channel值无法修改,并会在调用tt.shareAppMessage时自动带上 switch (res.channel) { case "video": r.extra = { videoTopics: ["test1 videoTopics", "test2 videoTopics"], // 抖音小视频话题列表 videoPath: "videotest.mp4", // 如果为抖音或者头条小视频,可以直接传本地视频路径 //以抖音为例,使用videoPath后,用户点击拍抖音时会去分享开发者指定的视频。 }; break; case "article": default: break; } return r; });