tt.triggerRetentionPopup
基础库 3.83.0 开始支持本方法,这是一个异步方法。
提供营销能力,开发者通过调用该方法拉起挽留弹窗
使用说明
可通过 tt.canIUse('triggerRetentionPopup') 判断该 API 是否可用。
语法
tt.triggerRetentionPopup(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
skuInfoList | array<object> | 无 | 是 | 传入当前场景下的所有付费档位信息 | 3.83.0 |
selectedSkuId | string | 无 | 是 | 默认选中的档位 skuId
| 3.83.0 |
sceneActivityId | string | 无 | 是 | 在抖音开放平台配置活动后获取 | 3.83.0 |
onPay | function | 无 | 是 | 用户点击支付按钮时的回调 | 3.83.0 |
miniAppResource | object | 无 | 否 | 小说行业专属字段 | 3.83.0 |
success | function | | 否 | 接口调用成功的回调函数 | 3.83.0 |
fail | function | | 否 | 接口调用失败的回调函数 | 3.83.0 |
complete | function | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 3.83.0 |
skuInfoList 类型说明
数组类型,其中的每一项均为 object 类型,属性如下
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
skuId | string | 无 | 是 | Sku 唯一标识符 | 3.83.0 |
name | string | 无 | 是 | Sku 名称 | 3.83.0 |
price | number | 无 | 是 | Sku 价格 | 3.83.0 |
quantity | number | 无 | 是 | Sku 购买数量 | 3.83.0 |
miniAppResource 类型说明
Object 类型,属性如下
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
resourceId | string | 无 | 否 | 资源id(小说必填,指的是如资源库的id,其他非必填) | 3.83.0 |
chapterId | string | 无 | 否 | 当前看到的资源章节id(小说行业必填) | 3.83.0 |
onPay 回调
object 类型,属性如下
属性名 | 类型 | 说明 | 最低支持版本 |
promotionId | string | 优惠 id
| 3.83.0 |
sceneActivityId | string | 活动模板 id | 3.83.0 |
skuId | string | 优惠生效商品 skuId | 3.83.0 |
name | string | 优惠生效商品名称
| 3.83.0 |
price | number | 优惠生效商品原价格(优惠前的原价) | 3.83.0 |
quantity | number | 优惠生效商品数量 | 3.83.0 |
discountMeta | object | 活动批次信息 | 3.83.0 |
skuDiscount | object | 商品优惠信息 | 3.83.0 |
orderDiscount | object | 订单优惠信息,下单时使用该字段中的金额 | 3.83.0 |
discountMeta类型说明
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
discountType | number | 折扣类型. 2: 满减,4: 折扣 | 3.83.0 |
minPayAmount | number | 优惠门槛金额(人民币分) 70 代表0.70元
| 3.83.0 |
discountAmount | number | 优惠金额(人民币分) 100 代表 1.00 元
| 3.83.0 |
discountRate | number | 优惠比例(%) 70 代表 7 折
| 3.83.0 |
maxDiscountAmount | number | 最大优惠金额(人民币分) 70 代表0.70元
| 3.83.0 |
skuDiscount类型说明
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
属性名 | 类型 | 说明 | 3.83.0 |
originalPrice | number | 原价(人民币分) | 3.83.0 |
discountAmount | number | 优惠金额(人民币分) | 3.83.0 |
afterDiscountPrice | number | 优惠后价格(人民币分)= 原价(人民币分)- 优惠金额(人民币分) | 3.83.0 |
orderDiscount 类型说明
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
originalPrice | number | 原价(人民币分)= quantity * skuDiscount.original_price | 3.83.0 |
afterDiscountPrice | number | 优惠后订单总价格(人民币分)= quantity * skuDiscount.after_discount_price | 3.83.0 |
discountAmount | number | 优惠金额(人民币分)= quantity * skuDiscount.discount_amount | 3.83.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errMsg | string | "triggerRetentionPopup:ok" | 3.83.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errNo | string | 错误码,对应信息可查看 errNo 说明 | 3.83.0 |
errMsg | string | 错误信息提示 | 3.83.0 |
错误码
errNo | errMsg | 说明 | 最低支持版本 |
29005150 | 没有可以使用的活动 | 没有可以使用的活动 | 3.83.0 |
29005147 | 活动无效 | 活动无效 | 3.83.0 |
28001005 | 系统内部错误 | 系统内部错误 | 3.83.0 |
28001007 | 参数不合法 | 参数不合法 | 3.83.0 |
扫码体验
无
代码示例
Page({ data: {}, triggerRetentionPopup() { tt.triggerRetentionPopup({ skuInfoList: [ { skuId: '1', name: 'sku1', price: 100, quantity: 1, }, { skuId: '2', name: 'sku2', price: 200, quantity: 1, }, ], selectedSkuId: '2', sceneActivityId: 'xxx', // 创建活动时返回的活动id miniAppResource: { resourceId: 'xxx', chapterId: 'xxx' } onPay: (payParams) => { console.log('挽留弹窗-小程序开始支付', payParams) }, success: () => { console.log('挽留弹窗-小程序成功回调') }, fail: (params) => { console.log('挽留弹窗-小程序失败回调', params) }, }) } })
Bug & Tip
无