Ice Scream Tycoon v1.0.4版本的 MD5 值为:f589390679eebf9f2a1d825e8c8a632e

以下内容为反编译后的 Yodo1MasSensorHelper.java 源代码,内容仅作参考


package com.yodo1.mas.analytics;

import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import com.my.target.ads.Reward;
import com.sensorsdata.analytics.android.minisdk.Yodo1SensorsDataAPI;
import com.sensorsdata.analytics.android.minisdk.util.JSONUtils;
import com.yodo1.mas.Yodo1Mas;
import com.yodo1.mas.utils.Yodo1MasUtils;
import java.util.HashMap;
import java.util.Map;
import org.json.JSONException;
import org.json.JSONObject;

public class Yodo1MasSensorHelper {
    private static final String DEFAULT_DEV_URL = "https://sensors.yodo1api.com/sa?project=default ";
    private static final String DEFAULT_PRODUCTION_URL = "https://sensors.yodo1api.com/sa?project=production";
    public static final String EVENT_AD_IMPRESSION = "adImpression";
    private static final String EVENT_AD_INIT = "adInit";
    private static final String EVENT_AD_PRIVACY = "adPrivacy";
    public static final String EVENT_AD_REQUEST = "adRequest";
    private static final String EVENT_APP_START = "AppStart";
    private static final String EVENT_DATATIMER_VERIFY = "dataTimerVerify";
    private static final String TAG = "SA.Yodo1MasSensorHelper";
    private static boolean initialized;

    private static String getServerUrl(Context context) {
        boolean metaData = Yodo1MasUtils.getMetaData(context, "com.yodo1.mas.sensor.DEBUG", false);
        Log.d(TAG, "isDebug = " + metaData);
        return metaData ? DEFAULT_DEV_URL : DEFAULT_PRODUCTION_URL;
    }

    public static void initWithAppKey(Context context, String str, long j, boolean z) {
        Yodo1SensorsDataAPI.sharedInstance(context, getServerUrl(context), Yodo1SensorsDataAPI.DebugMode.DEBUG_OFF);
        initialized = true;
        Log.d(TAG, "The Sensors SDK has been initialized, the user ID is " + Yodo1SensorsDataAPI.sharedInstance().getAnonymousId());
        Yodo1SensorsDataAPI.sharedInstance().setMasServerTime(j, z);
        registerSuperProperties(context, str);
        trackSensor(EVENT_APP_START, null);
        Yodo1SensorsDataAPI.sharedInstance().trackAppCrash();
        Yodo1SensorsDataAPI.sharedInstance().trackANR();
    }

    private static void registerSuperProperties(Context context, String str) {
        if (!initialized) {
            Log.d(TAG, "Failed to register super properties because the sensors was not initialized");
            return;
        }
        try {
            JSONObject jSONObject = new JSONObject();
            jSONObject.put("gameKey", str);
            jSONObject.put("gameBundleId", Yodo1MasUtils.getPackageName(context) + "");
            jSONObject.put("sdkType", Yodo1MasUtils.getMetaData(context, "MAS_SDK_TYPE", ""));
            jSONObject.put("sdkVersion", Yodo1MasUtils.getMetaData(context, "MAS_SDK_VERSION_NAME", ""));
            jSONObject.put("publishChannelCode", Yodo1MasUtils.getMetaData(context, "PUBLISH_CHANNEL_CODE", ""));
            Yodo1SensorsDataAPI.sharedInstance().registerSuperProperties(jSONObject);
            Log.d(TAG, "The super properties have been registered, the value: " + JSONUtils.formatJson(Yodo1SensorsDataAPI.sharedInstance().getSuperProperties().toString()));
        } catch (Exception e) {
            Log.d(TAG, "Failed to register super properties, the exception: " + e.getMessage());
        }
    }

