Browse Source

[New]更新引力引擎版本

zhipeng 7 months ago
parent
commit
ad4521e346

+ 2 - 4
app/build.gradle

@@ -155,7 +155,6 @@ dependencies {
     implementation "extra.common:core:2.0.4-SNAPSHOT" //base utils
     implementation "extra.common:network:1.1.0-SNAPSHOT"
     implementation "extra.common:rxjava:1.1.0-SNAPSHOT"
-    implementation "extra.common:user:1.0.1-SNAPSHOT" //get user data(includes device info)
     implementation("plus.pay:pay:1.1.0-SNAPSHOT") {
         exclude group: 'third.pay', module: 'ali'
     }
@@ -165,6 +164,8 @@ dependencies {
     implementation "atmob.central:core:1.0.6-SNAPSHOT"
     //字节 融合归因
     implementation 'atmob.sdk:app-convert:2.0.0-SNAPSHOT'
+    //引力引擎
+    implementation 'atmob.sdk:gravity-engine:4.8.19-SNAPSHOT'
 
     //oaid
     implementation "extra.common:oaid:1.2.0-SNAPSHOT"
@@ -217,9 +218,6 @@ dependencies {
     //zxing
     implementation "third.zxing:zxing:3.5.1"
 
-    //引力引擎
-    implementation "cn.gravity.android:GravityEngineSDK:4.6.3"
-
     //Umeng
     dependencies {
         // 友盟基础组件库(所有友盟业务SDK都依赖基础组件库)

+ 7 - 3
app/src/main/java/com/datarecovery/master/App.java

@@ -6,11 +6,11 @@ import com.atmob.app.lib.base.BaseApplication;
 import com.atmob.channelreader.ChannelReader;
 import com.atmob.common.runtime.ProcessUtil;
 import com.atmob.sdk.appconvert.AppConvert;
+import com.atmob.sdk.gravity_engine.GravityEngine;
 import com.atmob.user.AtmobUser;
 import com.datarecovery.master.data.consts.Constants;
 import com.datarecovery.master.sdk.bugly.BuglyHelper;
 import com.datarecovery.master.sdk.central.AtmobCentralHelper;
-import com.datarecovery.master.sdk.gravity.GravityHelper;
 import com.datarecovery.master.sdk.qiyu.QiYuHelper;
 import com.datarecovery.master.sdk.umeng.UmengHelper;
 import com.datarecovery.master.utils.ToastUtil;
@@ -96,15 +96,15 @@ public class App extends BaseApplication {
             initUmeng();
             initCentral();
             initAppConvert();
+            initGravityEngine();
         }
     }
 
     @Override
     public void initAfterGrant(boolean isMainProcess) {
         if (isMainProcess) {
-            GravityHelper.init(this);
+            QiYuHelper.init(this);
         }
-        QiYuHelper.init(this);
     }
 
     private void initCentral() {
@@ -131,6 +131,10 @@ public class App extends BaseApplication {
         AppConvert.init();
     }
 
+    private void initGravityEngine() {
+        GravityEngine.init(BuildConfig.GRAVITY_ACCESS_TOKEN, BuildConfig.DEBUG);
+    }
+
     public void firstPrivacyRelated() {
         AtmobUser.recordPolicyGrant(true);
         AtmobCentralHelper.onPolicyGranted(true);

+ 2 - 2
app/src/main/java/com/datarecovery/master/data/api/request/MemberPayRequest.java

@@ -1,6 +1,6 @@
 package com.datarecovery.master.data.api.request;
 
-import com.datarecovery.master.sdk.gravity.GravityHelper;
+import com.atmob.auth.AtmobAuth;
 import com.google.gson.annotations.SerializedName;
 
 public class MemberPayRequest extends BaseRequest {
@@ -15,7 +15,7 @@ public class MemberPayRequest extends BaseRequest {
     private int payMethod;
 
     @SerializedName("clientId")
-    private String clientId = GravityHelper.getCurrentClientId();
+    private String clientId = AtmobAuth.getDeviceId();
 
     public MemberPayRequest(int itemId, int payPlatform, int payMethod) {
         this.itemId = itemId;

+ 2 - 2
app/src/main/java/com/datarecovery/master/data/repositories/ConfigRepository.java

@@ -8,13 +8,13 @@ import androidx.lifecycle.MutableLiveData;
 
 import com.atmob.common.logging.AtmobLog;
 import com.atmob.common.runtime.ContextUtil;
+import com.atmob.sdk.gravity_engine.GravityEngine;
 import com.atmob.user.AtmobUser;
 import com.datarecovery.master.data.api.AtmobApi;
 import com.datarecovery.master.data.api.request.CustomerUrlRequest;
 import com.datarecovery.master.data.api.response.CustomerUrlResponse;
 import com.datarecovery.master.data.consts.ChannelId;
 import com.datarecovery.master.module.member.MemberType;
-import com.datarecovery.master.sdk.gravity.GravityHelper;
 import com.datarecovery.master.utils.BoxingUtil;
 import com.datarecovery.master.utils.RxHttpHandler;
 
@@ -66,7 +66,7 @@ public class ConfigRepository {
             isOpenTrialMembership.setValue(true);
             return;
         }
-        GravityHelper.registerAttributionResultCallback(attributed -> {
+        GravityEngine.addAttributeCallback(attributed -> {
             AtmobLog.d("ConfigRepository", "registerAttributionResultCallback attributed: " + attributed);
             if (BoxingUtil.boxing(attributed)) {
                 //归因成功

+ 4 - 4
app/src/main/java/com/datarecovery/master/handler/EventHelper.java

@@ -4,9 +4,9 @@ import android.os.Handler;
 import android.os.Looper;
 
 import com.atmob.analytics.AtmobAnalytics;
+import com.atmob.sdk.gravity_engine.GravityEngine;
 import com.datarecovery.master.data.consts.Constants;
 import com.datarecovery.master.sdk.central.AtmobCentralHelper;
-import com.datarecovery.master.sdk.gravity.GravityHelper;
 import com.datarecovery.master.utils.ToastUtil;
 
 import org.json.JSONObject;
@@ -27,7 +27,7 @@ public class EventHelper {
 
 
     public static void timeEvent(String eventId) {
-        GravityHelper.timeEvent(eventId);
+        GravityEngine.trackTime(eventId);
     }
 
     public static void report(String eventId) {
@@ -46,7 +46,7 @@ public class EventHelper {
                 ToastUtil.show(sb.toString(), ToastUtil.LENGTH_SHORT);
             });
         }
-        GravityHelper.report(eventId, params);
+        GravityEngine.track(eventId, params);
         AtmobCentralHelper.trackEvent(eventId, params);
     }
 
@@ -67,7 +67,7 @@ public class EventHelper {
                             + orderId + "], payWay = [" + payWay + "], itemName = [" + itemName + "]",
                     ToastUtil.LENGTH_SHORT));
         }
-        GravityHelper.reportPay(priceFen, orderId, itemName, payWayName);
+        GravityEngine.trackPay(priceFen,"CNY", orderId, itemName, payWayName);
         AtmobCentralHelper.trackPay(itemName, orderId, AtmobAnalytics.CURRENCY_CNY, priceFen, payWay);
     }
 }

+ 4 - 6
app/src/main/java/com/datarecovery/master/module/about/AboutActivity.java

@@ -7,10 +7,10 @@ import android.os.Bundle;
 import android.text.TextUtils;
 
 import androidx.annotation.NonNull;
-import androidx.databinding.Bindable;
 
 import com.atmob.app.lib.base.BaseActivity;
-import com.atmob.common.data.KVUtils;
+import com.atmob.central.AtmobCentral;
+import com.atmob.sdk.gravity_engine.GravityEngine;
 import com.atmob.user.AtmobUser;
 import com.datarecovery.master.data.consts.Constants;
 import com.datarecovery.master.data.consts.EventId;
@@ -18,8 +18,6 @@ import com.datarecovery.master.data.repositories.ConfigRepository;
 import com.datarecovery.master.databinding.ActivityAboutBinding;
 import com.datarecovery.master.handler.EventHelper;
 import com.datarecovery.master.module.browser.BrowserActivity;
-import com.datarecovery.master.sdk.gravity.GravityHelper;
-import com.datarecovery.master.utils.BoxingUtil;
 import com.datarecovery.master.utils.SystemUtil;
 import com.datarecovery.master.utils.ToastUtil;
 import com.gyf.immersionbar.ImmersionBar;
@@ -112,10 +110,10 @@ public class AboutActivity extends BaseActivity<ActivityAboutBinding> {
         sb.append(AtmobUser.getAtmobChannel());
 
         sb.append("--");
-        sb.append(GravityHelper.isAttribution());
+        sb.append(GravityEngine.getAttributionStatus() == GravityEngine.ATTRIBUTED);
 
         sb.append("--");
-        String gravityCompany = GravityHelper.getGravityCompany();
+        String gravityCompany = AtmobCentral.getTgPlatform() + "";
         sb.append((TextUtils.isEmpty(gravityCompany)) ? "null" : gravityCompany);
 
         ToastUtil.show(sb.toString(), ToastUtil.LENGTH_SHORT);

+ 0 - 222
app/src/main/java/com/datarecovery/master/sdk/gravity/GravityHelper.java

@@ -1,222 +0,0 @@
-package com.datarecovery.master.sdk.gravity;
-
-import android.app.Application;
-import android.content.Context;
-import android.os.Handler;
-import android.os.Looper;
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-
-import com.atmob.common.data.KVUtils;
-import com.atmob.common.logging.AtmobLog;
-import com.atmob.common.runtime.ContextUtil;
-import com.atmob.common.runtime.ProcessUtil;
-import com.atmob.user.AtmobUser;
-import com.datarecovery.master.BuildConfig;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import atmob.reactivex.rxjava3.core.Completable;
-import atmob.reactivex.rxjava3.core.CompletableObserver;
-import atmob.reactivex.rxjava3.disposables.Disposable;
-import atmob.rxjava.utils.RxJavaUtil;
-import cn.gravity.android.GEConfig;
-import cn.gravity.android.GravityEngineSDK;
-import cn.gravity.android.RegisterCallback;
-
-public class GravityHelper {
-    private static final String TAG = GravityHelper.class.getSimpleName();
-    private static final String GRAVITY_CURRENT_CLIENT_ID = "gravity_current_client_id";
-    private static final String GRAVITY_CLICK_COMPANY = "gravity_click_company";
-
-    private static final String accessToken = BuildConfig.GRAVITY_ACCESS_TOKEN;
-    private static Disposable registerDisposable;
-    private static GravityEngineSDK gravityEngineSDKInstance;
-    private static final Handler handler = new Handler(Looper.getMainLooper());
-    private static Boolean attributed;
-    private static final List<AttributionResultCallback> callbacks = new ArrayList<>(5);
-
-    public static void init(Application application) {
-        if (!ProcessUtil.isMainProcess(application)) {
-            return;
-        }
-        onPrivacyAgreed(application);
-    }
-
-    public static void onPrivacyAgreed(Context context) {
-        GEConfig config = GEConfig.getInstance(context, accessToken);
-        config.setMode(BuildConfig.DEBUG ? GEConfig.ModeEnum.DEBUG : GEConfig.ModeEnum.NORMAL);
-        gravityEngineSDKInstance = GravityEngineSDK.sharedInstance(config);
-        reportRegister();
-    }
-
-    private static boolean isAttribution(String adPlatform) {
-        return !TextUtils.isEmpty(adPlatform) && !"natural".equals(adPlatform);
-    }
-
-    public static boolean isAttribution() {
-        return attributed != null && attributed;
-    }
-
-    public static void reportRegister() {
-        if (registerDisposable != null || gravityEngineSDKInstance == null) {
-            return;
-        }
-        Completable.create(emitter -> {
-                    try {
-                        gravityEngineSDKInstance.register(accessToken, AtmobUser.getAtmobChannel(),
-                                new RegisterCallback() {
-                                    @Override
-                                    public void onFailed(String errorMsg, JSONObject jsonObject) {
-                                        AtmobLog.d(TAG, "GravityEngine register onFailed jsonObject--" + jsonObject);
-                                        emitter.onError(new Exception(errorMsg));
-                                    }
-
-                                    @Override
-                                    public void onSuccess(JSONObject jsonObject1, JSONObject jsonObject2) {
-                                        AtmobLog.d(TAG, "GravityEngine register onSuccess jsonObject1--" + jsonObject1);
-                                        AtmobLog.d(TAG, "GravityEngine register onSuccess jsonObject2--" + jsonObject2);
-                                        KVUtils.getDefault().putString(GRAVITY_CURRENT_CLIENT_ID, gravityEngineSDKInstance.getCurrentClientId());
-                                        parseGravityJson(jsonObject1);
-                                        emitter.onComplete();
-                                    }
-                                }, true);
-                    } catch (Exception e) {
-                        emitter.onError(e);
-                    }
-                })
-                .retryWhen(RxJavaUtil.retryWhen(null, 5, 1000, TimeUnit.MILLISECONDS))
-                .compose(RxJavaUtil.CompletableSchedule.ioOnly())
-                .subscribe(new CompletableObserver() {
-                    @Override
-                    public void onSubscribe(@NonNull Disposable d) {
-                        registerDisposable = d;
-                    }
-
-                    @Override
-                    public void onComplete() {
-                        AtmobLog.d(TAG, "GravityEngine register success");
-                    }
-
-                    @Override
-                    public void onError(@NonNull Throwable e) {
-                        AtmobLog.e(TAG, "GravityEngine register failed, " + e.getMessage());
-                        e.printStackTrace();
-                    }
-                });
-    }
-
-    public static String getCurrentClientId() {
-        return KVUtils.getDefault().getString(GRAVITY_CURRENT_CLIENT_ID, null);
-    }
-
-    private static void parseGravityJson(JSONObject jsonObject) {
-        if (jsonObject == null || jsonObject.isNull("click_company")) {
-            return;
-        }
-        try {
-            String click_company = jsonObject.getString("click_company");
-            KVUtils.getDefault().putString(GRAVITY_CLICK_COMPANY, click_company);
-            onAttributionResult(isAttribution(click_company));
-        } catch (JSONException ignored) {
-
-        }
-    }
-
-    public static String getGravityCompany() {
-        return KVUtils.getDefault().getString(GRAVITY_CLICK_COMPANY, null);
-    }
-
-
-    public static void reportPay(int payAmount, String order_no, String product, String payWay) {
-        if (gravityEngineSDKInstance != null)
-            gravityEngineSDKInstance.trackPayEvent(payAmount, "CNY", order_no, product, payWay);
-    }
-
-    public static void report(String eventId) {
-        report(eventId, null);
-    }
-
-    public static void report(String eventId, Map<String, Object> params) {
-        if (gravityEngineSDKInstance != null) {
-            JSONObject jsonObject = null;
-            if (params != null) {
-                jsonObject = new JSONObject(params);
-            }
-            gravityEngineSDKInstance.track(eventId, jsonObject);
-        }
-    }
-
-    public static void timeEvent(String eventId) {
-        if (gravityEngineSDKInstance != null) {
-            gravityEngineSDKInstance.timeEvent(eventId);
-        }
-    }
-
-    public static String getAccessToken() {
-        return accessToken;
-    }
-
-
-    private static void onAttributionResult(boolean result) {
-        synchronized (GravityHelper.class) {
-            attributed = result;
-            Iterator<AttributionResultCallback> iterator = callbacks.iterator();
-            while (iterator.hasNext()) {
-                AttributionResultCallback callback = iterator.next();
-                if (callback == null) {
-                    iterator.remove();
-                    continue;
-                }
-                handler.post(() -> callback.onResult(attributed));
-                iterator.remove();
-            }
-        }
-    }
-
-    public static void registerAttributionResultCallback(AttributionResultCallback callback) {
-        if (!ProcessUtil.isMainProcess(ContextUtil.getContext())) {
-            return;
-        }
-        if (callback == null) {
-            return;
-        }
-        if (attributed != null) {
-            callback.onResult(attributed);
-            return;
-        }
-        synchronized (GravityHelper.class) {
-            if (attributed != null) {
-                callback.onResult(attributed);
-                return;
-            }
-            callbacks.add(callback);
-        }
-    }
-
-    public static void unregisterAttributionResultCallback(AttributionResultCallback callback) {
-        if (!ProcessUtil.isMainProcess(ContextUtil.getContext())) {
-            return;
-        }
-        if (callback == null) {
-            return;
-        }
-        synchronized (GravityHelper.class) {
-            callbacks.remove(callback);
-        }
-    }
-
-
-    @FunctionalInterface
-    public interface AttributionResultCallback {
-        void onResult(boolean attributed);
-    }
-}

+ 2 - 2
build.gradle

@@ -6,8 +6,8 @@ buildscript {
         minSdkVersion = 21
         targetSdkVersion = 32
 
-        versionCode = 118
-        versionName = "1.1.8"
+        versionCode = 119
+        versionName = "1.1.9"
 
         hilt_version = '2.41'
         lifecycle_version = "2.6.1"