billyyoyo пре 6 година
родитељ
комит
f8839ac547

+ 1 - 0
app/build.gradle

@@ -192,6 +192,7 @@ dependencies {
     }
 
     implementation(name: 'newbie-guide-2.4.0.1', ext: 'aar')
+    implementation(name: 'msa_mdid_1.0.13', ext: 'aar')
     debugImplementation 'com.android.support:multidex:1.0.1'
 
     //不要修改这里,相信我

BIN
app/libs/msa_mdid_1.0.13.aar


+ 3 - 1
app/proguard-rules.pro

@@ -579,4 +579,6 @@
 #===============点客广告SDK======================
 -keep class btmsdkobf.** { *; }
 -keep class com.tmsdk.** { *; }
--keep class tmsdk.** { *; }
+-keep class tmsdk.** { *; }
+#===============安全联盟=========================
+-keep class com.bun.miitmdid.core.** {*;}

+ 16 - 0
app/src/main/assets/supplierconfig.json

@@ -0,0 +1,16 @@
+{
+  "supplier":{
+    "vivo":{
+      "appid":""
+    },
+    "xiaomi":{
+      "appid":""
+    },
+    "huawei":{
+      "appid":""
+    },
+    "oppo":{
+      "appid":""
+    }
+  }
+}

+ 34 - 27
app/src/main/java/com/sheep/gamegroup/view/activity/ActXianWanWeb.java

@@ -6,6 +6,7 @@ import android.view.KeyEvent;
 import android.view.View;
 import android.widget.TextView;
 
+import com.bun.miitmdid.core.MdidSdkHelper;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.XianWanEntity;
@@ -64,9 +65,9 @@ public class ActXianWanWeb extends BaseActivity {
                 .setTitleFinish(this, new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
-                        if(mWebView.canGoBack()){
+                        if (mWebView.canGoBack()) {
                             mWebView.goBack();
-                        }else {
+                        } else {
                             activity.finish();
                         }
                     }
@@ -79,7 +80,7 @@ public class ActXianWanWeb extends BaseActivity {
                     }
                 });
         tv_next.setVisibility(View.GONE);
