修复首页周星榜svga会消失的问题

修复Firebase可能没uid的问题
新增其他事件统计
This commit is contained in:
2022-10-27 15:28:43 +08:00
parent 2e2e5c7ec0
commit 6efcb75c31
6 changed files with 97 additions and 12 deletions

View File

@@ -36,6 +36,7 @@ import com.yunbao.common.BuildConfig;
import com.yunbao.common.CommonAppConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.Constants;
import com.yunbao.common.bean.CrashSaveBean;
import com.yunbao.common.http.CommonHttpUtil;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.manager.imrongcloud.InstructorSendReward;
@@ -132,6 +133,7 @@ public class AppContext extends CommonAppContext {
if (!isMainProcess()) {
return;
}
CrashSaveBean.getInstance().setStartTime(System.currentTimeMillis());
registerError();
registerFirebaseCrash();
sInstance = this;
@@ -315,6 +317,7 @@ public class AppContext extends CommonAppContext {
}
/* Process.killProcess(Process.myPid());
System.exit(0);*/
setFirebaseCrashData();
new Handler(Looper.getMainLooper()).postDelayed(() -> {
throw new RuntimeException(e);
}, 100);
@@ -332,6 +335,13 @@ public class AppContext extends CommonAppContext {
}
FirebaseAnalytics.getInstance(this);
FirebaseApp.initializeApp(this);
}
private void setFirebaseCrashData(){
if (!CommonAppConfig.IS_UPLOAD_ERROR_LOG) {
return;
}
String uid = CommonAppConfig.getInstance().getUid();
FirebaseCrashlytics.getInstance().setUserId(CommonAppConfig.getInstance().getUid());
if (uid != null && !uid.isEmpty()) {
@@ -344,5 +354,9 @@ public class AppContext extends CommonAppContext {
FirebaseCrashlytics.getInstance().setCustomKey("PhoneName", Build.BRAND);
FirebaseCrashlytics.getInstance().setCustomKey("Phone", Build.MODEL);
FirebaseCrashlytics.getInstance().setCustomKey("CPU", Arrays.toString(Build.SUPPORTED_ABIS));
FirebaseCrashlytics.getInstance().setCustomKey("RunTime", (System.currentTimeMillis() - CrashSaveBean.getInstance().getStartTime()));
FirebaseCrashlytics.getInstance().setCustomKey("enterRoom", CrashSaveBean.getInstance().getEnterRoom());
FirebaseCrashlytics.getInstance().setCustomKey("slidingRoom", CrashSaveBean.getInstance().getSlidingRoom());
FirebaseCrashlytics.getInstance().setCustomKey("playSvga", CrashSaveBean.getInstance().getPlaySvga());
}
}

View File

@@ -8,6 +8,7 @@ import android.os.Looper;
import android.util.Log;
import android.widget.Toast;
import com.yunbao.common.bean.CrashSaveBean;
import com.yunbao.common.utils.FileUtil;
import com.yunbao.common.utils.SpUtil;
@@ -86,6 +87,7 @@ public class NeverCrashUtils {
/**
* 完成监听异常的注册
*
* @param application application
*/
public void register(Application application) {
@@ -100,7 +102,7 @@ public class NeverCrashUtils {
}
e.printStackTrace();
Toast.makeText(application, "发生闪退", Toast.LENGTH_SHORT).show();
FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()),throwableToString(e),"error.log");
FileUtil.saveStringToFile(new File(application.getDir("files", Context.MODE_PRIVATE).getAbsolutePath()), throwableToString(e), "error.log");
getMainCrashHandler().mainException(Looper.getMainLooper().getThread(), e);
return;
}
@@ -128,17 +130,22 @@ public class NeverCrashUtils {
public interface UncaughtCrashHandler {
void uncaughtException(Thread t, Throwable e);
}
private static String throwableToString(Throwable e) {
StringWriter writer=new StringWriter();
writer.write("time="+System.currentTimeMillis()+"\n");
writer.write("AndroidVersion="+ Build.VERSION.SDK_INT+"\n");
writer.write("AndroidName="+ Build.VERSION.RELEASE+"\n");
writer.write("PhoneName="+ Build.BRAND+"\n");
writer.write("Phone="+ Build.MODEL+"\n");
writer.write("CPU="+ Arrays.toString(Build.SUPPORTED_ABIS) +"\n");
writer.write("UserData="+SpUtil.getInstance().getStringValue(SpUtil.USER_INFO)+"\n");
StringWriter writer = new StringWriter();
writer.write("time=" + System.currentTimeMillis() + "\n");
writer.write("AndroidVersion=" + Build.VERSION.SDK_INT + "\n");
writer.write("AndroidName=" + Build.VERSION.RELEASE + "\n");
writer.write("PhoneName=" + Build.BRAND + "\n");
writer.write("Phone=" + Build.MODEL + "\n");
writer.write("CPU=" + Arrays.toString(Build.SUPPORTED_ABIS) + "\n");
writer.write("runTime=" + (System.currentTimeMillis() - CrashSaveBean.getInstance().getStartTime())+ "\n");
writer.write("enterRoom=" + CrashSaveBean.getInstance().getEnterRoom()+ "\n");
writer.write("slidingRoom=" + CrashSaveBean.getInstance().getSlidingRoom()+ "\n");
writer.write("playSvga=" + CrashSaveBean.getInstance().getPlaySvga()+ "\n");
writer.write("UserData=" + SpUtil.getInstance().getStringValue(SpUtil.USER_INFO) + "\n");
writer.write("[ERROR]");
PrintWriter printWriter=new PrintWriter(writer);
PrintWriter printWriter = new PrintWriter(writer);
e.printStackTrace(printWriter);
return writer.toString();
}