Commit 6e080ac5 by sikang

添加AppsFlyer

parent a9c94bbd
...@@ -121,7 +121,7 @@ dependencies { ...@@ -121,7 +121,7 @@ dependencies {
// api 'com.facebook.android:facebook-android-sdk:[4,5)' // api 'com.facebook.android:facebook-android-sdk:[4,5)'
//AppsFlyer //AppsFlyer
// api 'com.appsflyer:af-android-sdk:4+@aar' api 'com.appsflyer:af-android-sdk:4+@aar'
//zendesk //zendesk
api group: 'com.zendesk', name: 'support', version: '2.1.1' api group: 'com.zendesk', name: 'support', version: '2.1.1'
......
...@@ -5,6 +5,7 @@ import android.content.Context; ...@@ -5,6 +5,7 @@ import android.content.Context;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.appsflyer.AppsFlyerLib;
import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseApp;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig; import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings; import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
...@@ -21,7 +22,7 @@ import com.tencent.bugly.crashreport.CrashReport; ...@@ -21,7 +22,7 @@ import com.tencent.bugly.crashreport.CrashReport;
import cn.fraudmetrix.octopus.aspirit.main.OctopusManager; import cn.fraudmetrix.octopus.aspirit.main.OctopusManager;
import tech.starwin.network.Gateway; import tech.starwin.network.Gateway;
import tech.starwin.utils.FireBaseHelper; import tech.starwin.utils.TrackEventHelper;
import tech.starwin.utils.PreferencesManager; import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.ScreenAutoSize; import tech.starwin.utils.ScreenAutoSize;
import tech.starwin.utils.collection.UploadManager; import tech.starwin.utils.collection.UploadManager;
...@@ -29,8 +30,6 @@ import zendesk.core.AnonymousIdentity; ...@@ -29,8 +30,6 @@ import zendesk.core.AnonymousIdentity;
import zendesk.core.Zendesk; import zendesk.core.Zendesk;
import zendesk.support.Support; import zendesk.support.Support;
import static com.facebook.accountkit.internal.AccountKitController.getApplicationContext;
/** /**
* Created by SiKang on 2018/9/30. * Created by SiKang on 2018/9/30.
* 配置 BaseLibrary * 配置 BaseLibrary
...@@ -42,6 +41,7 @@ public class LibConfig { ...@@ -42,6 +41,7 @@ public class LibConfig {
*/ */
private static Application CONTEXT; private static Application CONTEXT;
public static boolean DEBUG; public static boolean DEBUG;
public static String APP_NAME;
public static String APPLICATION_ID; public static String APPLICATION_ID;
public static String BUILD_TYPE; public static String BUILD_TYPE;
public static String FLAVOR; public static String FLAVOR;
...@@ -68,7 +68,7 @@ public class LibConfig { ...@@ -68,7 +68,7 @@ public class LibConfig {
public static String ZENDESK_OAUTH_CLIENT_ID; public static String ZENDESK_OAUTH_CLIENT_ID;
public static String TONGDUN_PARENT_CODE; public static String TONGDUN_PARENT_CODE;
public static String TONGDUN_PARENT_KEY; public static String TONGDUN_PARENT_KEY;
public static String AF_DEV_KEY; public static String APPSFLYER_DEV_KEY;
public static String XH_CHANNEL_NAME; public static String XH_CHANNEL_NAME;
public static String LANGUAGE = "in"; public static String LANGUAGE = "in";
public static int HARVESTER_PORT;// public static int HARVESTER_PORT;//
...@@ -79,7 +79,7 @@ public class LibConfig { ...@@ -79,7 +79,7 @@ public class LibConfig {
public static ButterKnifeBinder butterKnifeBinder; public static ButterKnifeBinder butterKnifeBinder;
public static Context getContext() { public static Application getContext() {
if (CONTEXT == null) if (CONTEXT == null)
throw new RuntimeException("context is null ! you must execute LibConfig.initLib(context) in your Appliaction"); throw new RuntimeException("context is null ! you must execute LibConfig.initLib(context) in your Appliaction");
return CONTEXT; return CONTEXT;
...@@ -100,6 +100,7 @@ public class LibConfig { ...@@ -100,6 +100,7 @@ public class LibConfig {
//init FireBase //init FireBase
FirebaseApp.initializeApp(CONTEXT); FirebaseApp.initializeApp(CONTEXT);
//RemoteConfig //RemoteConfig
// initFirebaseRemoteConfig(); // initFirebaseRemoteConfig();
...@@ -114,6 +115,12 @@ public class LibConfig { ...@@ -114,6 +115,12 @@ public class LibConfig {
CrashReport.initCrashReport(CONTEXT, BUGLY_APP_ID, DEBUG); CrashReport.initCrashReport(CONTEXT, BUGLY_APP_ID, DEBUG);
} }
//init AppsFlyer
if (!TextUtils.isEmpty(APPSFLYER_DEV_KEY)) {
AppsFlyerLib.getInstance().startTracking(application, LibConfig.APPSFLYER_DEV_KEY);
}
//init zendesk
initZendesk(CONTEXT); initZendesk(CONTEXT);
initTD(); initTD();
...@@ -130,7 +137,7 @@ public class LibConfig { ...@@ -130,7 +137,7 @@ public class LibConfig {
.setDeveloperModeEnabled(LibConfig.DEBUG) .setDeveloperModeEnabled(LibConfig.DEBUG)
.build() .build()
); );
FireBaseHelper.fetchRemoteConfig(); TrackEventHelper.fetchRemoteConfig();
} }
......
package tech.starwin.constants;
/**
* Created by SiKang on 2018/12/7.
*/
public class TrackEvent {
public static final String SMS_LOGIN_SUCCESS = "sms_login_success"; /*通过短信登录成功*/
public static final String FACEBOOK_LOGIN_SUCCESS = "facebook_login_success"; /*通过facebook account kit 登录成功*/
public static final String LOGOUT_SUCCESS = "logout_success"; /*用户退出了账号*/
public static final String IDENTITY_INFO_SUBMIT = "identity_card_ocr";//上传了身份证照片
public static final String PERSONAL_INFO_SUBMIT = "personal_info_submit";//上传了个人信息
public static final String CONTACT_INFO_SUBMIT = "contact_info_submit";//上传了紧急联系人信息
public static final String PROFESSIONAL_INFO_SUBMIT = "professinal_info_submit";//上传了工作信息
public static final String FACE_DETECTION = "face_detection"; /*进行了活体验证*/
public static final String FACE_DETECTION_SUCCESS = "face_detection_success"; /*活体验证成功,贷款处于已提交状态*/
public static final String BANK_INFO_SUBMIT = "bank_info_submit"; /*活体验证成功后,选择了产品,并填写了银行卡信息。贷款将进入机审(预审)阶段。*/
public static final String CANCEL_THE_LOAN_BY_USER = "cancel_the_loan_by_user"; /*用户取消了已提交的贷款*/
}
...@@ -2,7 +2,7 @@ package tech.starwin.impl; ...@@ -2,7 +2,7 @@ package tech.starwin.impl;
import android.view.View; import android.view.View;
import tech.starwin.utils.FireBaseHelper; import tech.starwin.utils.TrackEventHelper;
/** /**
* Created by SiKang on 2018/10/11. * Created by SiKang on 2018/10/11.
...@@ -13,7 +13,7 @@ public abstract class OnEventClickListener implements View.OnClickListener { ...@@ -13,7 +13,7 @@ public abstract class OnEventClickListener implements View.OnClickListener {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
FireBaseHelper.LogClickEventByTag(v); TrackEventHelper.LogClickEventByTag(v);
onEventClick(v); onEventClick(v);
} }
......
...@@ -3,11 +3,19 @@ package tech.starwin.mvp.presenter; ...@@ -3,11 +3,19 @@ package tech.starwin.mvp.presenter;
import android.text.TextUtils; import android.text.TextUtils;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.ResponseBody;
import tech.starwin.base.BasePresenter; import tech.starwin.base.BasePresenter;
import tech.starwin.constants.TrackEvent;
import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.api.LoanApi; import tech.starwin.mvp.api.LoanApi;
import tech.starwin.mvp.beans.HistoryLoanAppInfoBean;
import tech.starwin.mvp.beans.LatestLoanAppBean; import tech.starwin.mvp.beans.LatestLoanAppBean;
import tech.starwin.mvp.beans.ProductBean; import tech.starwin.mvp.beans.ProductBean;
import tech.starwin.utils.LoginManager; import tech.starwin.utils.LoginManager;
import tech.starwin.utils.TrackEventHelper;
/** /**
* Created by SiKang on 2018/9/20. * Created by SiKang on 2018/9/20.
...@@ -56,7 +64,28 @@ public class LoanPresenter extends BasePresenter<LoanApi> { ...@@ -56,7 +64,28 @@ public class LoanPresenter extends BasePresenter<LoanApi> {
* 获取贷款记录 * 获取贷款记录
*/ */
public void getLoanHistory(String action) { public void getLoanHistory(String action) {
handleRequest(action, apiService.getLoanAppAll(LoginManager.get().getToken())); handleRequest(apiService.getLoanAppAll(LoginManager.get().getToken()), new HttpObserver<List<HistoryLoanAppInfoBean>>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
@Override
public void onSuccess(List<HistoryLoanAppInfoBean> data) {
TrackEventHelper.logEvent(TrackEvent.CANCEL_THE_LOAN_BY_USER);
view.onHttpSuccess(action, data);
}
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
} }
...@@ -89,16 +118,37 @@ public class LoanPresenter extends BasePresenter<LoanApi> { ...@@ -89,16 +118,37 @@ public class LoanPresenter extends BasePresenter<LoanApi> {
* 申请贷款 * 申请贷款
*/ */
public void applyLoan(String action, LatestLoanAppBean loanInfo) { public void applyLoan(String action, LatestLoanAppBean loanInfo) {
handleRequest(action, Observable<ResponseBody> observable = apiService.addBank(loanInfo.getLoanAppId(),
apiService.addBank(loanInfo.getLoanAppId(),
loanInfo.getBankCode(), loanInfo.getBankCode(),
loanInfo.getCardNo(), loanInfo.getCardNo(),
loanInfo.getApplyFor(), loanInfo.getApplyFor(),
loanInfo.getApplyChannel(), loanInfo.getApplyChannel(),
"ANDROID", "ANDROID",
loanInfo.getCouponId(), loanInfo.getCouponId(),
LoginManager.get().getToken()) LoginManager.get().getToken());
);
handleRequest(observable, new HttpObserver<ResponseBody>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
@Override
public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.BANK_INFO_SUBMIT);
view.onHttpSuccess(action, data);
}
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
} }
/** /**
......
...@@ -9,6 +9,7 @@ import com.google.gson.Gson; ...@@ -9,6 +9,7 @@ import com.google.gson.Gson;
import java.io.File; import java.io.File;
import tech.starwin.base.BasePresenter; import tech.starwin.base.BasePresenter;
import tech.starwin.constants.TrackEvent;
import tech.starwin.impl.HttpObserver; import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.api.UploadApi; import tech.starwin.mvp.api.UploadApi;
import tech.starwin.mvp.beans.BasicAck; import tech.starwin.mvp.beans.BasicAck;
...@@ -17,6 +18,7 @@ import tech.starwin.utils.GeneralUtils; ...@@ -17,6 +18,7 @@ import tech.starwin.utils.GeneralUtils;
import tech.starwin.utils.LoginManager; import tech.starwin.utils.LoginManager;
import tech.starwin.utils.MultipartBodyMaker; import tech.starwin.utils.MultipartBodyMaker;
import tech.starwin.utils.PreferencesManager; import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.TrackEventHelper;
/** /**
* Created by SiKang on 2018/9/25. * Created by SiKang on 2018/9/25.
...@@ -40,6 +42,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -40,6 +42,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
@Override @Override
public void onSuccess(OcrResultBean data) { public void onSuccess(OcrResultBean data) {
TrackEventHelper.logEvent(TrackEvent.IDENTITY_INFO_SUBMIT);
OcrResultBean.KTP ktp = new Gson().fromJson(data.getData(), OcrResultBean.KTP.class); OcrResultBean.KTP ktp = new Gson().fromJson(data.getData(), OcrResultBean.KTP.class);
if (ktp.getResult().equals("PASS")) if (ktp.getResult().equals("PASS"))
view.onHttpSuccess(action, ktp); view.onHttpSuccess(action, ktp);
...@@ -64,6 +67,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -64,6 +67,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
* 上传依图 截取得帧图片 * 上传依图 截取得帧图片
*/ */
public void faceVerify(final String action, Context context, double amount, int day, long productId) { public void faceVerify(final String action, Context context, double amount, int day, long productId) {
TrackEventHelper.logEvent(TrackEvent.FACE_DETECTION);
handleRequest( handleRequest(
apiService.faceVerify( apiService.faceVerify(
"PAYDAY", "PAYDAY",
...@@ -85,6 +89,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -85,6 +89,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
@Override @Override
public void onSuccess(BasicAck data) { public void onSuccess(BasicAck data) {
TrackEventHelper.logEvent(TrackEvent.FACE_DETECTION_SUCCESS);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
......
...@@ -17,6 +17,7 @@ import io.reactivex.functions.Predicate; ...@@ -17,6 +17,7 @@ import io.reactivex.functions.Predicate;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import tech.starwin.base.BasePresenter; import tech.starwin.base.BasePresenter;
import tech.starwin.constants.TrackEvent;
import tech.starwin.impl.HttpObserver; import tech.starwin.impl.HttpObserver;
import tech.starwin.mvp.api.LoanApi; import tech.starwin.mvp.api.LoanApi;
import tech.starwin.mvp.api.UploadApi; import tech.starwin.mvp.api.UploadApi;
...@@ -38,6 +39,7 @@ import tech.starwin.network.ServiceGenerator; ...@@ -38,6 +39,7 @@ import tech.starwin.network.ServiceGenerator;
import tech.starwin.utils.LoginManager; import tech.starwin.utils.LoginManager;
import tech.starwin.utils.MultipartBodyMaker; import tech.starwin.utils.MultipartBodyMaker;
import tech.starwin.utils.PreferencesManager; import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.TrackEventHelper;
/** /**
* Created by SiKang on 2018/9/14. * Created by SiKang on 2018/9/14.
...@@ -95,6 +97,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -95,6 +97,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
.flatMap(new Function<TokenInfoBean, ObservableSource<UserBean>>() { .flatMap(new Function<TokenInfoBean, ObservableSource<UserBean>>() {
@Override @Override
public ObservableSource<UserBean> apply(TokenInfoBean tokenInfoBean) throws Exception { public ObservableSource<UserBean> apply(TokenInfoBean tokenInfoBean) throws Exception {
TrackEventHelper.logEvent(TrackEvent.SMS_LOGIN_SUCCESS);
//刷新Token信息 //刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean); LoginManager.get().notifyTokenInfo(tokenInfoBean);
return apiService.getUserInfo(tokenInfoBean.getToken()); return apiService.getUserInfo(tokenInfoBean.getToken());
...@@ -169,6 +172,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -169,6 +172,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override @Override
public void onSuccess(TokenInfoBean tokenInfoBean) { public void onSuccess(TokenInfoBean tokenInfoBean) {
TrackEventHelper.logEvent(TrackEvent.FACEBOOK_LOGIN_SUCCESS);
//刷新Token信息 //刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean); LoginManager.get().notifyTokenInfo(tokenInfoBean);
view.onHttpSuccess(action, tokenInfoBean); view.onHttpSuccess(action, tokenInfoBean);
...@@ -187,6 +191,9 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -187,6 +191,9 @@ public class UserPresenter extends BasePresenter<UserApi> {
} }
/**
* 获取贷款状态、贷款详情、绑定银行卡、银行卡列表
* */
public void getBankAndLoanAmout(String action, LatestLoanAppBean loanBean) { public void getBankAndLoanAmout(String action, LatestLoanAppBean loanBean) {
Observable<LoanInfo> observable = Observable.zip( Observable<LoanInfo> observable = Observable.zip(
getService(LoanApi.class).getLatestLoanApp(LoginManager.get().getToken()), getService(LoanApi.class).getLatestLoanApp(LoginManager.get().getToken()),
...@@ -294,8 +301,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -294,8 +301,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
* 提交个人信息 * 提交个人信息
*/ */
public void submitPersonalInfo(String action, PersonalInfoServerBean personalInfo) { public void submitPersonalInfo(String action, PersonalInfoServerBean personalInfo) {
handleRequest(action, Observable<ResponseBody> observable = apiService.submitPersonalInfo(
apiService.submitPersonalInfo(
personalInfo.getFullName(), personalInfo.getFullName(),
personalInfo.getCredentialNo(), personalInfo.getCredentialNo(),
personalInfo.getFamilyNameInLaw(), personalInfo.getFamilyNameInLaw(),
...@@ -311,14 +317,59 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -311,14 +317,59 @@ public class UserPresenter extends BasePresenter<UserApi> {
personalInfo.getResidenceDuration(), personalInfo.getResidenceDuration(),
personalInfo.getFacebookId(), personalInfo.getFacebookId(),
personalInfo.getWhatsappId(), personalInfo.getWhatsappId(),
LoginManager.get().getToken())); LoginManager.get().getToken());
handleRequest(observable, new HttpObserver<ResponseBody>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
@Override
public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.PERSONAL_INFO_SUBMIT);
view.onHttpSuccess(action, data);
}
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
} }
/** /**
* 提交联系人信息 * 提交联系人信息
*/ */
public void submitContactInfo(String action, String parentName, String parentPhone, String friendName, String friendPhone) { public void submitContactInfo(String action, String parentName, String parentPhone, String friendName, String friendPhone) {
handleRequest(action, apiService.submitContactInfo(parentName, parentPhone, friendName, friendPhone, LoginManager.get().getToken())); handleRequest(apiService.submitContactInfo(parentName, parentPhone, friendName, friendPhone, LoginManager.get().getToken()),
new HttpObserver<ResponseBody>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
@Override
public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.CONTACT_INFO_SUBMIT);
view.onHttpSuccess(action, data);
}
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
} }
...@@ -370,11 +421,33 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -370,11 +421,33 @@ public class UserPresenter extends BasePresenter<UserApi> {
handleRequest(action, Observable.zip(info, upload, new BiFunction<ResponseBody, ResponseBody, Boolean>() { handleRequest(action, Observable.zip(info, upload, new BiFunction<ResponseBody, ResponseBody, Boolean>() {
@Override @Override
public Boolean apply(ResponseBody responseBody, ResponseBody responseBody2) throws Exception { public Boolean apply(ResponseBody responseBody, ResponseBody responseBody2) throws Exception {
TrackEventHelper.logEvent(TrackEvent.PROFESSIONAL_INFO_SUBMIT);
return true; return true;
} }
})); }));
} else { } else {
handleRequest(action, info); handleRequest(info, new HttpObserver<ResponseBody>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
@Override
public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.PROFESSIONAL_INFO_SUBMIT);
view.onHttpSuccess(action, data);
}
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
} }
} }
......
...@@ -5,7 +5,6 @@ import android.text.TextUtils; ...@@ -5,7 +5,6 @@ import android.text.TextUtils;
import java.io.IOException; import java.io.IOException;
import okhttp3.Headers;
import okhttp3.Interceptor; import okhttp3.Interceptor;
import okhttp3.MediaType; import okhttp3.MediaType;
import okhttp3.Request; import okhttp3.Request;
...@@ -13,6 +12,7 @@ import okhttp3.RequestBody; ...@@ -13,6 +12,7 @@ import okhttp3.RequestBody;
import okhttp3.Response; import okhttp3.Response;
import okhttp3.internal.Util; import okhttp3.internal.Util;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.R;
/** /**
* Created by XLEO on 2018/1/30. * Created by XLEO on 2018/1/30.
...@@ -60,7 +60,10 @@ class DefaultHeaderAddInterceptor implements Interceptor { ...@@ -60,7 +60,10 @@ class DefaultHeaderAddInterceptor implements Interceptor {
requestBuilder.header("X-APP-TYPE", "ANDROID") requestBuilder.header("X-APP-TYPE", "ANDROID")
.header("X-APP-VERSION", String.valueOf(LibConfig.VERSION_CODE)) .header("X-APP-VERSION", String.valueOf(LibConfig.VERSION_CODE))
.header("X-APP-PACKAGE-NAME", LibConfig.APPLICATION_ID); .header("X-APP-VERSION-NAME", String.valueOf(LibConfig.VERSION_NAME))
.header("X-APP-PACKAGE-NAME", LibConfig.APPLICATION_ID)
.header("X-APP-NAME", LibConfig.APP_NAME)
.header("X-AF-ID", LibConfig.APPSFLYER_DEV_KEY);
return chain.proceed(requestBuilder.build()); return chain.proceed(requestBuilder.build());
} }
......
...@@ -8,6 +8,7 @@ import android.util.Base64; ...@@ -8,6 +8,7 @@ import android.util.Base64;
import java.util.Map; import java.util.Map;
import tech.starwin.constants.TrackEvent;
import tech.starwin.mvp.beans.DisplayBean; import tech.starwin.mvp.beans.DisplayBean;
import tech.starwin.mvp.beans.GatewayInfoBean; import tech.starwin.mvp.beans.GatewayInfoBean;
import tech.starwin.mvp.beans.OcrResultBean; import tech.starwin.mvp.beans.OcrResultBean;
...@@ -197,6 +198,7 @@ public class PreferencesManager { ...@@ -197,6 +198,7 @@ public class PreferencesManager {
* 清除登录信息 * 清除登录信息
*/ */
public void clearLoginInfo() { public void clearLoginInfo() {
TrackEventHelper.logEvent(TrackEvent.LOGOUT_SUCCESS);
mEditor.remove("user_info"); mEditor.remove("user_info");
mEditor.remove("token_info"); mEditor.remove("token_info");
mEditor.remove("ktp_info"); mEditor.remove("ktp_info");
......
...@@ -8,17 +8,20 @@ import android.view.View; ...@@ -8,17 +8,20 @@ import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import com.appsflyer.AppsFlyerLib;
import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task; import com.google.android.gms.tasks.Task;
import com.google.firebase.analytics.FirebaseAnalytics; import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig; import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
import tech.starwin.LibConfig;
/** /**
* Created by SiKang on 2018/10/11. * Created by SiKang on 2018/10/11.
* FireBase 功能辅助类 * FireBase 功能辅助类
*/ */
public class FireBaseHelper { public class TrackEventHelper {
public static final String REST_URL = "rest_url"; public static final String REST_URL = "rest_url";
/** /**
...@@ -50,8 +53,22 @@ public class FireBaseHelper { ...@@ -50,8 +53,22 @@ public class FireBaseHelper {
*/ */
public static void logClickEventByName(Context context, String itemName) { public static void logClickEventByName(Context context, String itemName) {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "click_" + itemName); String eventName = "click_" + itemName;
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, eventName);
//FireBase 埋点
FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
//AF 埋点
AppsFlyerLib.getInstance().startTracking(LibConfig.getContext(), eventName);
}
/**
* 行为埋点
*/
public static void logEvent(String eventName) {
//FireBase 埋点
FirebaseAnalytics.getInstance(LibConfig.getContext()).logEvent(eventName, null);
//AF 埋点
AppsFlyerLib.getInstance().startTracking(LibConfig.getContext(), eventName);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment