SdkProject/channel/hyyngame/AndroidManifest.xml
@@ -3,43 +3,114 @@ xmlns:tools="http://schemas.android.com/tools" package="com.secondworld.sdk"> <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" /> <!-- GooglePay--> <uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="com.android.vending.BILLING"/> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32"/> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <!-- 特殊权限,需要申请 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.CAMERA" /> <!--facebook --> <queries><provider android:authorities="com.facebook.katana.provider.PlatformProvider" /></queries> <application android:name=".GTGameApp" android:requestLegacyExternalStorage="true" android:usesCleartextTraffic="true" android:usesCleartextTraffic="false" android:supportsPictureInPicture= "true" android:resizeableActivity="true" android:exported="false" android:extractNativeLibs="true" android:networkSecurityConfig="@xml/network_security_config" tools:replace="android:name"> <provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> <!-- <provider--> <!-- android:name="androidx.core.content.FileProvider"--> <!-- android:authorities="${applicationId}.fileprovider"--> <!-- android:exported="false"--> <!-- android:grantUriPermissions="true">--> <!-- <meta-data--> <!-- android:name="android.support.FILE_PROVIDER_PATHS"--> <!-- android:resource="@xml/file_paths" />--> </provider> <meta-data android:name="JF_APPID" android:value="81445"/> <meta-data android:name="JF_APPKEY" android:value="538D489BFA57BAF0AF6401745118D6EA"/> <!-- </provider>--> <uses-library android:name="org.apache.http.legacy" android:required="false" /> <activity android:name="com.juefeng.sdk.juefengsdk.ui.activity.InitdataActivity" android:screenOrientation="sensorLandscape" /> android:exported="false" android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" /> <activity android:name="com.facebook.CustomTabActivity" android:exported="true"> <intent-filter><action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="@string/fb_login_protocol_scheme" /> </intent-filter> </activity> <!-- 例如: <provider android:authorities="com.facebook.app.FacebookContentProvider123456789"--> <provider android:authorities="com.facebook.app.FacebookContentProvider+Facebook_APP_ID" android:name="com.facebook.FacebookContentProvider" android:exported="true" /> <receiver android:name="com.appsflyer.SingleInstallBroadcastReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> <!--SDK end--> <meta-data android:name="ALD_GAME_MAIN_ACTIVITY" android:value="com.demo.MainActivity[主activity路径]" /> <meta-data android:name="ALD_GAME_CHANNELID" android:value="331" /> <meta-data android:name="ALD_GAME_APPID" android:value=""/> <meta-data android:name="ALD_GAME_GAMEID" android:value=""/> <!--facebook--> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> <meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/> <!--应用谷歌id --> <meta-data android:name="google-signin-client_id" android:value=""/> <!--appflyer参数 --> <meta-data android:name="appflyer-key" android:value=""/> </application> </manifest> SdkProject/channel/hyyngame/java/com/secondworld/sdk/GTGameApp.java
@@ -1,10 +1,8 @@ package com.secondworld.sdk; import android.app.Application; import com.lp.overseas.sdk.AldApplication; public class GTGameApp extends Application { public class GTGameApp extends AldApplication { @Override public void onCreate() { SdkProject/channel/hyyngame/java/com/secondworld/sdk/GTGameMain.java
@@ -8,7 +8,6 @@ import androidx.annotation.NonNull; import com.juefeng.sdk.juefengsdk.JFSDK; public class GTGameMain extends GameActivityProxy { @@ -68,7 +67,7 @@ new AlertDialog.Builder(activity).setTitle("退出").setMessage("是否退出游戏?").setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { JFSDK.getInstance().exitLogin(GTGameMain.I.activity); MySdkMgr.manger.exit(GTGameMain.I.activity); } }).setNegativeButton("取消", null).show(); return true; SdkProject/channel/hyyngame/java/com/secondworld/sdk/MySdkMgr.java
@@ -6,16 +6,12 @@ import androidx.annotation.NonNull; import com.juefeng.sdk.juefengsdk.interf.SDKEventListener; import com.juefeng.sdk.juefengsdk.services.bean.CreatOrderInfo; import com.juefeng.sdk.juefengsdk.services.bean.JfOrderInfo; import com.juefeng.sdk.juefengsdk.services.bean.LoginErrorMsg; import com.juefeng.sdk.juefengsdk.services.bean.LogincallBack; import com.juefeng.sdk.juefengsdk.services.bean.PayFaildInfo; import com.juefeng.sdk.juefengsdk.services.bean.PaySuccessInfo; import com.lp.overseas.sdk.external.AldGameManger; import com.lp.overseas.sdk.external.conts.AldUserHolder; import com.lp.overseas.sdk.external.model.AldUserData; import com.lp.overseas.sdk.external.model.OrderInfo; import com.secondworld.sdk.utils.CodeA2U; import com.secondworld.sdk.utils.LogUtil; import com.juefeng.sdk.juefengsdk.JFSDK; import org.json.JSONException; import org.json.JSONObject; @@ -24,21 +20,94 @@ private static final String TAG = MySdkMgr.class.getSimpleName(); public static MySdkMgr I = new MySdkMgr(); public static String uid; public static int viplevel; public static AldGameManger manger = AldGameManger.getInstance(); public void init(Activity activity) { sdkInitState = SdkInitState.LOADING; JFSDK.getInstance().init(activity, mSDKEventListener); manger = AldGameManger.getInstance(); //sdk初始化,初始化结果回调里面游戏需自己处理跳转逻辑 manger.init(activity, new AldGameManger.SDKCallback() { @Override public void onInitFinished(boolean isSuccess) { if (isSuccess) { //初始化成功,进入游戏 sdkInitState = SdkInitState.SUCCEED; LogUtil.debug("SdkManager", "初始化成功"); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk); } else { //初始化失败,则无法调起登录。游戏需继续调用SDK初始化接口及自行处理逻辑跳转 Toast.makeText(GameAppProxy.app, "init fail ", Toast.LENGTH_LONG).show(); //初始化失败 sdkInitState = SdkInitState.FAILED; LogUtil.e("SdkManager", "初始化失败"); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitFail); } } @Override public void onLoginFinished(AldUserData userData, AldUserHolder loginState) { if (loginState.getStateCode() == AldUserHolder.LOGIN_SUCCESS) { //登入成功 uid = userData.getUserId(); //作为唯一标示 String sign = userData.getSign();//获取签名 String timestamp = userData.getTimestamp();//登入时间 //判断登录方式: 3:goole登入,4:facebook登入 int logintype = userData.getOpenType(); try { args.clear(); JSONObject info = new JSONObject(); String channelID = "1"; String account = uid + "@" + channelID; info.put("account", account); info.put("userName", uid); info.put("token", sign); info.put("token_expire", timestamp);//时间戳 info.put("session_id", String.valueOf(logintype));//判断登录方式 args.put("info", info); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginOk, args); } catch (JSONException e) { e.printStackTrace(); LogUtil.e("SdkManager 登录成功 但信息处理失败", e); } LogUtil.i(TAG, "login success,uid:" + uid); } else { //登录取消 Toast.makeText(GameAppProxy.app, "login fail " , Toast.LENGTH_LONG).show(); //登录失败 LogUtil.e("SdkManager", "登录失败"); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail); } } @Override public void onLogout() { //悬浮窗 注销账号成功,注销账号成功后,游戏应从游戏的界面退回到登录界面中 UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk); } @Override public void onExit(boolean isSuccess) { if (isSuccess) { //退出游戏 System.exit(0); } else { //继续游戏 } } }); } public void OnCreate(Activity activity) { JFSDK.getInstance().onCreate(GTGameMain.I.activity); init(activity); } public void onStart() { JFSDK.getInstance().onStart(GTGameMain.I.activity); manger.onStart(GTGameMain.I.activity); } public void login() { @@ -53,7 +122,7 @@ @Override public void run() { JFSDK.getInstance().doLogin(GTGameMain.I.activity); manger.login(GTGameMain.I.activity); } }); @@ -69,133 +138,55 @@ public void LogOutInitialize() { JFSDK.getInstance().logoutLogin(GTGameMain.I.activity); manger.logout(GTGameMain.I.activity); } public void pay(JfOrderInfo roleInfo) { JFSDK.getInstance().showPay(GTGameMain.I.activity, roleInfo); public void pay(OrderInfo pauInfo) { manger.pay(GTGameMain.I.activity, pauInfo); } public void onResume() { JFSDK.getInstance().onResume(GTGameMain.I.activity); manger.onResume(GTGameMain.I.activity); } public void onPause() { JFSDK.getInstance().onPause(GTGameMain.I.activity); manger.onPause(GTGameMain.I.activity); } public void onStop() { JFSDK.getInstance().onStop(GTGameMain.I.activity); manger.onStop(GTGameMain.I.activity); } public void onDestroy() { //退出登录、退出游戏调用 JFSDK.getInstance().onDestroy(GTGameMain.I.activity); manger.onDestroy(GTGameMain.I.activity); } public void onActivityResult(int requestCode, int resultCode, Intent data) { JFSDK.getInstance().onActivityResult(GTGameMain.I.activity, requestCode, resultCode, data); manger.onActivityResult(requestCode, resultCode, data); } public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { JFSDK.getInstance().onRequestPermissionsResult(GTGameMain.I.activity, requestCode, permissions, grantResults); manger.onRequestPermissionsResult(requestCode, permissions, grantResults); } SDKEventListener mSDKEventListener = new SDKEventListener(){ @Override public void onLoginSuccess(LogincallBack logincallBack) {//登录成功 JFSDK.getInstance().showFloatView(GTGameMain.I.activity); try { args.clear(); JSONObject info = new JSONObject(); String channelID = "9996"; uid = logincallBack.userId; String account = uid + "@" + channelID; info.put("account", account); info.put("userName", uid); info.put("token", logincallBack.token); args.put("info", info); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginOk, args); } catch (JSONException e) { e.printStackTrace(); LogUtil.e("SdkManager 登录成功 但信息处理失败", e); } // @Override // public void onPaySuccessCallback(PaySuccessInfo paySuccessInfo) { // //支付成功 // UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayOk); // } // // @Override // public void onPayFaildCallback(PayFaildInfo payFaildInfo) { // //支付失败 // UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayFail); // } LogUtil.i(TAG, "login success,uid:" + uid + " userName:" + logincallBack.userName); } @Override public void onLoginFailed(LoginErrorMsg loginErrorMsg) {//登录失败 Toast.makeText(GameAppProxy.app, "login fail " + loginErrorMsg.getCode(), Toast.LENGTH_LONG).show(); //登录失败 LogUtil.e("SdkManager", "登录失败:" + loginErrorMsg.getErrorMsg()); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLoginFail); } @Override public void onInitSuccess(String desc,boolean isAutoLogin) { sdkInitState = SdkInitState.SUCCEED; LogUtil.debug("SdkManager", "初始化成功"); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk); } @Override public void onInitFaild(String desc) { Toast.makeText(GameAppProxy.app, "init fail "+desc, Toast.LENGTH_LONG).show(); //初始化失败 sdkInitState = SdkInitState.FAILED; LogUtil.e("SdkManager", "初始化失败 msg:" + desc); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitFail); } @Override public void onPaySuccessCallback(PaySuccessInfo paySuccessInfo) { //支付成功 UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayOk); } @Override public void onPayFaildCallback(PayFaildInfo payFaildInfo) { //支付失败 UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformPayFail); } @Override public void onExit(String desc) {//退出成功 } @Override public void onCancleExit(String desc) { } @Override public void onCreatedOrder(CreatOrderInfo infoBean) { //订单创建成功 LogUtil.i("SdkManager", "订单创建成功"); } @Override public void onLogoutLogin(){//此处需回到游戏登录界面游戏方执行 UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk); } public void onSwitchAccountSuccess(LogincallBack login) { /*此回调接口是在当SDK内部有切换帐号的功能,且切换成功时会调用,游 戏方需要在这个回调接口中注销原来的角色数据,然后根据新的openid(参数 login中可以获取到)来重新加载角色数据;*/ UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk); } @Override public void onGameSwitchAccount() { /*此接口是在游戏内有账号切换功能点击 调用 JFSDK.getInstance().switchAccount(MainActivity.this);后回调 游戏方账号切换逻辑需要在此回调中执行 * */ UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformLogoutOk); } }; } SdkProject/channel/hyyngame/java/com/secondworld/sdk/command/CmdCreateRole.java
@@ -1,7 +1,7 @@ package com.secondworld.sdk.command; import com.juefeng.sdk.juefengsdk.JFSDK; import com.juefeng.sdk.juefengsdk.services.bean.JfRoleInfo; import com.lp.overseas.sdk.external.model.RoleData; import com.secondworld.sdk.GTGameMain; import com.secondworld.sdk.MySdkMgr; import com.secondworld.sdk.utils.CodeU2A; @@ -16,20 +16,16 @@ @Override public void process(JSONObject json) throws Exception { //上报角色信息 JfRoleInfo roleInfo = new JfRoleInfo(); roleInfo.setGameRoleLevel(json.getString("level")); roleInfo.setRoleId(json.getString("roleID")); roleInfo.setGameRolePower(json.getInt("fightPower")); roleInfo.setServerId(json.getString("sid")); roleInfo.setServerName(json.getString("serverName")); roleInfo.setRoleName(json.getString("roleName")); roleInfo.setExperience("1"); roleInfo.setPartyId(json.getString("familyID")); roleInfo.setPartyName(json.getString("familyName")); roleInfo.setRoleCreateTime(System.currentTimeMillis()); roleInfo.setVipLevel(json.getInt("vipLevel")); roleInfo.setType("1"); JFSDK.getInstance().syncInfo(roleInfo); RoleData data = new RoleData(); data.setRoleId(json.getString("roleID"));// 角色id data.setUid(MySdkMgr.I.uid);//登录时获取的sdk uid data.setRoleName(json.getString("roleName"));// 角色名 data.setRoleLevel(json.getString("level"));// 角色等级 data.setServerId(json.getString("sid"));// 所在服id data.setServerName(json.getString("serverName"));// 所在服名称 data.setBalance(json.getString("money"));//游戏角色余额 data.setVipLevel(json.getString("vipLevel"));//游戏角色等级 MySdkMgr.manger.roleCreate(GTGameMain.I.activity, data); } } SdkProject/channel/hyyngame/java/com/secondworld/sdk/command/CmdPlatformPay.java
@@ -1,6 +1,6 @@ package com.secondworld.sdk.command; import com.juefeng.sdk.juefengsdk.services.bean.JfOrderInfo; import com.lp.overseas.sdk.external.model.OrderInfo; import com.secondworld.sdk.MySdkMgr; import com.secondworld.sdk.utils.CodeU2A; @@ -14,24 +14,23 @@ @Override public void process(JSONObject json) throws Exception { //channelID_cp订单id_区服id_游戏充值编号 长度不超过100 只能用下划线 JfOrderInfo roleInfo = new JfOrderInfo (); String attach = "1_" + json.getString("orderId") + "_" + json.getString("sid") + "_" + json.getString("cpInfo"); roleInfo.setLevel(json.getString("level")); roleInfo.setGoodsId(json.getString("cpInfo")); roleInfo.setGoodsName(json.getString("title")); roleInfo.setGoodsDes(json.getString("title")); roleInfo.setPrice(json.getString("mount")); roleInfo.setServerId(json.getString("sid")); roleInfo.setServerName(json.getString("serverName")); roleInfo.setRoleId(json.getString("roleID")); roleInfo.setRoleName(json.getString("roleName")); roleInfo.setVip(json.getString("vipLevel")); OrderInfo payInfo = new OrderInfo(); payInfo.setServerId(json.getString("sid"));//所在服务器ID payInfo.setUid(MySdkMgr.I.uid);//登录时获取的sdk uid payInfo.setServerName(json.getString("serverName"));//所在服务器名称 payInfo.setRoleId(json.getString("roleID"));//游戏角色ID payInfo.setRoleName(json.getString("roleName"));//游戏角色名称 payInfo.setRoleLevel(json.getString("level"));//游戏角色等级 payInfo.setProductDesc(json.getString("title"));//产品描述 payInfo.setProducId(json.getString("cpInfo"));//产品ID payInfo.setCpOrderId(json.getString("orderId"));//订单号 payInfo.setAmount(json.getDouble("mount"));//支付金额 精确到两位小数 payInfo.setCallbackURL("callbackUrl");//回调地址;通知发货地址(需加密)工具在下方,255个字符内 payInfo.setCallbackInfo(attach);//透传参数;游戏方的回调地址所需透传参数,服务端支付回调时原样返回 String attach = "9996_" + json.getString("orderId") + "_" + json.getString("sid") + "_" + json.getString("cpInfo"); roleInfo.setRemark(attach); roleInfo.setCpOrderId(json.getString("orderId")); MySdkMgr.I.pay(roleInfo); MySdkMgr.I.pay(payInfo); } } SdkProject/channel/hyyngame/java/com/secondworld/sdk/command/CmdRoleLevelUp.java
@@ -1,8 +1,8 @@ package com.secondworld.sdk.command; import com.juefeng.sdk.juefengsdk.JFSDK; import com.juefeng.sdk.juefengsdk.services.bean.JfRoleInfo; import com.lp.overseas.sdk.external.model.RoleData; import com.secondworld.sdk.GTGameMain; import com.secondworld.sdk.MySdkMgr; import com.secondworld.sdk.utils.CodeU2A; @@ -17,18 +17,15 @@ @Override public void process(JSONObject json) throws Exception { //上报角色信息 JfRoleInfo roleInfo = new JfRoleInfo(); roleInfo.setGameRoleLevel(json.getString("level")); roleInfo.setRoleId(json.getString("roleID")); roleInfo.setGameRolePower(json.getInt("fightPower")); roleInfo.setServerId(json.getString("sid")); roleInfo.setServerName(json.getString("serverName")); roleInfo.setRoleName(json.getString("roleName")); roleInfo.setExperience("1"); roleInfo.setPartyId(json.getString("familyID")); roleInfo.setPartyName(json.getString("familyName")); roleInfo.setVipLevel(json.getInt("vipLevel")); roleInfo.setType("3"); JFSDK.getInstance().syncInfo(roleInfo); RoleData data = new RoleData(); data.setRoleId(json.getString("roleID"));// 角色id data.setUid(MySdkMgr.I.uid);//登录时获取的sdk uid data.setRoleName(json.getString("roleName"));// 角色名 data.setRoleLevel(json.getString("level"));// 角色等级 data.setServerId(json.getString("sid"));// 所在服id data.setServerName(json.getString("serverName"));// 所在服名称 data.setBalance(json.getString("money"));//游戏角色余额 data.setVipLevel(json.getString("vipLevel"));//游戏角色等级 MySdkMgr.manger.roleLevelUp(GTGameMain.I.activity, data); } } SdkProject/channel/hyyngame/java/com/secondworld/sdk/command/CmdRoleLogin.java
@@ -1,7 +1,7 @@ package com.secondworld.sdk.command; import com.juefeng.sdk.juefengsdk.JFSDK; import com.juefeng.sdk.juefengsdk.services.bean.JfRoleInfo; import com.lp.overseas.sdk.external.model.RoleData; import com.secondworld.sdk.GTGameMain; import com.secondworld.sdk.MySdkMgr; import com.secondworld.sdk.utils.CodeU2A; @@ -17,18 +17,15 @@ public void process(JSONObject json) throws Exception { //上报角色信息 JfRoleInfo roleInfo = new JfRoleInfo(); roleInfo.setGameRoleLevel(json.getString("level")); roleInfo.setRoleId(json.getString("roleID")); roleInfo.setGameRolePower(json.getInt("fightPower")); roleInfo.setServerId(json.getString("sid")); roleInfo.setServerName(json.getString("serverName")); roleInfo.setRoleName(json.getString("roleName")); roleInfo.setExperience("1"); roleInfo.setPartyId(json.getString("familyID")); roleInfo.setPartyName(json.getString("familyName")); roleInfo.setVipLevel(json.getInt("vipLevel")); roleInfo.setType("2"); JFSDK.getInstance().syncInfo(roleInfo); RoleData data = new RoleData(); data.setRoleId(json.getString("roleID"));// 角色id data.setUid(MySdkMgr.I.uid);//登录时获取的sdk uid data.setRoleName(json.getString("roleName"));// 角色名 data.setRoleLevel(json.getString("level"));// 角色等级 data.setServerId(json.getString("sid"));// 所在服id data.setServerName(json.getString("serverName"));// 所在服名称 data.setBalance(json.getString("money"));//游戏角色余额 data.setVipLevel(json.getString("vipLevel"));//游戏角色等级 MySdkMgr.manger.roleLogin(GTGameMain.I.activity, data); } } SdkProject/channel/hyyngame/res/values/strings.xml
New file @@ -0,0 +1,7 @@ <resources> <string name="facebook_app_id">4125229144241169 </string> <string name="fb_login_protocol_scheme">fb4125229144241169 </string> <string name="facebook_client_token">a0ac8136a5d7dd1657d29cc34c5bdfe5</string> </resources> SdkProject/library/build.gradle
@@ -208,9 +208,9 @@ implementation(name: 'lp_v1.1.3', ext: 'aar') //x.x.x为具体版本 implementation("com.android.billingclient:billing:5.0.0") implementation 'com.google.android.gms:play-services-auth:20.1.0' implementation 'com.facebook.android:facebook-login:latest.release' implementation 'com.facebook.android:facebook-share:latest.release' implementation 'androidx.percentlayout:percentlayout:1.0.0' implementation 'com.facebook.android:facebook-android-sdk:[13,14)' implementation 'com.facebook.android:facebook-share:[13,14)' implementation 'com.appsflyer:af-android-sdk:6.9.0' implementation 'com.android.installreferrer:installreferrer:2.2' implementation platform('com.google.firebase:firebase-bom:30.4.0') { SdkProject/library/src/main/java/com/secondworld/sdk/GameActivity.java
@@ -10,7 +10,6 @@ import com.secondworld.sdk.utils.LogUtil; import com.secondworld.sdk.utils.WebViewUtil; import com.juefeng.sdk.juefengsdk.JFSDK; public class GameActivity extends UnityPlayerActivity { @@ -60,8 +59,6 @@ super.onRestart(); if (proxy != null) proxy.onRestart(); JFSDK.getInstance().onRestart(GTGameMain.I.activity); } @Override @@ -97,7 +94,6 @@ super.onNewIntent(intent); if (proxy != null) proxy.onNewIntent(intent); JFSDK.getInstance().onNewIntent(GTGameMain.I.activity, intent); } @Override @@ -122,28 +118,25 @@ return b ? b : super.onKeyDown(keyCode, event); } @Override public boolean dispatchKeyEvent(KeyEvent event) { if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) { if(event.getAction() == KeyEvent.ACTION_DOWN&&event.getRepeatCount() == 0) { JFSDK.getInstance().exitLogin(GTGameMain.I.activity); return true; } } return super.dispatchKeyEvent(event); } @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); JFSDK.getInstance().onWindowFocusChanged(hasFocus); MySdkMgr.manger.onWindowFocusChanged(hasFocus, GTGameMain.I.activity); } @Override public void onBackPressed() public void onAttachedToWindow() { super.onBackPressed(); JFSDK.getInstance().onBackPressed(GTGameMain.I.activity); super.onAttachedToWindow(); MySdkMgr.manger.onAttachedToWindow(); } @Override public void onDetachedFromWindow() { super.onDetachedFromWindow(); MySdkMgr.manger.onDetachedFromWindow(); } }