ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
# WoGameSDK接入指南(Android) ## **引入jar、so包** 1. 将我方提供jar包放到游戏接入工程中的libs目录下 ![](https://box.kancloud.cn/c252ba8dd8c22fadfbf57861043a4016_950x578.png) 2. 将1.0.0.0.so放在游戏的assets/wg_plugins/目录下(此目录下只能有一个so文件,切勿更改我方提供so包的命名) ![](https://box.kancloud.cn/d9ae5918b6486d62755c3ee6ba0652a3_1208x122.png) 3. 将liblbs.so文件都放置在:lib/armeabi文件夹下(so存在多个,看接入方app架构支持情况,app现有so有哪些架构就拷贝哪些即可,具体请参考demo) ![](https://box.kancloud.cn/b6aeb5006354d3c24a28ac3ae521c129_1596x254.png) ## **配置Application** 1. 如果游戏层没有自己的Application,那么游戏需要将AndroidManifest.xml中的application指定为com.ryg.sdk.WoGameApplication ![](https://box.kancloud.cn/498ea4c5421fef6714923f6cbcaded21_854x238.png) 2. 若游戏层有自己的Application,则需要在游戏的Application的onCreate方法中调用: WGSDK.getInstance().initBugly(this) ![](https://box.kancloud.cn/60fbc607732b4561c56a04a1f94aedde_800x158.png) ## **配置AndroidManifest.xml** **1.权限配置** <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.READ_LOGS" /> **2.声明activity** <activity android:name="com.ryg.dynamicload.DLProxyFragmentActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Translucent" /> <service android:name="com.ryg.dynamicload.DLProxyService" /> <activity android:name="com.alipay.sdk.app.H5PayActivity" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false" android:screenOrientation="portrait" /> <activity android:name="com.alipay.sdk.auth.AuthActivity" android:configChanges="orientation|keyboardHidden|navigation" android:exported="false" android:screenOrientation="portrait" /> **3.参数配置** <meta-data android:name="WG_APPKEY" android:value="666666" /> <meta-data android:name="WG_APPSECRET" android:value="eW91eGltYW8xMDAwMDF4cw==" /> <meta-data android:name="WG_ENVIRONMENT" android:value="4" /> <meta-data android:name="BUGLY_APPID" android:value="f25812953e" /> ## **必须调用的 API** Note:所有api都通过com.ryg.sdk.WGSDK单例类来调用 **1. 初始化sdk** WGSDK.getInstance().init(this, new WGInitListener() { @Override public void onInitResult(int i, String s) { switch (i) { case WGCode.CODE_INIT_SUCCESS: callbackInfo.setText("初始化成功" + s); break; case WGCode.CODE_INIT_FAIL: callbackInfo.setText("初始化失败" + s); break; } } @Override public void onSplash(int i) { switch (i) { case WGCode.CODE_SPLASH_START: callbackInfo.setText("闪屏回调信息:闪屏显示"); break; case WGCode.CODE_SPLASH_FINISH: callbackInfo.setText("闪屏回调信息:闪屏消失"); break; } } @Override public void onLoginResult(int i, String s) { switch (i) { case WGCode.CODE_LOGIN_SUCCESS: callbackInfo.setText("登录回调信息:" + s); break; case WGCode.CODE_LOGIN_FAIL: callbackInfo.setText("登录回调信息:" + s); break; } } @Override public void onPayResult(int i, String s) { switch (i) { case WGCode.CODE_PAY_SUCCESS: callbackInfo.setText("支付回调信息:" + s); break; case WGCode.CODE_PAY_FAIL: callbackInfo.setText("支付回调信息:" + s); break; } } @Override public void onLogout() { //cp需要把游戏账号退出,跳转到登录界面 Toast.makeText(MainActivity.this, "登录失效,cp需要把游戏账号退出,跳转到登录界面", Toast.LENGTH_LONG).show(); WGSDK.getInstance().login(); } @Override public void onExit() { //cp需要退出游戏 finish(); } }); **2. 登录** WGSDK.getInstance().login(); **3. 支付** WGSDK.getInstance().recharge(amount, "倚天剑", String.valueOf(System.currentTimeMillis()), "http://mock.wogame.cn/mockjsdata/11/sdk/notify", "一区张无忌下的订单", "201712091622", "testRoleName", "testRoleServerName"); | 参数名称 | 必传 | 参数类型 | 参数说明 | |-----|:-----:|-----|:-----:| | amount | 是 | double | 订单金额,单位:元 | | description | 是 | String | 产品介绍 | | codeNo | 是 | String | 订单编号(用于对账跟发货凭证,必须唯一) | | notifyUrl | 是 | String | 发货回调地址(通知游戏端发货的地址) | | extend | 是 | String | 游戏方的透传参数(传进什么我们都会原数据返回,建议用jsonString) | | roleId | 是 | String | 角色ID | | roleName | 是 | String | 角色名称 | | roleServerName | 是 | String | 角色区服名称 | **4. 账号退出** WGSDK.getInstance().logout(); **5. 游戏退出** WGSDK.getInstance().exit(); **## 生命周期函数** public void onActivityResult(int requestCode, int resultCode, Intent data){ WGSDK.getInstance().onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data); } public void onStart(){ WGSDK.getInstance().onStart(); super.onStart(); } public void onPause(){ WGSDK.getInstance().onPause(); super.onPause(); } public void onResume(){ WGSDK.getInstance().onResume(); super.onResume(); } public void onNewIntent(Intent newIntent){ WGSDK.getInstance().onNewIntent(newIntent); super.onNewIntent(newIntent); } public void onStop(){ WGSDK.getInstance().onStop(); super.onStop(); } public void onDestroy(){ WGSDK.getInstance().onDestroy(); super.onDestroy(); } public void onRestart(){ WGSDK.getInstance().onRestart(); super.onRestart(); } public void onConfigurationChanged(Configuration newConfig){ WGSDK.getInstance(). onConfigurationChanged(newConfig); super.onConfigurationChanged(newConfig); } public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){ WGSDK.getInstance().onRequestPermissionResult(requestCode, permissions, grantResults); }