Конфигурация зависимостей
При возникновении проблемы с совместимостью убедитесь, что ваши плагины Android SDK и Firebase / Firestore совместимы, совместимы.Вот что у меня сработало:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0'
classpath 'com.google.firebase:firebase-auth:16.0.5'
}
В модуле / приложении build.gradle
:
android {
compileSdkVersion 27
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.timeswap.timeswapcore"
minSdkVersion 17
targetSdkVersion 27
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
}
В частности обратите внимание на compileSdkVersion
, targetSdkVersion
и версиючисла google-services
и firebase_auth
.Из-за этих цифр я в конечном итоге привел меня к этому конфигу, и он может помочь вам найти подходящую конфигурацию.
Инициализация Firebase или Firestore
Что касается инициализации приложения, у меня есть
Firestore firestore = Firestore.instance;
firestore.settings(timestampsInSnapshotsEnabled: true);
в моем _initFirestore
, который вызывается сразу после super.initState()
@override
void initState() {
super.initState();
_initFirestore();
checkCurrentUser();
}
Firebase (и всех других плагинов Firebase, которые я использовал) инициализируется аналогично, но с firebase_core:
зависимость вместо cloud_firestore:
в pubspec.yaml
.
Например, из flutter/plugins/packages/firebase_storage
GitHub репо :
void main() async {
final FirebaseApp app = await FirebaseApp.configure(
name: 'test',
options: FirebaseOptions(
googleAppID: Platform.isIOS
? '1:159623150305:ios:4a213ef3dbd8997b'
: '1:159623150305:android:ef48439a0cc0263d',
gcmSenderID: '159623150305',
apiKey: 'AIzaSyChk3KEG7QYrs4kQPLP1tjJNxBTbfCAdgg',
projectID: 'flutter-firebase-plugins',
),
);
final FirebaseStorage storage = FirebaseStorage(
app: app, storageBucket: 'gs://flutter-firebase-plugins.appspot.com');
runApp(MyApp(storage: storage));
}
Вы также можете использовать этот средний пост в качестве руководства для начала работы с пользовательским интерфейсом Firebase Auth.
Для дальнейшего использования вы можете перейти к flutter/plugins/packages/{package name}
на Github и найти main.dart
внутри examples/lib
длядемоНе стесняйтесь использовать это, чтобы решить и вашу проблему зависимости!