【问题标题】:flutter firebase_admob integration - how to use it along with app flavorsflutter firebase_admob 集成 - 如何将它与应用程序风格一起使用
【发布时间】:2019-08-24 13:56:58
【问题描述】:

我有我的颤振应用程序设置来使用不同版本的风味,例如开发、生产等。其中的重要部分位于 app/build.gradle 文件中,如下所示:

    flavorDimensions "flutter-flavours"

    productFlavors {
        development {
            dimension "flutter-flavours"
            applicationIdSuffix ".dev"
        }
        staging {
            dimension "flutter-flavours"
            applicationIdSuffix ".stg"
        }
        production {
            dimension "flutter-flavours"
        }

因此,当我构建 development 版本时,我通过以下 appId - com.example.myapp.dev 获得了它,而我的 production 发布是com.example.myapp。到目前为止一切顺利。

现在,我决定在应用程序中添加一个 firebase_admob 插件。为此,我将 Firebase 应用程序添加到我的 Firebase 帐户中,并下载了身份验证所需的相应 google-services.json 文件。然后,我必须将此文件放入我的应用程序的 android/app 文件夹中。

这就是我发现一个无赖的地方——基本上,我可以为每个应用程序风格创建json 文件,即我可以有一个用于生产的 json 和一个用于开发的 json,但我不知道如何放置这些两者都放入文件夹中,以及 gradle 将如何根据发布风格确定要使用哪一个。

任何想法,提示将不胜感激!

【问题讨论】:

    标签: firebase flutter admob android-productflavors


    【解决方案1】:

    我使用带有风味的google_mobile_ads 插件。以下是我为不同口味设置的方法:

    在我的 android/app/build.gradle 中,我只需添加名为 ads_id 的 resValue

        productFlavors{
        ss {
            dimension "flavor-type"
            applicationId "com.company.ss"
            resValue "string", "app_name", "ss"
            resValue "string", "ads_id", "ca-app-pub-xxx~yy"
            versionNameSuffix "-ss"
            signingConfig signingConfigs.ss
        }
        rk {
            dimension "flavor-type"
            applicationId "com.company.rk"
            resValue "string", "app_name", "rk"
            resValue "string", "ads_id", "ca-app-pub-xxx~yy"
            versionNameSuffix "-rk"
            signingConfig signingConfigs.rk
        }
        ns {
            dimension "flavor-type"
            applicationId "com.company.ns"
            resValue "string", "app_name", "ns"
            resValue "string", "ads_id", "ca-app-pub-xxxx~yyy"
            versionNameSuffix "-ns"
            signingConfig signingConfigs.ns
        }
    }
    

    然后在 AndroidManifest.xml 中获取这个值

     <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="@string/app_name"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/launcher_icon">
        <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="@string/ads_id"/>
        <activity
    ..
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      • 2021-10-25
      相关资源
      最近更新 更多