Procházet zdrojové kódy

修复没有imei和oai的bug

zouyong před 5 roky
rodič
revize
00ff67687c

+ 1 - 1
assets/script/game/data/GameData.ts

@@ -109,7 +109,7 @@ export class GameData {
         this.gameData.newPlayer = res_data.newPlayer;
         this.gameData.initPiggyBank(res_data.piggyBank);
         this.gameData.piggyBankCashTimes = res_data.piggyBankCashTimes;
-        this.gameData.redMoney = res_data.redMoney;
+        this.gameData.redMoney = res_data.redMoney == null ? 0 : res_data.redMoney;
         this.gameData.signInDay = res_data.signInDay;
         this.gameData.totalPiggyBankCashTimes = res_data.totalPiggyBankCashTimes;
         this.gameData.turntableTimes = res_data.turntableTimes;

+ 1 - 1
assets/script/game/data/HttpData.ts

@@ -5,7 +5,7 @@
 export class HttpData {
 
     /** 服务器类型 0测试服 1正式服 2李扬服 3悍国服 */
-    public serverType: number = 1;
+    public serverType: number = 0;
 
     public getServerUrl(): string {
         switch (this.serverType) {

+ 2 - 2
assets/script/game/data/LoginData.ts

@@ -238,9 +238,9 @@ export class LoginData {
         };
 
         mk.console.logSingle("machineInfo", gData.appData.machineInfo);
-        let response = await mk.http.sendData('user/machine',gData.appData.machineInfo);
+        let res = await mk.http.sendData('user/machine',gData.appData.machineInfo);
 
-        response = await mk.http.sendRequest('user', 'POST', JSON.stringify(data), false, false);
+        let response = await mk.http.sendRequest('user', 'POST', JSON.stringify(data), false, false);
         if (response.errcode != 0) {
             if (response.errcode == -10003 || response.errcode == -20003) {
                 //清除缓存

+ 3 - 1
assets/script/game/module/login/Login.ts

@@ -81,8 +81,10 @@ export default class Login extends cc.Component {
     public async init() {
         //获取appid 和 配置version
         JsbSystem.getWxAppId();
+        //获取手机授权
+        JsbSystem.checkPermission();
         //获取设备信息
-        JsbSystem.getDeviceInfo();
+        // JsbSystem.getDeviceInfo();
         console.log('appversion   ', gData.appData.appVersion);
         //获取登录需要的sessionkey
         gData.loginData.init();

+ 11 - 1
assets/script/mk/system/JsbSystem.ts

@@ -59,7 +59,7 @@ export default class JsbSystem {
      * @param info  info(Java返回)
      */
     public static updateDeviceInfo(info) {
-        mk.console.log("===[JsbSystem] updateDeviceInfo" + cc.sys.os, info)
+        mk.console.log("===[JsbSystem] updateDeviceInfo" , info)
         if (cc.sys.os == cc.sys.OS_ANDROID) {
             gData.appData.updateDeviceInfo(info);
         }
@@ -68,6 +68,16 @@ export default class JsbSystem {
         }
     }
 
+    /** 获取手机授权 */
+    public static checkPermission() {
+        if (cc.sys.os == cc.sys.OS_ANDROID) {
+            this.callStaticMethod(this._JSB_ANDROID_PATH, "checkPermission", "()V");
+        }
+        else if (cc.sys.os == cc.sys.OS_IOS) {
+            jsb.reflection.callStaticMethod("GameConfig", "checkPermission:", "");
+        }
+    }
+
     /**
      * 获取设备信息
      * @description 自定义功能 CocosToJava

binární
build/jsb-link/assets/main/index.jsc


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
build/jsb-link/assets/resources/config.json


binární
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/release/EasyEliminate-release.apk


+ 57 - 35
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/org/cocos2dx/javascript/AppActivity.java

@@ -26,6 +26,7 @@ package org.cocos2dx.javascript;
 
 import org.cocos2dx.javascript.thirdSdk.ThirdSdkMgr;
 import org.cocos2dx.javascript.thirdSdk.thinkingdata.TDSDKMgr;
+import org.cocos2dx.javascript.util.DeviceUtil;
 import org.cocos2dx.lib.Cocos2dxActivity;
 import org.cocos2dx.lib.Cocos2dxGLSurfaceView;
 
@@ -38,12 +39,19 @@ import android.os.Bundle;
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.util.Log;
+import android.view.Gravity;
+import android.widget.Toast;
 
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
 import androidx.core.content.FileProvider;
 
+import com.aries.qsllx.mz.BuildConfig;
+
 import java.io.File;
 
 public class AppActivity extends Cocos2dxActivity {
+    private static final int PERMISSIONS_REQUEST_STORAGE = 1;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -59,7 +67,7 @@ public class AppActivity extends Cocos2dxActivity {
         }
         // DO OTHER INITIALIZATION BELOW
         SDKWrapper.getInstance().init(this);
-
+        DeviceUtil.preGetOaid(this);
         //赋值方便调用
         ThirdSdkMgr.appActivity = this;
         //注册到微信
@@ -194,40 +202,6 @@ public class AppActivity extends Cocos2dxActivity {
 //        }
     }
 
-    @Override
-    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
-        switch (requestCode) {
-            case 1: {
-                // If request is cancelled, the result arrays are empty.
-                if (grantResults.length > 0
-                        && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
-                    Log.i("***************", "onRequestPermissionsResult granted");
-                    // permission was granted, yay! Do the
-                    // contacts-related task you need to do.
-                } else {
-                    Log.i("***************", "onRequestPermissionsResult denied");
-                    // permission denied, boo! Disable the
-                    // functionality that depends on this permission.
-                }
-
-//                //点击之后获取设备信息
-//                ThirdSdkMgr.getDeviceInfo();
-//                //友盟这个时候统计
-//                UMSDKMgr.getInstance()._UMSDKInit();
-//                //数数统计
-//                TDSDKMgr.getInstance().initSdk(this);
-//                //数数注册
-//                TDSDKMgr.getInstance().setTAEventRegister();
-
-                return;
-            }
-
-            // other 'case' lines to check for other
-            // permissions this app might request
-        }
-    }
-
-
     //安装apk相关 ----------------------------------------------------------------------------------
     /**
      * fileName:String apk完整路径
@@ -271,4 +245,52 @@ public class AppActivity extends Cocos2dxActivity {
         String url="weixin://";
         startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
     }
+
+    /** 获取手机授权 */
+    public void checkPermission(){
+        String[] arr;
+        if(BuildConfig.TF_CHANNEL.equals("3")){
+            arr = new String[]{Manifest.permission.READ_PHONE_STATE,
+                    Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                    Manifest.permission.ACCESS_COARSE_LOCATION,
+                    Manifest.permission.ACCESS_FINE_LOCATION};
+        }
+        else{
+            arr = new String[]{Manifest.permission.READ_PHONE_STATE,
+                    Manifest.permission.WRITE_EXTERNAL_STORAGE};
+        }
+
+        boolean has = false;
+        for (String x: arr) {
+            int permissionCheck = ContextCompat.checkSelfPermission(this, x);
+            if(permissionCheck != PackageManager.PERMISSION_GRANTED){
+                has = true;
+                break;
+            }
+        }
+
+        if(has){
+            ActivityCompat.requestPermissions(this, arr, this.PERMISSIONS_REQUEST_STORAGE);
+        }
+        else{
+            Log.d("vvvvvvvvv", "checkPermission");
+            ThirdSdkMgr.updateDeviceInfo();
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
+        Log.d("PermissionsResult",grantResults.toString());
+        for (int i = 0; i < grantResults.length; i++) {
+            if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {
+                Toast toast = Toast.makeText(getApplicationContext(), "没有该权限,此应用程序可能无法正常工作。打开应用设置屏幕以修改应用权限", Toast.LENGTH_LONG);
+                toast.setGravity(Gravity.TOP,0,0);
+                toast.show();
+                break;
+            }
+        }
+
+        Log.d("vvvvvvvvv", "onRequestPermissionsResult  ");
+        ThirdSdkMgr.updateDeviceInfo();
+    }
 }

+ 33 - 2
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/org/cocos2dx/javascript/thirdSdk/ThirdSdkMgr.java

@@ -4,7 +4,10 @@ import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.Intent;
+import android.os.Build;
 import android.util.Log;
+import android.webkit.WebSettings;
+import android.webkit.WebView;
 
 import org.cocos2dx.javascript.AppActivity;
 import org.cocos2dx.javascript.thirdSdk.ad.SplashAdShowActivity;
@@ -54,7 +57,7 @@ public class ThirdSdkMgr {
      * @param code 微信授权返回的code
      */
     public static void wxAccessToken(final String code) {
-        appActivity.runOnGLThread(new Runnable() {
+        ThirdSdkMgr.appActivity.runOnGLThread(new Runnable() {
             @Override
             public void run() {
                 Cocos2dxJavascriptJavaBridge.evalString(cocosJsbMgrName + "onGetWxAccessCode('" + code + "');");
@@ -64,6 +67,18 @@ public class ThirdSdkMgr {
     }
 
     //设备信息相关------------------------------------------------------------------------------------
+
+    public static void updateDeviceInfo(){
+        final String info = ThirdSdkMgr.getDeviceInfo();
+        ThirdSdkMgr.appActivity.runOnGLThread(new Runnable() {
+            @Override
+            public void run() {
+                Cocos2dxJavascriptJavaBridge.evalString(cocosJsbMgrName + "updateDeviceInfo('" + info + "');");
+                Log.d("TTTTTTT", "callToJsCancel ");
+            }
+        });
+    }
+
     /** 获取设备信息 */
     public static String getDeviceInfo() {
         Log.d("[ThirdSdkMgr] ","getDeviceInfo");
@@ -84,12 +99,23 @@ public class ThirdSdkMgr {
         //获取安卓版本
         String androidVersion = DevicesUtil.getSystemModel();
 
+        String UA = getUA();
+
         String param =  ANDROID_ID + "#" + "" + "#" + imei1 + "#" + mac + "#" + mOAID + "#" + BuildConfig.UM_AID + "#" + BuildConfig.TF_CHANNEL +
-                "#" + versionName + "#" + umengChannel + "#" + deviceType + "#" + androidVersion ;
+                "#" + versionName + "#" + umengChannel + "#" + deviceType + "#" + androidVersion + "#" + UA;
 
         return param;
     }
 
+    private static String getUA(){
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
+        {
+            return WebSettings.getDefaultUserAgent(ThirdSdkMgr.appActivity);
+        } else {
+            return new WebView(ThirdSdkMgr.appActivity).getSettings().getUserAgentString();
+        }
+    }
+
     /**获取广告配置*/
     public static String getAdvertisingChannel(){
         //Log.d("adadasdsad",BuildConfig.WX_APP_ID);
@@ -160,4 +186,9 @@ public class ThirdSdkMgr {
     public static void openWx(){
         ThirdSdkMgr.appActivity.openWx();
     }
+
+    /** 获取手机授权 */
+    public static void checkPermission(){
+        ThirdSdkMgr.appActivity.checkPermission();
+    }
 }

+ 1 - 1
build/jsb-link/frameworks/runtime-src/proj.android-studio/app/src/org/cocos2dx/javascript/thirdSdk/oaid/OaidHelper.java

@@ -64,7 +64,7 @@ public class OaidHelper implements IIdentifierListener {
         builder.append("AAID: ").append(aaid).append("\n");
         String idstext=builder.toString();
         if(_listener!=null){
-            _listener.OnIdsAvalid(idstext);
+            _listener.OnIdsAvalid(oaid);
         }
     }
 

+ 7 - 3
build/jsb-link/js backups (useful for debugging)/main.index.js

@@ -7438,7 +7438,7 @@ this.gameData.loginDays = t.loginDays;
 this.gameData.newPlayer = t.newPlayer;
 this.gameData.initPiggyBank(t.piggyBank);
 this.gameData.piggyBankCashTimes = t.piggyBankCashTimes;
-this.gameData.redMoney = t.redMoney;
+this.gameData.redMoney = null == t.redMoney ? 0 : t.redMoney;
 this.gameData.signInDay = t.signInDay;
 this.gameData.totalPiggyBankCashTimes = t.totalPiggyBankCashTimes;
 this.gameData.turntableTimes = t.turntableTimes;
@@ -10597,7 +10597,7 @@ value: !0
 n.ServerUrl = n.HttpData = void 0;
 var o, i = function() {
 function t() {
-this.serverType = 1;
+this.serverType = 0;
 }
 t.prototype.getServerUrl = function() {
 switch (this.serverType) {
@@ -10874,6 +10874,9 @@ mk.console.log("===[JsbSystem] updateDeviceInfo" + cc.sys.os, t);
 cc.sys.os == cc.sys.OS_ANDROID ? gData.appData.updateDeviceInfo(t) : (cc.sys.os, 
 cc.sys.OS_IOS);
 };
+t.checkPermission = function() {
+cc.sys.os == cc.sys.OS_ANDROID ? this.callStaticMethod(this._JSB_ANDROID_PATH, "checkPermission", "()V") : cc.sys.os == cc.sys.OS_IOS && jsb.reflection.callStaticMethod("GameConfig", "checkPermission:", "");
+};
 t.getDeviceInfo = function() {
 var t = "";
 if (cc.sys.os == cc.sys.OS_ANDROID) {
@@ -11530,7 +11533,7 @@ mk.console.logSingle("machineInfo", gData.appData.machineInfo);
 return [ 4, mk.http.sendData("user/machine", gData.appData.machineInfo) ];
 
 case 1:
-n = o.sent();
+o.sent();
 return [ 4, mk.http.sendRequest("user", "POST", JSON.stringify(e), !1, !1) ];
 
 case 2:
@@ -11778,6 +11781,7 @@ return c(this, function(t) {
 switch (t.label) {
 case 0:
 l.default.getWxAppId();
+l.default.checkPermission();
 l.default.getDeviceInfo();
 console.log("appversion   ", gData.appData.appVersion);
 gData.loginData.init();

+ 2 - 2
packages-hot-update/cfg.json

@@ -8,7 +8,7 @@
         "https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/EasyEliminateTest/baseRemote/",
         "https://xcx-box.oss-cn-hangzhou.aliyuncs.com/hotgame/EasyEliminate/baseRemote/"
     ],
-    "buildTime": 1627368362707,
-    "genTime": 1627368362707,
+    "buildTime": 1627375468157,
+    "genTime": 1627375468157,
     "genVersion": null
 }

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů