在Android开发模式下禁用Firebase

5tmbdcev  于 2023-08-07  发布在  Android
关注(0)|答案(6)|浏览(111)

我在我的Android项目中使用Firebase。想知道如何禁用它在发展模式。所有崩溃和使用/事件都被记录下来,并与实际分析混淆。
有没有更好的方法在开发模式中禁用此功能?

8ulbf1ek

8ulbf1ek1#

结账https://firebase.google.com/docs/analytics/configure-data-collection?platform=android

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />

字符串
要自动执行此操作,请将以下行添加到manifest:

<meta-data
        android:name="firebase_analytics_collection_deactivated"
        android:value="@bool/FIREBASE_ANALYTICS_DEACTIVATED"/>


在app/build.gradle中为调试和发布设置不同的布尔值

buildTypes {
    debug {
        resValue("bool", "FIREBASE_ANALYTICS_DEACTIVATED", "true")
    }
    release {
        resValue("bool", "FIREBASE_ANALYTICS_DEACTIVATED", "false")
    }
}

72qzrwbm

72qzrwbm2#

在开发时将此行添加到清单文件中。

<meta-data android:name="firebase_analytics_collection_deactivated" android:value="true" />

字符串
有关详细信息,请查看https://firebase.google.com/support/guides/disable-analytics

sh7euo9m

sh7euo9m3#

最好将开发环境和生产环境分开,而不是完全禁用它们。您可以选择如何实现这一点,因此您可以选择最适合您的团队的方案。这篇博客文章详细介绍了你的选择:https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html

oyxsuwqo

oyxsuwqo4#

public class MyApp extends Application {
        public static boolean isDebuggable;

        public void onCreate() {
            super.onCreate();
            isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
            FirebaseCrash.setCrashCollectionEnabled(!isDebuggable);
        }
    }

字符串

3mpgtkmj

3mpgtkmj5#

自Google Play Services / Firebase 11+以来,我们可以在运行时以编程方式禁用Firebase Crashlytics。

FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false);

字符串
要在调试版本中禁用Firebase Crashlytics,请执行以下操作:

FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(!BuildConfig.DEBUG);


或者为了更好的可读性:

if(BuildConfig.DEBUG) {
    FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false);
}

4si2a6ki

4si2a6ki6#

关闭crashlytics和分析

在清单中

<meta-data
   android:name="firebase_crashlytics_collection_enabled"
   android:value="${crashlyticsCollectionEnabled}" />

<meta-data 
   android:name="firebase_analytics_collection_enabled" 
   android:value="${analyticsCollectionEnabled}" />

字符串

在gradle

buildTypes {
    debug {
       manifestPlaceholders["crashlyticsCollectionEnabled"] = false
       manifestPlaceholders["analyticsCollectionEnabled"] = false
    }
    
    release {
       manifestPlaceholders["crashlyticsCollectionEnabled"] = true
       manifestPlaceholders["analyticsCollectionEnabled"] = true
    }
}


您可以从Firebase Analytics - Firebase Crashlytics - Inject build variables into manifest进行检查

相关问题