概述收藏我的收藏
收藏
我的收藏通常开发者希望转发出去的小程序被二次打开的时候能够获取到一些信息,本文通过说明分享、视频发布和挂载、直播挂载流程来说明如何设置这些信息。
分享
名词解释
ShareOption
ShareParam
ShareParam
是指开发者最终传递给发布器的数据(通过 Page.onShareAppMessage 返回),一般 ShareParam 决定了小程序被二次打开的时候能够获取到哪些信息,以及被转发出去后具有什么样的媒体形式。具体字段可查阅 ShareParam 对象说明。分享调用流程图
入口控制
- •小程序右上角胶囊按钮里默认会自动带上「分享」入口;
- •可以通过 tt.showShareMenu 和 tt.hideShareMenu 控制更多菜单中是否出现分享按钮;
- •可以使用 button 组件 来触发分享,需要将 button 组件的 open-type 属性设置为 share ;
【注】用户点击后默认分享小程序首页,其他分享配置将优先使用【开放平台】-【运营-流量配置】-【分享卡片配置】中的配置,其次使用【小程序简介】进行兜底。
代码示例
Page({ async onShareAppMessage(option) { const title = await this.getTitle(); return { title, // 这是要转发的小程序标题 desc: "转发文案", path: "/pages/index/index?from=sharebuttonabc&otherkey=othervalue", // ?后面的参数会在转发页面打开时传入onLoad方法 imageUrl: "https://e.com/e.png", // 支持本地或远程图片,默认是小程序 icon templateId: "这是开发者后台设置的分享素材模板id", success() { console.log("分享成功"); }, fail() { console.log("分享失败"); }, }; }, onLoad(query) { if (query.from === "sharebuttonabc") { // do something... } }, getTitle() { return new Promise((resolve) => { setTimeout(() => { resolve("This is a mock title"); }, 2000); }); }, });
视频发布和挂载
名词解释
UploadOption
UploadParam
UploadParam
是指开发者最终传递给发布器的数据(通过 Page.onUploadDouyinVideo 返回),一般 UploadParam 决定了小程序被二次打开的时候能够获取到哪些信息,以及被转发出去后具有什么样的媒体形式。具体字段可查阅 UploadParam 对象说明。注意事项
openType="uploadDouyinVideo"
以外的其他「视频发布和挂载」场景,如果希望使用的是 Page.onUploadDouyinVideo钩子函数,需要在 app.json 中参考以下方式进行配置,否则默认使用的是 Page.onShareAppMessage 钩子函数,详见 小程序配置中 publishVideoHookPriorityList。{ "publishVideoHookPriorityList": ["onUploadDouyinVideo", "onShareAppMessage"] }
视频发布和挂载调用流程图
入口控制
- •如果参考 小程序配置中 publishVideoHookPriorityList 配置了使用 Page.onUploadDouyinVideo 钩子函数,且显示定义了 Page.onUploadDouyinVideo(callback) 方法,在小程序右上角胶囊按钮里会自动带上「拍抖音」入口;
- •如果没有参考 小程序配置中 publishVideoHookPriorityList 配置使用 Page.onUploadDouyinVideo 钩子函数或显示定义了 Page.onUploadDouyinVideo(callback) 方法,且显示定义了 Page.onShareAppMessage(callback)方法,在小程序右上角胶囊按钮里会自动带上「拍抖音」入口;
- •可以通过 tt.showShareMenu 和 tt.hideShareMenu 控制更多菜单中是否出现「拍抖音」按钮;
代码示例
Page({ async onUploadDouyinVideo(option) { const title = await this.getTitle(); return { // 传入videoPath表示上传videoPath对应的视频到抖音,没填videoPath代表拉起拍摄器拍摄视频 // videoPath: 'ttfile://xxx', titleConfig: { title }, success() { console.log("视频发布/挂载成功"); }, fail() { console.log("视频发布/挂载失败"); }, }; }, getTitle() { return new Promise((resolve) => { setTimeout(() => { resolve("This is a mock title"); }, 2000); }); }, });
直播挂载
名词解释
LiveOption
LiveParam
LiveParam
是指开发者最终传递给发布器的数据(通过 Page.onLiveMount 返回),一般 LiveParam
决定了小程序被二次打开的时候能够获取到哪些信息,以及被转发出去后 具有什么样的媒体形式。具体字段可查阅 LiveParam 对象说明。直播挂载调用流程图
代码示例
Page({ async onLiveMount(option) { const title = await this.getTitle(); return { title, path: "/pages/index/index?from=sharebuttonabc&otherkey=othervalue", success() { console.log("直播挂载成功"); }, fail() { console.log("直播挂载失败"); }, }; }, getTitle() { return new Promise((resolve) => { setTimeout(() => { resolve("This is a mock title"); }, 2000); }); }, });
QA
Q:获取小程序分享链接的方式以及链接有效期是多久?
A:链接获取路径为【进入该小程序-点击右上角更多-点击分享-复制链接】;分享链接的时效性是 45 天