Commit a0f971c6 by sikang

添加埋点

parent 39abfc64
...@@ -131,5 +131,5 @@ dependencies { ...@@ -131,5 +131,5 @@ dependencies {
//zendesk //zendesk
api group: 'com.zendesk', name: 'support', version: '2.1.1' api group: 'com.zendesk', name: 'support', version: '2.1.1'
compileOnly project(':cash_plugin_toolbox')
} }
...@@ -23,10 +23,12 @@ import tech.starwin.constants.ActionEnum; ...@@ -23,10 +23,12 @@ import tech.starwin.constants.ActionEnum;
import tech.starwin.impl.OnEventClickListener; import tech.starwin.impl.OnEventClickListener;
import tech.starwin.network.Gateway; import tech.starwin.network.Gateway;
import tech.starwin.utils.PreferencesManager; import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.TrackEventHelper;
import tech.starwin.utils.context_utils.EasyActivityResult; import tech.starwin.utils.context_utils.EasyActivityResult;
import tech.starwin.utils.ui_utils.DialogFactory; import tech.starwin.utils.ui_utils.DialogFactory;
import tech.starwin.utils.ui_utils.UIHelper; import tech.starwin.utils.ui_utils.UIHelper;
import com.common.toolbox.tracker.TrackEvent;
import com.common.widget.TopBar; import com.common.widget.TopBar;
import java.io.Serializable; import java.io.Serializable;
...@@ -87,6 +89,7 @@ public class AgreementPolicyActivity extends BaseActivity { ...@@ -87,6 +89,7 @@ public class AgreementPolicyActivity extends BaseActivity {
if (mCheckBox.isChecked()) { if (mCheckBox.isChecked()) {
if (agreementType == null) { if (agreementType == null) {
PreferencesManager.get().setPolicyStatus(true); PreferencesManager.get().setPolicyStatus(true);
TrackEventHelper.logEvent(TrackEvent.Click.AGREE_PRIVACY);
setResult(RESULT_OK); setResult(RESULT_OK);
finish(); finish();
return; return;
...@@ -97,6 +100,7 @@ public class AgreementPolicyActivity extends BaseActivity { ...@@ -97,6 +100,7 @@ public class AgreementPolicyActivity extends BaseActivity {
AgreementPolicyActivity.startForResult(AgreementPolicyActivity.this, Type.AGREEMENT_KSP, 0, (requestCode, resultCode, data) -> { AgreementPolicyActivity.startForResult(AgreementPolicyActivity.this, Type.AGREEMENT_KSP, 0, (requestCode, resultCode, data) -> {
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
setResult(Activity.RESULT_OK); setResult(Activity.RESULT_OK);
TrackEventHelper.logEvent(TrackEvent.Click.AGREE_PRIVACY);
} }
finish(); finish();
}); });
......
...@@ -10,6 +10,9 @@ import java.util.ArrayList; ...@@ -10,6 +10,9 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import tech.starwin.impl.OnEventClickListener;
import tech.starwin.utils.TrackEventHelper;
/** /**
* Created by SiKang on 2018/9/16. * Created by SiKang on 2018/9/16.
*/ */
...@@ -39,8 +42,12 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl ...@@ -39,8 +42,12 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl
final RecyclerViewHolder holder = new RecyclerViewHolder(view); final RecyclerViewHolder holder = new RecyclerViewHolder(view);
initViewHolder(holder); initViewHolder(holder);
if (mClickListener != null) { if (mClickListener != null) {
holder.itemView.setOnClickListener(v -> holder.itemView.setOnClickListener(new OnEventClickListener() {
mClickListener.onItemClick(holder.itemView, holder.getLayoutPosition(), mData.get(holder.getLayoutPosition()))); @Override
public void onEventClick(View v) {
mClickListener.onItemClick(holder.itemView, holder.getLayoutPosition(), mData.get(holder.getLayoutPosition()));
}
});
} }
if (mLongClickListener != null) { if (mLongClickListener != null) {
holder.itemView.setOnLongClickListener(v -> { holder.itemView.setOnLongClickListener(v -> {
...@@ -58,7 +65,12 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl ...@@ -58,7 +65,12 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl
for (int id : childClickSet) { for (int id : childClickSet) {
View child = holder.getView(id); View child = holder.getView(id);
if (child != null) { if (child != null) {
child.setOnClickListener(v -> mClickListener.onItemClick(v, position, mData.get(position))); child.setOnClickListener(new OnEventClickListener() {
@Override
public void onEventClick(View v) {
mClickListener.onItemClick(v, position, mData.get(position));
}
});
} }
} }
} }
...@@ -100,8 +112,8 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl ...@@ -100,8 +112,8 @@ public abstract class BaseRecyclerAdapter<T> extends RecyclerView.Adapter<Recycl
} }
public interface OnItemClickListener<T> { public interface OnItemClickListener<T> {
void onItemClick(View itemView, int pos, T t); void onItemClick(View itemView, int pos, T t);
} }
public interface OnItemLongClickListener<T> { public interface OnItemLongClickListener<T> {
......
package tech.starwin.constants; //package tech.starwin.constants;
//
/** ///**
* Created by SiKang on 2018/12/7. // * Created by SiKang on 2018/12/7.
*/ // */
public class TrackEvent { //public class TrackEvent {
public static final String SMS_LOGIN_SUCCESS = "sms_login_success"; /*通过短信登录成功*/ // 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 FACEBOOK_LOGIN_SUCCESS = "facebook_login_success"; /*通过facebook account kit 登录成功*/
public static final String LOGOUT_SUCCESS = "logout_success"; /*用户退出了账号*/ // public static final String LOGOUT_SUCCESS = "logout_success"; /*用户退出了账号*/
public static final String IDENTITY_INFO_SUBMIT = "identity_card_ocr";//上传了身份证照片 // public static final String IDENTITY_INFO_SUBMIT = "identity_card_ocr";//上传了身份证照片
public static final String PERSONAL_INFO_SUBMIT = "personal_info_submit";//上传了个人信息 // public static final String PERSONAL_INFO_SUBMIT = "personal_info_submit";//上传了个人信息
public static final String CONTACT_INFO_SUBMIT = "contact_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 PROFESSIONAL_INFO_SUBMIT = "professinal_info_submit";//上传了工作信息
public static final String FACE_DETECTION = "face_detection"; /*进行了活体验证*/ // public static final String FACE_DETECTION = "face_detection"; /*进行了活体验证*/
public static final String FACE_DETECTION_SUCCESS = "face_detection_success"; /*活体验证成功,贷款处于已提交状态*/ // public static final String FACE_DETECTION_SUCCESS = "face_detection_success"; /*活体验证成功,贷款处于已提交状态*/
public static final String BANK_INFO_SUBMIT = "bank_info_submit"; /*活体验证成功后,选择了产品,并填写了银行卡信息。贷款将进入机审(预审)阶段。*/ // public static final String BANK_INFO_SUBMIT = "bank_info_submit"; /*活体验证成功后,选择了产品,并填写了银行卡信息。贷款将进入机审(预审)阶段。*/
public static final String CANCEL_THE_LOAN_BY_USER = "cancel_the_loan_by_user"; /*用户取消了已提交的贷款*/ // public static final String CANCEL_THE_LOAN_BY_USER = "cancel_the_loan_by_user"; /*用户取消了已提交的贷款*/
//
} //}
...@@ -9,7 +9,6 @@ import io.reactivex.Observable; ...@@ -9,7 +9,6 @@ import io.reactivex.Observable;
import okhttp3.ResponseBody; import okhttp3.ResponseBody;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
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;
...@@ -17,6 +16,7 @@ import com.common.bean.HarvestGrantBean; ...@@ -17,6 +16,7 @@ import com.common.bean.HarvestGrantBean;
import com.common.bean.HistoryLoanAppInfoBean; import com.common.bean.HistoryLoanAppInfoBean;
import com.common.bean.LatestLoanAppBean; import com.common.bean.LatestLoanAppBean;
import com.common.bean.ProductBean; import com.common.bean.ProductBean;
import com.common.toolbox.tracker.TrackEvent;
import tech.starwin.utils.LoginManager; import tech.starwin.utils.LoginManager;
import tech.starwin.utils.PreferencesManager; import tech.starwin.utils.PreferencesManager;
...@@ -78,7 +78,6 @@ public class LoanPresenter extends BasePresenter<LoanApi> { ...@@ -78,7 +78,6 @@ public class LoanPresenter extends BasePresenter<LoanApi> {
@Override @Override
public void onSuccess(List<HistoryLoanAppInfoBean> data) { public void onSuccess(List<HistoryLoanAppInfoBean> data) {
TrackEventHelper.logEvent(TrackEvent.CANCEL_THE_LOAN_BY_USER);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
...@@ -99,7 +98,28 @@ public class LoanPresenter extends BasePresenter<LoanApi> { ...@@ -99,7 +98,28 @@ public class LoanPresenter extends BasePresenter<LoanApi> {
* 取消贷款 * 取消贷款
*/ */
public void cancelLoan(String action, String loanAppId) { public void cancelLoan(String action, String loanAppId) {
handleRequest(action, apiService.cancelLoan(loanAppId, LoginManager.get().getToken())); handleRequest(apiService.cancelLoan(loanAppId, LoginManager.get().getToken()), new HttpObserver<ResponseBody>() {
@Override
public void onStart() {
view.onHttpStart(action, true);
}
@Override
public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.Api.LOAN_CANNELED);
view.onHttpSuccess(action, data);
}
@Override
public void onError(int code, String msg) {
view.onHttpError(action, msg);
}
@Override
public void onFinish() {
view.onHttpFinish(action);
}
});
} }
...@@ -144,7 +164,7 @@ public class LoanPresenter extends BasePresenter<LoanApi> { ...@@ -144,7 +164,7 @@ public class LoanPresenter extends BasePresenter<LoanApi> {
@Override @Override
public void onSuccess(ResponseBody data) { public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.BANK_INFO_SUBMIT); TrackEventHelper.logEvent(TrackEvent.Api.BANK_INFO_SUBMITED);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
......
...@@ -6,6 +6,7 @@ import android.support.annotation.NonNull; ...@@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import com.common.bean.PhotoListBean; import com.common.bean.PhotoListBean;
import com.common.toolbox.tracker.TrackEvent;
import com.google.gson.Gson; import com.google.gson.Gson;
...@@ -18,7 +19,6 @@ import io.reactivex.functions.Function; ...@@ -18,7 +19,6 @@ import io.reactivex.functions.Function;
import okhttp3.MultipartBody; import okhttp3.MultipartBody;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
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;
...@@ -68,7 +68,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -68,7 +68,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); TrackEventHelper.logEvent(TrackEvent.Api.KTP_UPLOADED);
OcrResultBean.KTP ktp = new Gson().fromJson(data.getData(), OcrResultBean.KTP.class); OcrResultBean.KTP ktp = new Gson().fromJson(data.getData(), OcrResultBean.KTP.class);
if (ktp != null && ktp.getResult() != null) { if (ktp != null && ktp.getResult() != null) {
if (ktp.getResult().equals("PASS")) { if (ktp.getResult().equals("PASS")) {
...@@ -111,7 +111,6 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -111,7 +111,6 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
public void faceVerify(final String action, String androidId, String faceData, double amount, int day, long productId, String method) { public void faceVerify(final String action, String androidId, String faceData, double amount, int day, long productId, String method) {
TrackEventHelper.logEvent(TrackEvent.FACE_DETECTION);
handleRequest( handleRequest(
apiService.faceVerify( apiService.faceVerify(
"PAYDAY", amount, day, "D", null, null, "PAYDAY", amount, day, "D", null, null,
...@@ -130,7 +129,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -130,7 +129,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); TrackEventHelper.logEvent(TrackEvent.Api.LIVENESS_SUCCESS);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
...@@ -168,7 +167,7 @@ public class UploadPresenter extends BasePresenter<UploadApi> { ...@@ -168,7 +167,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); TrackEventHelper.logEvent(TrackEvent.Api.LIVENESS_SUCCESS);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
......
...@@ -23,7 +23,6 @@ import okhttp3.ResponseBody; ...@@ -23,7 +23,6 @@ import okhttp3.ResponseBody;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.base.BasePresenter; import tech.starwin.base.BasePresenter;
import tech.starwin.constants.ActionEnum; import tech.starwin.constants.ActionEnum;
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;
...@@ -44,6 +43,7 @@ import com.common.bean.RegionBean; ...@@ -44,6 +43,7 @@ import com.common.bean.RegionBean;
import com.common.bean.TokenInfoBean; import com.common.bean.TokenInfoBean;
import com.common.bean.UserBankInfo; import com.common.bean.UserBankInfo;
import com.common.bean.UserBean; import com.common.bean.UserBean;
import com.common.toolbox.tracker.TrackEvent;
import com.facebook.libfbref.FbDeepLink; import com.facebook.libfbref.FbDeepLink;
import tech.starwin.network.Gateway; import tech.starwin.network.Gateway;
...@@ -122,7 +122,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -122,7 +122,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); TrackEventHelper.logEvent(TrackEvent.Api.SMS_LOGIN_SUCCESS);
//刷新Token信息 //刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean); LoginManager.get().notifyTokenInfo(tokenInfoBean);
uploadFirebaseToken(PreferencesManager.get().getFireBaseMessagingToken()); uploadFirebaseToken(PreferencesManager.get().getFireBaseMessagingToken());
...@@ -218,6 +218,36 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -218,6 +218,36 @@ public class UserPresenter extends BasePresenter<UserApi> {
/** /**
* 活动中心数据
*/
public void trackEvent(String type, String action, String event) {
apiService.trackEvent("system", "api", event)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new HttpObserver<ResponseBody>() {
@Override
public void onStart() {
}
@Override
public void onSuccess(ResponseBody data) {
LogUtils.d(TAG, "");
}
@Override
public void onError(int code, String msg) {
LogUtils.d(TAG, "");
}
@Override
public void onFinish() {
}
});
}
/**
* 上传firebaseToken * 上传firebaseToken
*/ */
public void uploadFirebaseToken(String token) { public void uploadFirebaseToken(String token) {
...@@ -237,7 +267,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -237,7 +267,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.FACEBOOK_LOGIN_SUCCESS); TrackEventHelper.logEvent(TrackEvent.Api.ACCOUNT_KIT_LOGIN_SUCCESS);
//刷新Token信息 //刷新Token信息
LoginManager.get().notifyTokenInfo(tokenInfoBean); LoginManager.get().notifyTokenInfo(tokenInfoBean);
uploadFirebaseToken(PreferencesManager.get().getFireBaseMessagingToken()); uploadFirebaseToken(PreferencesManager.get().getFireBaseMessagingToken());
...@@ -410,7 +440,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -410,7 +440,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override @Override
public void onSuccess(ResponseBody data) { public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.PERSONAL_INFO_SUBMIT); TrackEventHelper.logEvent(TrackEvent.Api.PERSONAL_INFO_SUBMITED);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
...@@ -439,7 +469,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -439,7 +469,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override @Override
public void onSuccess(ResponseBody data) { public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.CONTACT_INFO_SUBMIT); TrackEventHelper.logEvent(TrackEvent.Api.CONTACT_INFO_SUBMITED);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
...@@ -469,7 +499,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -469,7 +499,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override @Override
public void onSuccess(ResponseBody data) { public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.CONTACT_INFO_SUBMIT); TrackEventHelper.logEvent(TrackEvent.Api.CONTACT_INFO_SUBMITED);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
...@@ -550,7 +580,8 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -550,7 +580,8 @@ 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); TrackEventHelper.logEvent(TrackEvent.Api.WORK_CARD_UPLOADED);
TrackEventHelper.logEvent(TrackEvent.Api.WORK_INFO_SUBMITED);
return true; return true;
} }
})); }));
...@@ -563,7 +594,7 @@ public class UserPresenter extends BasePresenter<UserApi> { ...@@ -563,7 +594,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
@Override @Override
public void onSuccess(ResponseBody data) { public void onSuccess(ResponseBody data) {
TrackEventHelper.logEvent(TrackEvent.PROFESSIONAL_INFO_SUBMIT); TrackEventHelper.logEvent(TrackEvent.Api.WORK_INFO_SUBMITED);
view.onHttpSuccess(action, data); view.onHttpSuccess(action, data);
} }
......
...@@ -8,13 +8,13 @@ import android.util.Base64; ...@@ -8,13 +8,13 @@ import android.util.Base64;
import java.util.Map; import java.util.Map;
import tech.starwin.constants.TrackEvent;
import com.common.bean.DisplayBean; import com.common.bean.DisplayBean;
import com.common.bean.GatewayInfoBean; import com.common.bean.GatewayInfoBean;
import com.common.bean.OcrResultBean; import com.common.bean.OcrResultBean;
import com.common.bean.TokenInfoBean; import com.common.bean.TokenInfoBean;
import com.common.bean.UserBean; import com.common.bean.UserBean;
import com.common.toolbox.tracker.TrackEvent;
import tech.starwin.utils.format_utils.StringFormat; import tech.starwin.utils.format_utils.StringFormat;
...@@ -264,7 +264,7 @@ public class PreferencesManager { ...@@ -264,7 +264,7 @@ public class PreferencesManager {
* 清除登录信息 * 清除登录信息
*/ */
public void clearLoginInfo() { public void clearLoginInfo() {
TrackEventHelper.logEvent(TrackEvent.LOGOUT_SUCCESS); TrackEventHelper.logEvent(TrackEvent.Api.LOG_OUT);
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,6 +8,9 @@ import android.widget.Button; ...@@ -8,6 +8,9 @@ import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import com.common.toolbox.tracker.TrackEvent;
import com.common.toolbox.tracker.TrackUtils;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.mvp.presenter.UserPresenter; import tech.starwin.mvp.presenter.UserPresenter;
...@@ -26,7 +29,10 @@ public class TrackEventHelper { ...@@ -26,7 +29,10 @@ public class TrackEventHelper {
*/ */
public static void LogClickEventByTag(View view) { public static void LogClickEventByTag(View view) {
if (view.getTag() != null && view.getTag() instanceof String) { if (view.getTag() != null && view.getTag() instanceof String) {
logClickEventByName(view.getContext(), (String) view.getTag()); TrackEvent.Event event = TrackUtils.findEventByTag((String) view.getTag());
if (event != null) {
logEvent(event);
}
} }
} }
...@@ -51,7 +57,6 @@ public class TrackEventHelper { ...@@ -51,7 +57,6 @@ public class TrackEventHelper {
public static void logClickEventByName(Context context, String itemName) { public static void logClickEventByName(Context context, String itemName) {
Bundle bundle = new Bundle(); Bundle bundle = new Bundle();
String eventName = "click_" + itemName; String eventName = "click_" + itemName;
//TODO - FireBase配置
// bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, eventName); // bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, eventName);
//FireBase 埋点 //FireBase 埋点
// FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle); // FirebaseAnalytics.getInstance(context).logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
...@@ -64,7 +69,6 @@ public class TrackEventHelper { ...@@ -64,7 +69,6 @@ public class TrackEventHelper {
* 行为埋点 * 行为埋点
*/ */
public static void logEvent(String eventName) { public static void logEvent(String eventName) {
//TODO - FireBase配置
//FireBase 埋点 //FireBase 埋点
// FirebaseAnalytics.getInstance(LibConfig.getActivity()).logEvent(eventName, null); // FirebaseAnalytics.getInstance(LibConfig.getActivity()).logEvent(eventName, null);
userPresenter.trackEvent(eventName); userPresenter.trackEvent(eventName);
...@@ -73,6 +77,14 @@ public class TrackEventHelper { ...@@ -73,6 +77,14 @@ public class TrackEventHelper {
} }
} }
/**
* 行为埋点
*/
public static void logEvent(TrackEvent.Event event) {
LogUtils.d("TrackEvent", event.type() + " " + event.action() + " " + event.value());
userPresenter.trackEvent(event.type(), event.action(), event.value());
}
public static void setOnTrackEventListener(OnTrackEventListener onTrackEventListener) { public static void setOnTrackEventListener(OnTrackEventListener onTrackEventListener) {
TrackEventHelper.onTrackEventListener = onTrackEventListener; TrackEventHelper.onTrackEventListener = onTrackEventListener;
} }
......
...@@ -21,6 +21,7 @@ import android.telecom.TelecomManager; ...@@ -21,6 +21,7 @@ import android.telecom.TelecomManager;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.text.TextUtils; import android.text.TextUtils;
import com.common.toolbox.tracker.TrackEvent;
import com.tbruyelle.rxpermissions2.Permission; import com.tbruyelle.rxpermissions2.Permission;
import com.tbruyelle.rxpermissions2.RxPermissions; import com.tbruyelle.rxpermissions2.RxPermissions;
...@@ -41,6 +42,7 @@ import tech.starwin.BuildConfig; ...@@ -41,6 +42,7 @@ import tech.starwin.BuildConfig;
import tech.starwin.LibConfig; import tech.starwin.LibConfig;
import tech.starwin.utils.LogUtils; import tech.starwin.utils.LogUtils;
import tech.starwin.utils.PreferencesManager; import tech.starwin.utils.PreferencesManager;
import tech.starwin.utils.TrackEventHelper;
import tech.starwin.utils.ui_utils.DialogFactory; import tech.starwin.utils.ui_utils.DialogFactory;
/** /**
...@@ -134,12 +136,15 @@ public class PermissionsHelper { ...@@ -134,12 +136,15 @@ public class PermissionsHelper {
if (permission.granted) { if (permission.granted) {
allowed.add(permission); allowed.add(permission);
listener.onAllow(permission); listener.onAllow(permission);
TrackEventHelper.logEvent(TrackEvent.Click.ALLOW_PERMISSION);
} else if (permission.shouldShowRequestPermissionRationale) { } else if (permission.shouldShowRequestPermissionRationale) {
refused.add(permission); refused.add(permission);
listener.onRefuse(permission); listener.onRefuse(permission);
TrackEventHelper.logEvent(TrackEvent.Click.REFUSE_PERMISSION);
} else { } else {
neverAsk.add(permission); neverAsk.add(permission);
listener.onRefuseAndNeverAskAgain(permission); listener.onRefuseAndNeverAskAgain(permission);
TrackEventHelper.logEvent(TrackEvent.Click.REFUSE_PERMISSION);
} }
if (allowed.size() + refused.size() + neverAsk.size() == permissions.length) { if (allowed.size() + refused.size() + neverAsk.size() == permissions.length) {
......
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