Firebase实施中的抖动问题

时间:2019-09-25 14:27:36

标签: firebase flutter dart

在flutter项目中实现Firebase时遇到很多问题,由于gradle错误,我不得不从4.3恢复到4.2。现在将它永久地加载到我的模拟器上需要花费很多时间,我切换到了实际设备,但该安装无法打开。最近有人在一个扑朔迷离的项目中实现了Firebase消息传递吗?我将放弃使用它的整个想法。

我已经在build.gradle和app / build.gradle以及我的yaml文件中添加了所需的行。

1 个答案:

答案 0 :(得分:1)

从今天开始(2019-09-27 20:00 UTC,我可以使用它,因为抖动的构建可能随时中断),我会告诉您我构建中的内容以便将其发布到工作(评论时间太长)。我已经测试了它可以在iOS和Android上运行,并且可以正确构建以进行发布。

首先,切换到抖动主通道flutter channel master。这是为了解决gradle appbundle命名问题。

pubspec.yaml

dependencies:
  firebase_messaging: ^5.1.6

android / build.gradle(注意gradle版本的更改)

buildscript {
    ext.kotlin_version = '1.3.41'
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.2'
    }
}

android / gradle.properties(适用于AndroidX)

android.enableJetifier=true
android.useAndroidX=true

android / gradle / wrapper / gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

android / app / build.gradle

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    implementation 'com.google.firebase:firebase-messaging:20.0.0'
}

apply plugin: 'com.google.gms.google-services'

在同一文件中,请确保在defaultConfig部分中,您对testInstrumentationRunner的更改如下:

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

android / app / src / main / AndroidManifest.xml

<intent-filter>
  <action android:name="FLUTTER_NOTIFICATION_CLICK" />
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

确保已将google-services.json添加到a​​ndroid / app文件夹。我认为在某些时候都可以很好地记录下来,但目前有点荒唐。