對於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
其餘服務進行刨析 有興趣的同窗能夠一塊兒探討