对于flutter 接入 firebase 所遇到的问题 以及解决方案java
Firebase 为后台开发提供如下几个功能android
为了快速验证flutter方案的可行性以及高效的落地方案,咱们采起了接入firebase的方式解决服务问题,目前flutter ui app已经接入了 Analytics(支持 IOS Android)而且实现了app的综合统计监控 ios
点击 console.firebase.google.com/u/0/ git
flutter Android 对修改包名不太友好 须要重命名 android/app/src/main/java 里面的文件路径为包文件 而且须要更改 MainActivity.java 以及 android/app/src/AndroidManifest.xml 的包名
buildscript {
......
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.2.0' //firebase 注意 Android studio 提示版本进行更新
}
}
复制代码
dependencies {
......
implementation 'com.google.firebase:firebase-core:16.0.7' //firebase 注意 Android studio 提示版本进行更新
}
apply plugin: 'com.google.gms.google-services' //firebase支持 加到最后一行
复制代码
若是xcode读取不到文件 须要导入到项目
#include "AppDelegate.h"
#include "GeneratedPluginRegistrant.h"
@import Firebase;//增长 firebase 支持
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[FIRApp configure];//增长 firebase 支持
[GeneratedPluginRegistrant registerWithRegistry:self];
// Override point for customization after application launch.
return [super application:application didFinishLaunchingWithOptions:launchOptions];
}
@end
复制代码
完成以上步骤后 删除app 从新 flutter run -v
能够看到 firebase
相关日志 最后ios 跟安卓都会出现 成功提示以下图 github
修改 pubspec.yaml 增长数据库
dependencies:
firebase_analytics: ^2.0.3
复制代码
安装包json
flutter packages get
复制代码
lib/utils/analytics.dartxcode
import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
//统计
FirebaseAnalytics analytics = FirebaseAnalytics();
FirebaseAnalyticsObserver observer =
FirebaseAnalyticsObserver(analytics: analytics);
复制代码
lib/main.dartbash
import 'package:efox_flutter/utils/analytics.dart' as Analytics;
......
class MainAppState extends State<MainApp> {
@override
Widget build(BuildContext context) {
MaterialApp(
......
navigatorObservers: <NavigatorObserver>[Analytics.observer],//加入路由统计
);
}
}
复制代码
其余调用app
import 'package:efox_flutter/utils/analytics.dart' show analytics;
analytics.logEvent(name: 'component', parameters: {'name': itemInfo.title});
复制代码
增长上面代码后须要在firebase 管理后台增长 name关键字统计
完成以上步骤后 flutter 就能够完美集成firebase 目前Analytics 帮助咱们找到不少程序上遇到的问题 后面篇幅咱们也会对firebase
其余服务进行刨析 有兴趣的同窗能够一块儿探讨