阅读(4388) (8)

tt.shareAppMessage

2020-02-13 16:55:39 更新
基础库 1.0.0 开始支持本方法

tt.shareAppMessage(Object object)

主动拉起转发界面。


输入

继承标准对象输入

属性类型是否必填说明最低版本
channelstring转发内容类型
templateIdstring分享素材模板 id,指定通过平台审核的 templateId 来选择分享内容,需在平台设置且通过审核1.22.3
descstring分享文案,不传则默认使用后台配置内容或平台默认。1.30.0
titlestring转发标题,不传则默认使用后台配置或当前小游戏的名称。
imageUrlstring转发显示图片的链接,可以是网络图片路径或本地图片文件路径或相对代码包根目录的图片文件路径,显示图片长宽比推荐 5:4
querystring查询字符串,必须是 key1=val1&key2=val2 的格式。从这条转发消息进入后,可通过 tt.getLaunchOptionSync() 或 tt.onShow() 获取启动参数中的 query。
extraobject附加信息

channel

说明
-默认为卡片链接, channel 为空字符串或者不传
article发布图文内容,抖音不支持
video发布视频内容
token口令分享,生成一串特定的字符串文本,仅头条 APP 支持

extra

属性类型默认值说明
withVideoIdboolean是否支持跳转到播放页, 1.40.0+支持
videoPathstring视频地址
videoTopicsarray视频话题(只在抖音可用)
createChallengebooleanfalse是否分享为挑战视频 (头条支持)


分享内容优先级

支持两种形式来指定转发的内容(图片、标题、文案),最终按照优先级规则进行选择, 详情参考内容转发

  1. 代码指定分享内容(title、desc、imageUrl)
  2. 指定审核通过的模板素材 templateId
场景优先级
端内分享代码指定分享内容 > 指定模板 > 平台默认
端外分享指定模板 > 平台默认


示例

使用审核通过的分享素材

tt.shareAppMessage({
  templateId: "", // 替换成通过审核的分享ID
  query: "",
  success() {
    console.log("分享成功");
  },
  fail(e) {
    console.log("分享失败");
  }
});

代码指定分享内容(图片、标题、描述)

tt.shareAppMessage({
  title: "测试分享",
  desc: "测试描述",
  imageUrl: "",
  query: "",
  success() {
    console.log("分享成功");
  },
  fail(e) {
    console.log("分享失败");
  }
});

同时使用模板 templateId 和 分享内容

tt.shareAppMessage({
  templateId: "", // 替换成通过审核的分享ID
  title: "测试分享",
  desc: "测试描述",
  imageUrl: "",
  query: "",
  success() {
    console.log("分享视频成功");
  },
  fail(e) {
    console.log("分享视频失败");
  }
});

视频分享

tt.shareAppMessage({
  channel: "video",
  title: "测试分享视频",
  desc: "测试描述",
  imageUrl: "",
  templateId: "", // 替换成通过审核的分享ID
  query: "",
  extra: {
    videoPath: "ttfile://temp/test.mp4", // 可替换成录屏得到的视频地址
    videoTopics: ["话题1", "话题2"]
  },
  success() {
    console.log("分享视频成功");
  },
  fail(e) {
    console.log("分享视频失败");
  }
});

口令分享

tt.shareAppMessage({
  channel: "token",
  title: "测试分享视频",
  desc: "测试描述",
  templateId: "", // 替换成通过审核的分享ID
  query: "",
  success() {
    console.log("分享成功");
  },
  fail(e) {
    console.log("分享失败");
  }
});