SceneActivityContext.receive
基础库 3.27.0 开始支持本方法,低版本需做兼容处理,这是一个异步方法。
领取侧边栏复访营销活动
| 前提条件 | 请确认已通过开发者平台控制台中或通过 OpenAPI 创建小程序券模板和小程序营销活动,接入方式详见:侧边栏复访营销 |
| 业务背景 | 无 |
| 使用限制 | 暂不支持抖音开发者工具调试,真机调试请参考小程序线上调试彩蛋 |
| 注意事项 | 该能力需要开发者前置在控制台或通过 openapi 创建复访营销活动并且复访营销活动的引流方式需要为小程序内组件调用,弹窗样式需要选择自定义样式,才可进行调用,具体申请流程可参考>>小程序券创建流程、小程序营销活动创建流程。 |
| 支持沙盒 | 否 |
| 相关教程 | 无 |
语法
SceneActivityContext.receive(options)
参数说明
options 为 object 类型,属性如下:
| 属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
|---|---|---|---|---|---|
| success | function | 否 | 接口调用成功的回调函数 | 3.27.0 | |
| fail | function | 否 | 接口调用失败的回调函数 | 3.27.0 | |
| complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 3.27.0 |
回调成功
object 类型,属性如下:
| 属性名 | 类型 | 说明 | 最低支持版本 |
|---|---|---|---|
| welfareId | string | 复访营销活动id | 3.27.0 |
| errMsg | string | "SceneActivityContext.receive:ok" | 3.27.0 |
回调失败
object 类型,属性如下:
| 属性名 | 类型 | 说明 | 最低支持版本 |
|---|---|---|---|
| errMsg | string | "SceneActivityContext.receive:fail" + 详细错误信息 | 3.27.0 |
错误码
| errNo | errMsg | 说明 | 最低支持版本 |
|---|---|---|---|
| 21021 | ActivityContext.receive:fail expect to be entered in the sidebar scene of the homepage | 请在首页侧边栏或首页侧边栏小程序落地页场景下进入小程序后调用领取,可通过 SceneActivityContext.checkScene({ scene: 'receive' }) 方法前置判断 | 3.27.0 |
扫码体验
请使用字节宿主APP扫码
代码示例
<view class="container"> <view class="body-space"> <view tt:if="{{canShowReceive}}" class="page-section"> <view class="title">请在侧边栏场景下调用</view> <button type="primary" bindtap="receive">领取</button> <view class="page-body-text">查看领取结果:{{receiveResult}}</view> </view> </view> </view>
Page({ activityContext: undefined, data: { canShowReceive: false, receiveResult: '', }, onLoad() { this.activityContext = tt.createSceneActivityContext(); }, onShow() { this.setData({ canShowReceive: this.activityContext.checkScene({ scene: 'receive', }), }); }, receive() { const canReceive = this.activityContext.checkScene({ scene: 'receive', }); if (!canReceive) { tt.showToast({ title: '请在侧边栏场景下使用', }); return; } this.activityContext.receive({ success: (res) => { console.log('领取侧边栏福利成功', res); tt.showToast({ title: '领取侧边栏福利成功', }); this.setData({ receiveResult: JSON.stringify(res), }); }, fail: (err) => { console.log('领取侧边栏福利失败', err); tt.showToast({ title: '领取侧边栏福利失败', icon: 'none', }); this.setData({ receiveResult: JSON.stringify(err), }); }, }); }, });
