Реализация Firebase в вопросах флаттера - PullRequest
1 голос
/ 25 сентября 2019

У меня много проблем с реализацией firebase в моем проекте flutter, мне пришлось вернуться обратно с 4.3 на 4.2 из-за ошибок gradle.Теперь загрузка моего эмулятора занимает целую вечность, я переключился на реальное устройство, но эта установка не открывается.Кто-нибудь недавно внедрил передачу сообщений в базе данных Firebase?Я собираюсь отказаться от всей идеи его использования.

Я добавил необходимые строки в build.gradle и app / build.gradle и в мой файл yaml, и это все.

1 Ответ

0 голосов
/ 27 сентября 2019

У меня это работает с сегодняшнего дня (2019-09-27 20:00 UTC, потому что сборки флаттера могут прерваться в любой момент), и я дам вам знать, что у меня есть в моей сборке, чтобы получить ееработа (слишком долго для комментария).Я проверил, что он работает как в iOS, так и в Android и правильно собирается для выпуска.

Во-первых, переключитесь на мастер-канал флаттера flutter channel master.Это исправляет проблемы времени компиляции AndroidX.

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 в папку android / app.Я предполагаю, что в какой-то момент все это будет хорошо задокументировано, но на данный момент это немного дикий запад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...