大梦SDK
    大梦SDK
    • IOS SDK 接入文档
    • Android-官方SDK 接入文档
    • 微信小游戏
    • 支付宝小游戏
    • 抖音小游戏
    • 后端对接文档
    • 其他
      • 回调游戏绑定手机成功
        GET
    • 网页支付对接
      • 线下充值对接

    Android-官方SDK 接入文档

    修改人修改时间更新内容版本
    许少聪23-9-21优化客服显示功能4.5.2
    李烽24-1-3优化闪验横屏显示4.5.5
    李烽24-4-9接入xh广告4.6.0

    1.兼容性#

    1.
    支持 Android 版本: >=API 18 (Android 4.3)
    2.
    开发环境:Android Studio
    📌
    (需要升级至Android X)

    2.概述#

    1.
    本文档用于介绍安卓SDK的接入,下面的内容主要包括:参数的获取、客户端接入步骤请联系我方运营,确保当前是最新的版本,以避免出现问题;
    2.
    将下载的SDK aar文件拷贝到app/libs目录下;
    3.
    在app的build.gradle文件中引入该aar,引入相关依赖项;

    3.注意事项#

    将SDK assets下的urlConfig.json文件也拷贝到app/src/main/assets目录下方,如没有该目录需新建;
    SDK中jniLibs目录下的so库复制到您工程的jniLibs目录下,如没有该目录需新建;
    SDK提供了多个架构的so库,可根据项目需求选择相应的so库。如果您的项目只包含某个目录,则复制对应目录的so库,例如,您的项目中只有armeabi-v7a目录,则只复制jniLibs中的armeabi-v7a目录下的so库到您的项目;
    需要注意的是:系统默认读取jniLibs目录下的so库,如果您的项目中在build里面指定了 jniLibs.srcDirs =['libs'],则必须将so库放到libs目录下,否则so库会引用不到,导致电信卡预取号报:"result":80102,"msg":"预登录异常";

    4.接入流程#

    开发者在接入的过程,需要用到参数:官网 AppId、闪验AppId、客服Appid等;
    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation(name:'alipaySdk-15.6.5', ext:'aar')
        implementation(name:'humesdk-1.0.0', ext:'aar')
        implementation(name:'msa_mdid_1.0.13', ext:'aar')
        implementation(name:'shanyan_sdk_v2.3.4.4', ext:'aar')
        implementation(name:'track_v4_1.0.13_20221026', ext:'aar')
        implementation(name:'dodsdk_v3_V4.6.0_20240409', ext:'aar')
        implementation(name:'XH_AD_BASE', ext:'aar')
        implementation(name:'XH_JH_BASE', ext:'aar')
        implementation(name:'XH_SIMPLE_AD_SDK', ext:'aar')
        implementation 'com.qiyukf.unicorn:unicorn:8.2.0'
        implementation 'com.github.bumptech.glide:glide:4.10.0'
    
    }

    配置AndroidManifest.xml文件#

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    
    
    <!-- dod sdk begin -->
    <activity
        android:name="com.dodjoy.dodsdk.view.activity.DodLoginActivity"
        android:theme="@style/Theme.Transparent"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    
    <activity
        android:name="com.dodjoy.dodsdk.view.activity.DodFcmActivity"
        android:theme="@style/Theme.Transparent"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    
    <activity
        android:name="com.dodjoy.dodsdk.view.activity.DodAccountActivity"
        android:theme="@style/Theme.Transparent"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    
    <activity
        android:name="com.dodjoy.dodsdk.view.activity.DodPayActivity"
        android:theme="@style/Theme.Transparent"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>
    
    <activity
        android:name="com.dodjoy.dodsdk.view.activity.DodBindMobActivity"
        android:theme="@style/Theme.Transparent" 
    android:configChanges="orientation|keyboardHidden|navigation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    
    <activity
        android:name="com.dodjoy.dodsdk.view.activity.DodRealNameActivity"
        android:theme="@style/Theme.Transparent"
        android:configChanges="orientation|keyboardHidden|navigation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    
    <!--   闪验 Appid 一键登录必填 我方运营给到-->
    <meta-data android:name="ShanYanAppId" android:value="xxxxx" />
    <!--   数数 Appid 上报数据埋点 我方运营给到-->
    <meta-data android:name="ShuShuAppId" android:value="xxxx" />
    <!--   七鱼客服SDK 我方运营给到-->
    <meta-data android:name="QiYuAppID" android:value="xxxx" />
    <!--   官方SDK AppID 我方运营给到-->
    <meta-data android:name="DodAppId" android:value="1029" />
    <!--   是否上报到煋禾广告SDK-->
    <meta-data android:name="Dod_XHAD" android:value="true" />
    

    Application初始化接口#

    如果游戏有自定义的 Application,并且已经继承了第三方 Application,则需要在游戏 Application 的 onCreate 中,调用 DodSDKApi.QiYuInit(this) 函数,如没有的话需要创建游戏的 Application 并且继承系统的 Application,然后在 Application 的 onCreate 中调用 DodSDKApi.QiYuInit(this),还需要在AndroidManifest.xml 的 application 节点中添加 android:name="游戏Application的路径"

    初始化接口(必接)#

    参数类型描述是否必传
    Activityactivity当前上下文对象是
    AppIdstring申请到的AppId是
    IsDebugboolean是否设置为调试模式是
    DodInitCallbackCallback初始化回调是
    DodLoginCallbackCallback登录回调是
    DodPayCallbackCallback支付回调是
    代码示例:
    DodSDKApi.init(mActivity, AppId, false, new DodInitCallback() {                     
        @Override                 
        public void onInitFailure(String s) {   
            //初始化失败                  
            Log.i(TAG, "onInitFailure  " + s);                 
        }   
                          
        @Override                     
        public void onInitSuccess() {  
            //初始化成功                       
            Log.i(TAG, "onInitSuccess  ");                      
        }       
                  
    }, new DodLoginCallback() {                     
        @Override                     
        public void onLoginSuccess(DodSDKUser dodSDKUser, Object o) { 
            //登录成功    
            String Uin = dodSDKUser.getUin();                         
            String token = dodSDKUser.getToken();                         
            Log.i(TAG, "onLoginSuccess  " + dodSDKUser + "Uin :" + Uin + " token :" + token);
        }         
                     
        @Override                     
        public void onLoginCancell(Object o) {                         
            //取消登录
            Log.i(TAG, "onLoginCancell  " + o);                     
        }                      
        
        @Override                     
        public void onLoginFail(Object o) {    
            //登录失败                     
            Log.i(TAG, "onLoginFail  " + o);                     
        }                      
        
        @Override                     
        public void onLogout(Object o) {     
            //退出登录                    
            Log.i(TAG, "onLogout  " + o);                              
        }             
            
    }, new DodPayCallback() {                     
        @Override                     
        public void onPaySuccess(String s) { 
            //支付成功                        
            Log.i(TAG, "onPaySuccess  " + s);                     
        }                      
            
        @Override                     
        public void onPayCancel(String s) {   
            //取消支付                      
            Log.i(TAG, "onPayCancel  " + s);                     
        }      
                   
    });

    登录接口(必接)#

    参数类型描述是否必传
    Activityactivity当前上下文对象是
    CustomParamsobject可传空或者test是
    登录成功之后会在回调的地方收到uin以及token等相关参数用于服务器的校验
    代码示例:
    DodSDKApi.login(mActivity,"test");

    用户中心接口(必接)#

    参数类型描述是否必传
    Activityactivity当前上下文对象是
    代码示例:
    DodSDKApi.showAccountCenter(mActivity);

    切换账号接口(必接)#

    代码示例:
    DodSDKApi.logout();

    支付接口(必接)#

    参数类型描述是否必传
    Activityactivity当前上下文对象是
    JSONObjectJSONObjectjson字符串是
    Product_idString游戏商品Id是
    order_idString游戏订单号是
    PriceString价格是
    Product_nameString商品名是
    Product_numberString商品数量是
    Extra_infoString扩展信息没有可传空
    代码示例:
    String ProductId = "1";  //商品Id
    String Order_Id = "20201313"; //游戏订单号
    String Price = "1"; //价格
    String ProductName = "钻石"; //商品名
    String ProductNumber = "1"; //商品数量
    String ExtraInfo = ""; //扩展信息
    
    JSONObject json = new JSONObject();
    json.put(DodSDKPay.ProductId, ProductId);
    json.put(DodSDKPay.Order_Id, Order_Id);
    json.put(DodSDKPay.Price, Price);
    json.put(DodSDKPay.ProductName, ProductName);
    json.put(DodSDKPay.ProductNumber, ProductNumber);
    json.put(DodSDKPay.ExtraInfo, ExtraInfo);
    
    DodUserManager.getInstance().pay(mActivity, json);

    绑定手机接口(选接)#

    参数类型描述是否必传
    Is_showBindViewboolean是否需要显示绑定界面是
    Is_resumeBindMobboolean是否是重新绑定是
    代码示例:
    DodSDKApi.checkBindMob(Is_showBindView, Is_resumeBindMob);
    返回值说明:如果绑定了手机就会返回手机号,如果没有绑定则返回空字符串 “”;
    添加绑定手机回调(确保在初始化接口调用之后再调用此接口)
    DodSDKApi.setBindMobListen(new DodBindMobCallback() {
        @Override
        public void onBindMobFailure(String s) {
            
        }
    
        @Override
        public void onBingMobSuccess(String s) {
    
        }
    });

    实名回调接口(选接)#

    参数类型描述是否必传
    CallbackCallback回调是
    代码示例:
    
    DodSDKApi.setRealNameListen(new DodRealNameCallback() {
        @Override
        public void onRealNameFailure(String s) {
            Log.e("demo","实名失败:"+s);
        }
    
        @Override
        public void onRealNameSuccess(String s) {
            Log.e("demo","实名完成:"+s);
        }
    });

    进入游戏角色上报(必接)#

    参数描述类型
    RoleID角色IDString
    RoleName角色名String
    AreaName服务器名String
    RoleLevel角色等级String
    FightVal角色战力String
    AreaID服务器IDString
    isEnterGame是否进入游戏boolean
    代码示例:
    DodSDKApi.submitRoleInfo(RoleID, RoleName, AreaName,RoleLevel,FightVal,AreaID,isEnterGame);

    XH游戏信息广告上报(必接)#

    参数描述类型
    roleId角色IDString
    roleName角色名String
    areaName服务器名String
    roleLevel角色等级String
    vipLevelVIP等级String
    areaID服务器IDString
    type事件类型int
    事件类型,必填 创角为 1,登入游戏为 2,升级为 3,登出为 5,在对应的时机进行调用上报
    代码示例:
    DodSDKApi.submitRoleInfoXH(String roleId,String roleName,String roleLevel,String areaID,String areaName,String vipLevel,int type);

    XH支付信息广告上报(必接)#

    参数描述类型
    TradeNo订单号String
    Amount金额,元.角分String
    GoodsType商品类型String
    GoodsId游戏方商品idString
    GoodsName游戏方商品名称String
    ServerId服务器idString
    ServerName服务器名String
    RoleId角色idString
    RoleName角色名String
    RoleLevel角色等级String
    payType支付类型String
    GoodsType 一般默认为"gift",payType的类型:wechat or alipay
    代码示例:
    public static void submitPayInfoXH(String TradeNo,String Amount,String GoodsType,String GoodsId,String GoodsName,String ServerId, String ServerName,String RoleId, String RoleName, String RoleLevel, String payType);

    生命周期(必接,请在主线程调用)#

    代码示例:
    DodSDKApi.onStart(Activity activity);
    DodSDKApi.onRestart(Activity activity);
    DodSDKApi.onResume(Activity activity);
    DodSDKApi.onPause(Activity activity);
    DodSDKApi.onStop(Activity activity);
    DodSDKApi.onDestroy(Activity activity);
    DodSDKApi.onNewIntent(Intent intent);
    DodSDKApi.onActivityResult(int requestCode, int resultCode, Intent data);
    DodSDKApi.onConfigurationChanged(Configuration newConfig);
    DodSDKApi.onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults);
    上一页
    IOS SDK 接入文档
    下一页
    微信小游戏
    Built with