主题
Skip to content
WARNING
💡 模块名:GameHelper.PresentGift
描述
支持在内购后台配置需要赠送的道具(商品)后,服务端会自动化在“在线参数”后台配置given_gift
字段,无需人工配置,然后游戏内可以查到配置的待赠送的道具或者商品;
接入说明
DANGER
⚡ 该模块为选接模块,首次接入时建议找SDK提供方确认下SDK内是否已包含道具赠送功能模块
⚡ 注意如果是在进入游戏后再去后台配置赠送商品,需要重启游戏。**
接口索引
属性
GameHelper.PresentGift.STATUSCODE
道具赠送结果状态码枚举,获取所有待赠送物品后根据发送结果给每个物品赋予对应的赠送结果状态值
参数类型 object
枚举参数名 | 枚举值 | 说明 |
---|---|---|
success | 0000 | 可成功赠送 |
unknownError | 9998 | 未知错误 |
wrongProdType | 8001 | 赠送商品类型不正确 |
unknownProd | 8002 | 赠送商品不存在 |
方法
查询待赠送的道具
GameHelper.PresentGift.GetPresentGift
参数 [object]
参数名 | 类型 | 是否必传 | 说明 |
---|---|---|---|
success | Function | 是 | 获取到待赠送物品后执行,回参是一个对象数组,包含所有带赠送的物品id(prodId) |
fail | Function | 否 | 未取到待赠送物品或获取失败时执行 |
该接口会在success回调内返回待赠送的所有道具(商品)信息,游戏层需要在拿到信息后检测游戏内是否可正常发货,并设置每个道具的发货结果状态码;
参数名 | 类型 | 说明 |
---|---|---|
giftList | array | 包含所有待赠送的道具的对象数组 |
giftList数组
参数名 | 类型 | 说明 |
---|---|---|
id | number | 配置道具赠送后端生成的编号 |
prodId | string | 待赠送的物品id |
prodNum | number | 待赠送物品的数量 |
上报待赠送道具的发放结果
GameHelper.PresentGift.ReportSendResult
获取到所有待赠送的道具商品后,通过prodId识别物品并设置发货结果状态码后调用;
参数 [object]
参数名 | 类型 | 是否必传 | 说明 |
---|---|---|---|
giftResult | object[] | 是 | 将查询道具接口返回的所有待赠送的道具对象,根据游戏内实际可发放结果加上code和msg属性后直接传入;code: 值来源于GameHelper.PresentGift.STATUSCODE内的子属性,请根据实际情况取对应的状态值索引;msg:发送结果附加信息,该信息会进入服务端数据库,建议传入英文字符或者字母,不可传中文。 |
success | function | 是 | 上报成功后执行,返回参数是包含所有可发放成功的物品信息对象的数组,游戏内在该回调内执行实际发送逻辑 |
fail | function | 否 | 上报失败 |
success回参 [object[]]
所有待赠送的物品信息数组,每个元素为包含prodId和prodNum属性的对象
代码示例
javascript
GameHelper.PresentGift.GetPresentGift({
success: (res) => {
console.log("查询到的待赠送的有", res);
// 遍历所有待赠送的商品并根据实际发放结果赋予发放结果状态值和结果信息;
for (let i = 0, l = res.length; i < l; i++) {
let pInfo = res[i];
console.log("待赠送的物品ID是", pInfo.prodId);
// 以下仅为赋值示例,游戏内请自行修改为真实的发货判断逻辑
pInfo.code = GameHelper.PresentGift.STATUSCODE.success;
pInfo.msg = "success";
}
// 调用上报道具发送结果接口,在success回调内赠送物品
GameHelper.PresentGift.ReportSendResult({
giftResult: res,
success: (res) => {
/**
* res=[
{prodId:"wx.test.tool1", prodNum: 1},
{prodId:"wx.test.tool2", prodNum: 10},
]
*/
console.log("上报商品赠送接口,最终赠送的商品是", res);
},
fail: (err) => {
console.log("上报商品赠送接口失败", err);
}
});
},
fail: (err) => {
console.log(`查询赠送接口失败`, err);
}
})
点我快速对接


