请输入
菜单

SDK接入文档(Android)

更新时间SDK版本更新内容备注
2025年8月7日v2.5.111、修复弹窗弹出缓慢缺陷
2、适配小米最新版本插件缓存策略
建议接入版本


一、接入说明

SDK资源下载链接:android-SDK-v2.5.11.zip

• 将压缩包里面的 library_ldmnq.aar 引入项目中。

• 出包的包体建议带上x86/x64指令集的库,模拟器上运行流畅度和稳定性会更好。

角标及闪屏页说明
  • 使用闪屏角标里的素材文件.(建议将闪屏logo页放在hdpi目录下)。

接口改动说明(目前接入的是2.4.8之前的版本需注意)
  • 初始化、登录、支付接口不再返回状态码,而是回调对应的方法。
  • 移除方法:DoRelease、showFloatView、hideFloatView。
  • 请将之前的版本资源删除

混淆配置
-keep class com.ld.sdk.** { *; }
-keep class okhttp3.** { *; }
-keep class com.google.gson.** { *; }
-keep class okio.** { *; }
-keep class com.squareup.picasso.** { *; }
-keep class com.changzhi.net.** { *; }
-keep class io.netty.** { *; }
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

二、配置信息

<!--配置游戏渠道信息-->
<meta-data android:name="GAME_ID" android:value="10000"/>
<meta-data android:name="CHANNEL_ID" android:value="10001"/>
<meta-data android:name="SUN_CHANNEL_ID" android:value="10002"/>
注意:GAME_ID 如果和游戏有冲突,可改为LD_GAME_ID

三、接口说明

授权用户协议弹窗接口
String url = "第三方信息共享清单网页链接"; // 由接入方提供,可以传null,传null则不显示第三方共享清单
LdSdkManger.getInstance().checkUserEmpower(activity, url, new UserEmpowerCallback() {
    @Override
    public void callback(boolean isEmpower) {
         if (isEmpower) {
           // 初始化雷电SDK
         } else {
           // 退出游戏
         }
     }
});

1. 初始化接口
LdSdkManger.getInstance().init(MainActivity.this, "AppKey", new InitCallBack() {

          @Override
          public void onSuccess() {

          }

          @Override
          public void onFail(String desc) {
                 
          }
});

2. 登录账号接口
LdSdkManger.getInstance().showLoginView(this, new LoginCallBack() {

    @Override
    public void loginSuccess(String uid, String timestamp, String sign) {
         // 登录成功,sign为服务器请求参数usertoken
    }

    @Override
    public void loginFail(String desc) {
         // 登录失败,desc为描述
    }

    @Override
    public void loginLogout() {
         // 退出登录,需接入方处理返回到游戏登录界面
    }

    @Override
    public void accountCancellation() {
         // 当前功能未上线,不需要处理
    }

    @Override
    public void exitGame() {
         // 退出游戏,不用弹窗,直接关闭App进程
    }
});

3. 角色数据接口(角色创建和每次登录时候调用,第一次登录没有角色数据不用调用)
LdGameInfo ldGameInfo = new LdGameInfo();
ldGameInfo.serverId = "23";
ldGameInfo.serverName = "内测服"
ldGameInfo.roleId = "10086";
ldGameInfo.roleName = "张三";
ldGameInfo.roleType = "屠夫";
ldGameInfo.level = "99";
ldGameInfo.money = "10000000000000";
ldGameInfo.partyName = "公会";
ldGameInfo.vipLevel= 12;
ldGameInfo.powerNum= 9999;

LdSdkManger.getInstance().enterGame(Context, ldGameInfo, new EntryCallback() {
   @Override
   public void callback(int code, String desc) {
        // code==0为成功
   }
});

参数说明:

参数名中文描述类型是否必填
serverId服务器idString必填
serverName服务器名字String必填
roleId角色idString必填
roleName角色名字String必填
roleType角色类型,例如:战士,魔法师,弓箭手String(字符长度限制:20)可选(没有则填填默认值)
level角色等级String(字符长度限制:20)必填
money游戏的金币数String(字符长度限制:20)必填
partyName公会String可选(没有则填默认值)
vipLevelVIP等级int(字符长度限制:20)可选(没有则填默认值)
powerNum角色战斗力int(字符长度限制:11)可选(没有则填默认值)
4. 支付接口

参数说明:

参数名中文描述类型是否必填
orderId游戏的支付订单号String必填
amount支付金额(只接收整数,单位:分)String必填
productId默认值12String必填
productDesc商品描述String必填
productName商品名称String必填
roleId角色idString必填
roleName角色名字String必填
serverId服务器id(只接收Int类型的整数)String必填
serverName服务器名字String必填
LdPayInfo ldPayInfo = new LdPayInfo();
ldPayInfo.orderId = "12345";
ldPayInfo.amount = "100"; //传int类型整数,不支持浮点数
ldPayInfo.productId = "12";
ldPayInfo.productDesc = "充值金币";
ldPayInfo.productName = "金币";
ldPayInfo.roleId = "10086";
ldPayInfo.roleName = "张三";
ldPayInfo.serverId = "23";
ldPayInfo.serverName = "内测服";
LdSdkManger.getInstance().showChargeView(this, ldPayInfo, new PayCallback() {
    @Override    
    public void paySuccess(String uid, String billno, String timestamp) {        
    // 支付成功 uid :平台的用户ID   billno:订单号    
    }    @Override    public void payFail(String desc) {        
    // 支付失败,desc为失败描述    
    }    
    @Override    
    public void payCancel() {        
    // 用户取消支付    
    }});
5. 游戏退出接口(必须接入)
LdSdkManger.getInstance().showExitView(this, new ExitCallBack() {
 
   @Override
   public void onFinish(int code, String desc) {
      if (state == 0) {
           // code: 0.退出游戏;1.继续游戏;
      }
   }
});

6. 获取用户数据接口(登录成功后可获取)
LdUserInfo ldUserInfo = LdSdkManger.getInstance().getUserInfo();
 
uid:用户id
isAuthenticated:用户是否实名认证
realName:用户实名认证姓名
birthday:用户实名认证出生日期(格式:20190101)
isAdult:是否成年

7. 实名认证接口(SDK默认登录后会进行强制实名,该接口可按需求接入)
isForce;   是否强制实名,true该弹窗在实名认证成功前不可关闭
 
LdSdkManger.getInstance().verifyIdCard(boolean isForce , new VerifyIdCardListener() {
    @Override
    public void callback(int code, String birthday, boolean isAdult) {
        
    }
});
 
结果返回: 
code:   0.不可用; 1.成功; 2.验证中; 3.验证不通过;
birthday;   用户出生日期(19990909)
isAdult;   是否成年



上一个
如何获取接入参数及文档
下一个
SDK接入文档(服务端)
最近修改: 2025-08-15