package com.secondworld.sdk; import android.app.Activity; import android.app.Application; import android.os.Bundle; import androidx.annotation.Nullable; import com.adjust.sdk.AdjustAttribution; import com.adjust.sdk.AdjustEventFailure; import com.adjust.sdk.OnAttributionChangedListener; import com.adjust.sdk.OnEventTrackingFailedListener; import com.secondworld.sdk.utils.LogUtil; import com.adjust.sdk.Adjust; import com.adjust.sdk.AdjustConfig; import com.adjust.sdk.AdjustEventSuccess; import com.adjust.sdk.LogLevel; import com.adjust.sdk.OnEventTrackingSucceededListener; import org.json.JSONException; import org.json.JSONObject; public class GTGameApp extends Application { @Override public void onCreate() { super.onCreate(); initAdust(); GameAppProxy.create(this,new GTGamePlatform()); registerProxy(); } protected void registerProxy() { //主界面代理注册 GameActivity.registerProxy(GTGameMain.class); //AppsFlyerUtil.init(); } /** * 初始化adjust */ private void initAdust() { String appToken = getResources().getString(R.string.adjust_app_token); String environment = AdjustConfig.ENVIRONMENT_PRODUCTION; AdjustConfig config = new AdjustConfig(this, appToken, environment); Adjust.onCreate(config); config.setLogLevel(LogLevel.WARN); registerActivityLifecycleCallbacks(new AdjustLifecycleCallbacks()); // Set event success tracking delegate. config.setOnEventTrackingSucceededListener(new OnEventTrackingSucceededListener() { @Override public void onFinishedEventTrackingSucceeded(AdjustEventSuccess eventSuccessResponseData) { // ... LogUtil.i("Adjust-mfp", "事件上传成功 " + eventSuccessResponseData.toString()); } }); // Set event failure tracking delegate. config.setOnEventTrackingFailedListener(new OnEventTrackingFailedListener() { @Override public void onFinishedEventTrackingFailed(AdjustEventFailure eventFailureResponseData) { // ... LogUtil.i("Adjust-mfp", "事件上传失败 " + eventFailureResponseData.message); } }); // 归因回传 config.setOnAttributionChangedListener(new OnAttributionChangedListener() { @Override public void onAttributionChanged(AdjustAttribution attribution) { JSONObject fbInstallReferrerJSONObject = extractFBInstallReferrerJSON(attribution); } }); } private static final class AdjustLifecycleCallbacks implements ActivityLifecycleCallbacks { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { } @Override public void onActivityStarted(Activity activity) { } @Override public void onActivityResumed(Activity activity) { Adjust.onResume(); } @Override public void onActivityPaused(Activity activity) { Adjust.onPause(); } @Override public void onActivityStopped(Activity activity) { } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } @Override public void onActivityDestroyed(Activity activity) { } } @Nullable JSONObject extractFBInstallReferrerJSON(AdjustAttribution adjustAttribution) { try { return new JSONObject(adjustAttribution.fbInstallReferrer); } catch (JSONException e) { LogUtil.i("example", e.getMessage()); } return null; } }