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