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;
}
}
}