-        if(xianWanEntity == null){
+        if (xianWanEntity == null) {
             return;
         }
 
@@ -93,12 +94,12 @@ public class ActXianWanWeb extends BaseActivity {
 
     private void initJsData() {
         OkHttpUtils.get()
-                .url(xianWanEntity.getJsUrl()+"")
+                .url(xianWanEntity.getJsUrl() + "")
                 .build()
                 .execute(new StringCallback() {
                     @Override
                     public void onError(Call call, Exception e, int id) {
-                        G.showToast( R.string.service_data_error);
+                        G.showToast(R.string.service_data_error);
                     }
 
                     @Override
@@ -112,7 +113,7 @@ public class ActXianWanWeb extends BaseActivity {
     @Override
     protected void onDestroy() {
         super.onDestroy();
-        if(mWebView != null) {
+        if (mWebView != null) {
             mWebView.setVisibility(View.GONE);
             mWebView.removeAllViews();
             mWebView.destroy();
@@ -120,10 +121,10 @@ public class ActXianWanWeb extends BaseActivity {
     }
 
     private void loadUrl() {
-        if(mWebView == null){
+        if (mWebView == null) {
             return;
         }
-        mWebView.setWebChromeClient(new WebChromeClient(){
+        mWebView.setWebChromeClient(new WebChromeClient() {
             @Override
             public void onReceivedTitle(WebView view, String title) {
                 super.onReceivedTitle(view, title);
@@ -142,6 +143,7 @@ public class ActXianWanWeb extends BaseActivity {
                 }
                 return true;
             }
+
             @Override
             public void onPageFinished(WebView view, String url) {
                 super.onPageFinished(view, url);
@@ -151,61 +153,66 @@ public class ActXianWanWeb extends BaseActivity {
         });
         webViewSettings.setJavaScriptEnabled(true);
         mWebView.addJavascriptInterface(new WebViewJs(this, mWebView), "android");
-        mWebView.loadUrl(assemblyData());
 
-        mWebView.setOnKeyListener(new View.OnKeyListener() {
-            @Override
-            public boolean onKey(View v, int keyCode, KeyEvent event) {
-                if(keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()){
-                    mWebView.goBack();
-                    return true;
-                }
-                return false;
+        mWebView.setOnKeyListener((v, keyCode, event) -> {
+            if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) {
+                mWebView.goBack();
+                return true;
             }
+            return false;
         });
+        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
+            int ret = MdidSdkHelper.InitSdk(this, true, (isSupport, supplier) -> {
+                mWebView.loadUrl(assemblyData(supplier.getOAID()));
+            });
+            LogUtil.logI("get oaid result:" + ret);
+        } else {
+            mWebView.loadUrl(assemblyData(""));
+        }
     }
 
     @Override
     public void onBackPressed() {
-        if(mWebView != null && mWebView.canGoBack()){
+        if (mWebView != null && mWebView.canGoBack()) {
             mWebView.goBack();
             return;
         }
         this.finish();
     }
+
     // 注入js函数监听
     public void loadJs() {
         ViewUtil.loadJs(mWebView, getJs());
     }
+
     private String js;
-    private String getJs(){
+
+    private String getJs() {
         return js;
     }
 
     /**
      * 组装数据
-     * @return
-     * https://h5.51xianwan.com/try/try_list_plus_browser.aspx?ptype=2&deviceid=8883300242xw&appid=1010&appsign=1000&keycode=07688c3e9a783b245e59311
+     *
+     * @return https://h5.51xianwan.com/try/try_list_plus_browser.aspx?ptype=2&deviceid=8883300242xw&appid=1010&appsign=1000&keycode=07688c3e9a783b245e59311
      */
-    private String assemblyData(){
+    private String assemblyData(String oaid) {
         String baseUrl = xianWanEntity.getUrl();
         int pType = 2;
         String deviceId = DeviceUtil.getDeviceId(activity);
-        String appId =  xianWanEntity.getAndroid().getAppid();
+        String appId = xianWanEntity.getAndroid().getAppid();
         String userId = DataUtil.getInstance().getUserId();
-        String msaoaid = "";
         int versionCode = Build.VERSION.SDK_INT;
         String appSecret = xianWanEntity.getAndroid().getAppsecret();
         String keyCodeBefore = String.format(Locale.CHINA, "%s%s%s%d%d%s%s",
                 appId,
                 deviceId,
-                msaoaid,
+                oaid,
                 versionCode,
                 pType,
                 userId,
                 appSecret);
         String keyCode = CommonUtil.getInstance().encrypt2Md5(keyCodeBefore);
-        LogUtil.logI("Get xianwan params: " + keyCodeBefore);
         return String.format(Locale.CHINA, "%s?ptype=%d&deviceid=%s&appid=%s&appsign=%s&keycode=%s&androidosv=%d&msaoaid=%s",
                 baseUrl,
                 pType,
@@ -214,6 +221,6 @@ public class ActXianWanWeb extends BaseActivity {
                 userId,
                 keyCode,
                 versionCode,
-                msaoaid);
+                oaid);
     }
 }

+ 8 - 2
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -18,6 +18,7 @@ import com.baidu.location.BDLocation;
 import com.baidu.location.LocationClient;
 import com.baidu.location.LocationClientOption;
 import com.bumptech.glide.Glide;
+import com.bun.miitmdid.core.JLibrary;
 import com.danikula.videocache.HttpProxyCacheServer;
 //import com.didi.virtualapk.PluginManager;
 import com.kfzs.cfyl.share_library.util.ContextHolder;
@@ -163,11 +164,11 @@ public class SheepApp extends MultiDexApplication {
         isShowQB = showQB;
     }
 
-    public void clearGameAuthData(){
+    public void clearGameAuthData() {
         gameId = null;
         gameCode = null;
         wlan = null;
-        needFace=false;
+        needFace = false;
         gamePackgeName = null;
     }
 
@@ -207,6 +208,11 @@ public class SheepApp extends MultiDexApplication {
             }
             initUtils();
             ChannelContent.getInstance().initChannelContent(this);
+            try {
+                JLibrary.InitEntry(this);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
             /**点客广告SDK接入*/
             TMSDKContext.setTMSDKLogEnable(BuildConfig.DEBUG);
             TMSDKContext.init(this, new AbsTMSConfig() {