激勵配置介面
激勵抽獎介面的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<ActivityInfoItem> 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定義
#欄位 | #欄位 | |
描述 | ||
Number | ||
#String | 獎項名稱 | |
Number | 獎項id | |
##String | 獎種名稱 傳回的獎品名稱,如M幣、數娛積分等 | |
Number | 獎種代碼 如1、2、3、4、5、6、7、8、9、 10等 | amount |
#Number | ##。 | ##Unit |
獎項單位 注、個、張 | price | |
獎種價值單位分 | hyperlinkUrl ##########String############ 自訂超鏈URL(如折扣二維碼、業務跳轉等)### | |
hyperlinkDesc | #String | 超鏈文案說明 |
介面激勵
介面說明:取得抽獎結果。 APP內UI由CP展現。
前置條件:
需要授權,若未授權則傳回未授權錯誤碼
##函數原型:
public static void getLotteryResultWithPermission(String eventKey, String confirmKey, String behaviorKey, IReceiveAwardResultListener listener)##:Key :對應的活動關鍵字
listener: 抽獎結果id回傳監聽,傳回資料位元ActivityAwardModelbehaviorKey(可選):行為型抽獎的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 | |
activityAwardItem | #ActivityAwardItem | 中獎:請見下文|
totalAmount | Long | 使用者剩餘積分|
#accessAmount |
ActivityAwardItem定義:
欄位 | ##類型 | 描述 |
#activityId | Number | 活動id |
Name | #String | 獎項名稱 |
Id | #Number | 獎項id |
typeName | #String | ##傳回的獎種名稱|
Number | 獎種程式碼 | 如1、2、3、4、5、6、7、8、9、10等 |
#Number | 獎種數量 | |
#Unit | ##String | 獎種單位 註、個、張 |
Price | Number | 獎種價值單位分 |
#simpleDesc | simpleDesc | |
獎種簡短描述 | ##########fullDesc###########String# ## | 獎種完整描述 |
hyperlinkUrl | String | 自訂超鏈URL(如折扣二維碼、業務跳轉等) |
#hyperlinkDesc | String | 超鏈文案說明 |
#
消費激勵
前置條件:向數娛運營介面人提出配置需求,由數娛後台配置生效。無需APP對接
接入方式:
正常拉起付款
可針對特定商品配置返回的獎項,無需接入方做任何配置和UI,所有配置和展現均由數娛實現,支付後可發放的獎種如下(需用戶登入後支付)
1虛擬獎品:- ## 平台內獎品:商城積分、App禮包 平台外獎品:集分寶、紅包、代金卷、淘金幣、天貓積分、電影票、彩票;用戶2實體獎品: