flutter firebase接入

firebase的功能

  • 实时数据库(Realtime database)
  • 用户认证(Authentication)
  • 自定义API(Cloud function)
  • 消息推送(Cloud messaging)
  • 静态网页Hosting
  • 云存储(Cloud storage)
  • 实时监控(Analytics)

点击 console.firebase.google.com
这个过程可以下载两个文件 Android 为 google-services.json。IOS 为 GoogleService-Info.plist

Android 接入

  • 下载 google-services.json 到 android/app/google-services.json
  • android/build.gradle 增加:
buildscript {
    ......
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.2.0' //firebase 注意 Android studio 提示版本进行更新
    }
}
  • android/app/build.gradle 增加:
dependencies {
    ......
    implementation 'com.google.firebase:firebase-core:16.0.7' //firebase 注意 Android studio 提示版本进行更新
}
 
apply plugin: 'com.google.gms.google-services' //firebase支持 加到最后一行

IOS 接入

  • 下载 GoogleService-Info.plist 到 ios/Runner/GoogleService-Info.plist 如果xcode读取不到文件 需要导入到项目
  • 修改 ios/Runner/AppDelegate.swift
#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];
}
 

完成以上步骤后 删除app 重新 flutter run -v 可以看到 firebase 相关日志 最后ios 跟安卓都会出现 成功提示如下图

firebase_analytics 库引入

  • 修改 pubspec.yaml 增加
dependencies:
  firebase_analytics: ^2.0.3


  flutter packages get

封装工具包并且引入到项目

lib/utils/analytics.dart

import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
 
//统计
FirebaseAnalytics analytics = FirebaseAnalytics();
FirebaseAnalyticsObserver observer =
    FirebaseAnalyticsObserver(analytics: analytics);
    

lib/main.dart

import 'package:efox_flutter/utils/analytics.dart' as Analytics;
......
class MainAppState extends State<MainApp> {
  @override
  Widget build(BuildContext context) {
    MaterialApp(
        ......
        navigatorObservers: <NavigatorObserver>[Analytics.observer],//加入路由统计
      );
  }
}

其他调用

import 'package:efox_flutter/utils/analytics.dart' show analytics;
analytics.logEvent(name: 'component', parameters: {'name': itemInfo.title});

增加上面代码后需要在firebase 管理后台增加 name关键字统计

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值