阿里TV開放式平台文檔 /激励配置接口

激励配置接口

激励抽奖接口的demo在LotteryActivity.java里

业务描述

抽奖方式:

支持以下抽奖方式

1. 免费抽奖:即用户可免费进行抽奖

2. 消耗抽奖:即需要消耗商城积分进行抽奖

3. 混合型抽奖:先进行免费抽奖,在免费次数用尽后再进行消耗型抽奖

4. 消费抽奖:用户在购买商品时 可按配置的几率返回奖品(无需APP对接,即可实现)

抽奖策略:

几率型抽奖:配置一定几率的抽奖

奖种说明:

1) 虚拟商品

集分宝、红包(全网或指定商品)、代金卷、淘金币、天猫积分、商城积分、电影票、彩票、APP礼包

2) 实物奖品

免费商品:可发放有天猫/淘宝店铺或无店铺的实物奖品。

折扣商品:用户可通过扫码购买折扣商品;折扣率后台可配置。

其他说明:

1) eventKey

APP中用来定义满足抽奖的事件,每个eventKey对应一个抽奖活动,活动策略由激励后台配置如果增加了eventKey,一般需APP更新安装包。

2)激励后台

  • 激励后台可根据APP的需求,配置相应的抽奖活动,每个活动对应一个eventKey。
  • 抽奖活动过期后,即使APP再次调用eventKey进行抽奖,也不会中奖。
  • 若一个APP存在多个抽奖活动,则需创建多个eventKey,相同eventKey的抽奖活动时间不能重叠
  • 对于消费抽奖,无需APP配置,仅需提出需求到数娱运营,运营后台配置即可


获取激励信息列表

接口说明

获取抽奖活动信息列表,根据listener中的结果展现活动信息或做相应的处理。

返回数据里包括抽奖类型、抽奖消耗积分及免费抽奖次数等。

前置条件:

函数原型

public static void getActivitesInfo(String eventKey, IReceiveActivitesListener listener)

参数说明

eventKey:获取此ID对应的活动信息,如果传null则获取所有可用活动的的信息

Listener:活动信息返回监听,返回类型为ActivityInfoModel。

请求样例

AliTvSdk.Lottery.getActivitesInfo (eventKey, new IReceiveActivitesListener() { @Override public void onResult(ActivityInfoModel activies) { ArrayList items = model.obtainActivities(); if(items != null){ ActivityInfoItem item = items.get(0); //抽奖类型,1.免费型2.消耗型3.混合型 int luckyType = item.getLuckyType(); //抽奖一次需要消耗的积分,若免费型抽奖为0 int consumeAmount = item.getConsumeAmount()); //抽奖次数(免费或混合型抽奖初始化设置免费抽奖次数) int accessAmount = item.getAccessAmount()); AwardsList awardsList = item.getAwards(); for(int j = 0;j < awardItems.size();j++){ //根据活动信息绘制UI,详见Demo。 } } @Override public void onError(int errCode, String errMsg) { } });

返回说明

名称

类型

描述

activityId

String

活动ID

fventKey

String

事件Key

name

String

活动名称

startTime

String

活动开始时间

endTime

String

活动结束时间

awardInfoItemList

ActivityInfoAwardItem

该活动奖项对象

可查看奖项列表

consumeAmount

Int

该活动每次消耗数娱积分

若为0则不消耗

accessAmount

Int

该活动免费抽奖次数

luckyType

Int

抽奖类型

免费抽奖:1

消耗抽奖:2

混合抽奖:3

activityUrl

String

返回活动URL,可供CP生产二维码,用户手机扫码后在手机上展示H5页面

AwardInfoItemList定义

字段

类型

描述

activityId

Number

活动id

name

String

奖项名称

Id

Number

奖项id

typeName

String

奖种名称
返回的奖品名称,如M币、数娱积分等

Type

Number

奖种代码
如1、2、3、4、5、6、7、8、9、10等

amount

Number

奖种数量

Unit

String

奖种单位 注、个、张

price

Number

奖种价值 单位分

hyperlinkUrl

String

自定义超链URL(如折扣二维码、业务跳转等)

hyperlinkDesc

String

超链文案说明

接口激励

接口说明

获取抽奖结果。APP内UI由CP展现。

前置条件:

需要授权,若未授权则返回未授权错误码

函数原型

public static void getLotteryResultWithPermission(String eventKey, String confirmKey, String behaviorKey, IReceiveAwardResultListener listener)

参数说明

eventKey: 对应的活动关键字

listener: 抽奖结果id返回监听,返回数据位ActivityAwardModel

behaviorKey(可选):行为型抽奖的Key名称

confirmKey(可选): 确认秘钥。此秘钥是由CP从阿里获得一个密钥,然后通过算法计算出的秘钥串,秘钥算法参考demo。为算法安全起见,此确认秘钥需要由cp服务器产生传回给客户端。

请求样例

AliTvSdk.Lottery.getLotteryResultWithPermission (eventKey, String confirmKey, new IReceiveAwardResultListener() { @Override public void onResult(ActivityAwardModel activies) { if(model != null){ if(model.isResult()){ ActivityAwardItem item = model.getAward(); //提示中奖 }else{ //未中奖 } //数娱积分/金牌余额 int totalAmount = model.getTotalAmount()); //可用抽奖次数(免费) int accessAmount = model.getAccessAmount()); }else{//未中奖 } } @Override public void onError(int errCode, String errMsg) { } });

返回说明:

名称

类型

描述

isLucky

Boolean

是否中奖,true为中奖,false为未中奖

activityAwardItem

ActivityAwardItem

中奖:请见下文

未中奖:为空

totalAmount

Long

用户剩余积分

若为负数为无效值

accessAmount

Int

用户剩余免费抽奖次数

ActivityAwardItem定义:

字段

类型

描述

activityId

Number

活动id

Name

String

奖项名称

Id

Number

奖项id

typeName

String

返回的奖种名称

Type

Number

奖种代码
如1、2、3、4、5、6、7、8、9、10等

Amount

Number

奖种数量

Unit

String

奖种单位 注、个、张

Price

Number

奖种价值 单位分

simpleDesc

String

奖种简短描述

fullDesc

String

奖种完整描述

hyperlinkUrl

String

自定义超链URL(如折扣二维码、业务跳转等)

hyperlinkDesc

String

超链文案说明

消费激励

前置条件:向数娱运营接口人提出配置需求,由数娱后台配置生效。无需APP对接

接入方式:

正常拉起支付

可针对特定商品配置返回的奖项,无需接入方做任何配置和UI,所有配置和展现均由数娱实现,支付后可发放的奖种如下(需用户登录后支付)

1虚拟奖品:
  • 平台内奖品:商城积分、App礼包
  • 平台外奖品:集分宝、红包、代金卷、淘金币、天猫积分、电影票、彩票;用户
2实物奖品:
  • 支持天猫或淘宝店铺的实物
  • 支持无天猫或淘宝店铺的实物