hch
2025-04-29 352babe80b284339d9b5cc6739fe9ce723c61a39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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;
    }
}