【问题标题】:Enable Google FCM only for specific buildType仅为特定 buildType 启用 Google FCM
【发布时间】:2018-10-04 12:24:51
【问题描述】:

我的项目有很多构建类型和 2 种产品风格。
我已将 FCM 集成到我的项目中,但我只想为某些构建类型启用它们。要启用 FCM,我必须将 apply plugin: 'com.google.gms.google-services' 添加到我的模块级 build.gradle 中。根据this answer,我不能只为某些构建类型启用插件。

我所有的构建类型都有不同的包名,我只为应该使用 FCM 的包生成了google-services.json

最后一个问题:如何为某些构建类型启用(禁用)FCM?

【问题讨论】:

    标签: android firebase gradle google-cloud-messaging firebase-cloud-messaging


    【解决方案1】:

    您可以通过在您的应用程序类上定义构建风格的条件来管理它,如下所示。

     if (BuildConfig.DEBUG) {
            FirebaseMessaging.getInstance().setAutoInitEnabled(true);
        } else {
            FirebaseMessaging.getInstance().setAutoInitEnabled(false);
        }
    

    使用上述解决方案,您可以通过构建风格启用和禁用 FCM。

    你也可以参考这个链接解决问题:https://firebase.google.com/docs/cloud-messaging/android/client

    谢谢。

    【讨论】:

    • 没错,但如果我尝试将插件应用于具有包名的构建类型,它甚至不会编译,而包名在google-services.json中不存在
    • @VladyslavMatviienko 无需将此插件应用于构建类型。只需按照我们通常集成的方式应用此插件即可。
    • 在这种情况下,我会得到No matching client found for package name 'buildtype.package.name',因为我没有为我不打算使用FCM的构建类型生成google-services.json
    猜你喜欢
    • 2015-08-02
    • 2019-03-29
    • 2021-07-06
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多