    private static void trackSensor(String str, JSONObject jSONObject) {
        if (!initialized) {
            Log.d(TAG, "Failed to track event because the sensors was not initialized, event id is " + str);
            return;
        }
        if (TextUtils.isEmpty(str)) {
            Log.d(TAG, "Failed to track event because the event id is null");
            return;
        }
        try {
            if (jSONObject == null) {
                Yodo1SensorsDataAPI.sharedInstance().track(str);
            } else {
                Yodo1SensorsDataAPI.sharedInstance().track(str, jSONObject);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void trackPrivacy(boolean z, String str, String str2, String str3, boolean z2, boolean z3, boolean z4) {
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("enablePrivacyDialog", z);
            jSONObject.put("GDPR", str);
            jSONObject.put("COPPA", str2);
            jSONObject.put("CCPA", str3);
            jSONObject.put("GDPRValue", z2);
            jSONObject.put("COPPAValue", z3);
            jSONObject.put("CCPAValue", z4);
            trackSensor(EVENT_AD_PRIVACY, jSONObject);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    public static void trackAdInit(boolean z, int i, String str, long j) {
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("initAction", z ? "response" : "error");
            jSONObject.put("responseCode", i);
            jSONObject.put("failureMessage", str);
            jSONObject.put("initDuration", j);
            trackSensor(EVENT_AD_INIT, jSONObject);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    public static void trackDataTimerVerify(boolean z, int i, String str, double d, long j, double d2, double d3) {
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("responseCode", i);
            jSONObject.put("failureMessage", str);
            jSONObject.put("durationSeconds", d);
            if (z) {
                jSONObject.put("thresholdTime", j);
                jSONObject.put("localOffsetSeconds", d2);
                jSONObject.put("fixedIntervalSeconds", d3);
            }
            trackSensor(EVENT_DATATIMER_VERIFY, jSONObject);
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    private static void trackAdRequest(String str, String str2, Yodo1Mas.AdType adType, AdResult adResult, Map<String, Object> map) {
        JSONObject jSONObject = new JSONObject();
        try {
            jSONObject.put("adType", adType.getName());
            jSONObject.put("adNetwork", str);
            jSONObject.put("adNetworkVersion", str2);
            jSONObject.put("adResult", adResult.name);
            if (map != null && !map.isEmpty()) {
                for (String str3 : map.keySet()) {
                    jSONObject.put(str3, map.get(str3));
                }
            }
            trackSensor(EVENT_AD_REQUEST, jSONObject);
        } catch (Exception e) {
            Log.e(TAG, "track trackAdRequest error to sensor: " + e.getMessage());
        }
    }

    public static void trackAdRequestSuccessful(String str, String str2, Yodo1Mas.AdType adType) {
        trackAdRequest(str, str2, adType, AdResult.SUCCESS, null);
    }

    public static void trackAdRequestFail(String str, String str2, Yodo1Mas.AdType adType, String str3, String str4) {
        HashMap hashMap = new HashMap();
        if (!TextUtils.isEmpty(str3)) {
            hashMap.put("adErrorCode", str3);
        }
        if (!TextUtils.isEmpty(str4)) {
            hashMap.put("adErrorMessage", str4);
        }
        trackAdRequest(str, str2, adType, AdResult.FAIL, hashMap);
    }

    public static void trackAdImpression(String str, String str2, Yodo1Mas.AdType adType, String str3, Map<String, Object> map) {
        JSONObject jSONObject = new JSONObject();
        if (TextUtils.isEmpty(str3) || str3.equals(Reward.DEFAULT)) {
            str3 = adType.getDefaultPlacement();
        }
        try {
            jSONObject.put("adType", adType.getName());
            jSONObject.put("adNetwork", str);
            jSONObject.put("adNetworkVersion", str2);
            jSONObject.put("adPlacement", str3);
            if (map != null && !map.isEmpty()) {
                for (String str4 : map.keySet()) {
                    jSONObject.put(str4, map.get(str4));
                }
            }
            trackSensor(EVENT_AD_IMPRESSION, jSONObject);
        } catch (JSONException e) {
            Log.e(TAG, "track trackAdImpression error to sensor: " + e.getMessage());
        }
    }

    public enum AdResult {
        SUCCESS("success"),
        FAIL("fail");

        public final String name;

        AdResult(String str) {
            this.name = str;
        }
    }
}