运营SDK DLC接入文档

一、功能描述

本模块功能自运营 SDK 3.18.0 开始提供。

当您的游戏需开放新章节、新主线等付费的 DLC 内容时,您可使用 DLC 正版验证服务完成用户的解锁资格验证。

二、接入准备

在正式接入DLC前,接入方需要确认以下流程已完善:

三、接口调用

0、前置接口

在调用本服务相关接口前,游戏应先调用下面前置接口:

1、获取商品列表

调用时机: 账号登录后

/*
 * 获取DLC商品列表
 */
DLC.querySkuList(new OpeDataListener<List<DLCSku>>() {
    /*
     * 查询结果回调
     *
     * code:0、查询成功;3、查询失败(网络异常或服务器异常)
     * message:状态说明
     * skuList:商品列表
     *
     */
    @Override
    public void onFinished(int code, @Nullable String message, List<DLCSku> skuList) {
        // 展示商品列表
        for (DLCSku dlcSku : skuList) {

        }
    }
});

DLCSku 实体类:

参数信息 描述 获取方式
id 商品id dlcSku.getId()
name 商品名称 dlcSku.getName()
price 实付金额 dlcSku.getPrice()
originalPrice 原价(划线价) dlcSku.getOriginalPrice()

2、购买商品

调用时机: 账号登录后

/*
 * 购买商品
 *
 * skuId:商品id
 * mark:游戏发起充值时生成唯一标识,用于游戏方服务端向SDK服务端发起订单查询的凭证(可空,最大长度:35位)
 */
 DLC.purchase(skuId, mark, new OpeResultListener() {
     /*
      * 购买结果回调
      *
      * code:0、支付成功;1、用户取消支付;3、支付失败(网络异常或服务器异常);5、用户之前已购买过该商品;7、商品已下架
      * message:状态说明
      */
     @Override
     public void onResult(int code, @Nullable String message) {

     }
 });

3、查询商品

调用时机: 账号登录后

// 若不指定 skuId,将查询所有商品
ArrayList<String> skuIds = new ArrayList<>();
skuIds.add(skuId);
skuIds.add(skuId);

DLC.querySkuState(skuIds, new OpeDataListener<List<DLCSkuState>>() {
    /*
     * 查询结果回调
     *
     * code:0、查询成功;3、查询失败(网络异常或服务器异常)
     * message:状态说明
     * skuStateList:带状态的商品列表
     */
    @Override
    public void onFinished(int code, @Nullable String message, List<DLCSkuState> skuStateList) {
        for (DLCSkuState dlcSkuState : skuStateList) {

        }
    }
});

DLCSkuState 实体类:

参数信息 描述 获取方式
id 商品id dlcSkuState.getId()
name 商品名称 dlcSkuState.getName()
price 实付金额 dlcSkuState.getPrice()
originalPrice 原价(划线价) dlcSkuState.getOriginalPrice()
isPurchased 是否已购买 dlcSkuState.isPurchased()
status 商品上架状态,0:下架; 1:上架 dlcSkuState.getStatus()