facebook twitter hatena line email

「Flutter/firebase/Analytics」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==firebaseから設定ファイルをDL== #https://console.firebase.google.com #androidとiosのプロジェクトを作成し、google-services.jsonと、GoogleService-I...」)
 
(インストール)
 
(同じ利用者による、間の27版が非表示)
行2: 行2:
 
#https://console.firebase.google.com
 
#https://console.firebase.google.com
 
#androidとiosのプロジェクトを作成し、google-services.jsonと、GoogleService-Info.plistをDL
 
#androidとiosのプロジェクトを作成し、google-services.jsonと、GoogleService-Info.plistをDL
 +
 +
==インストール==
 +
pubspec.yaml
 +
<pre>
 +
dependencies:
 +
  firebase_core: ^2.24.2
 +
  firebase_analytics: ^10.7.4
 +
</pre>
 +
 +
==androidの準備==
 +
google-services.jsonをandroid/appの下へ
 +
 +
android/build.gradle
 +
<pre>
 +
buildscript {
 +
  repositories {
 +
    google()  // Google's Maven repository
 +
  }
 +
  dependencies {
 +
    classpath 'com.google.gms:google-services:3.2.1'
 +
  }
 +
}
 +
allprojects {
 +
  repositories {
 +
    google()  // Google's Maven repository
 +
  }
 +
}
 +
</pre>
 +
 +
android/app/build.gradle のファイルの末尾へapply~を追加
 +
<pre>
 +
dependencies {
 +
}
 +
apply plugin: 'com.google.gms.google-services'  // Google Play services Gradle plugin
 +
</pre>
 +
 +
==iosの準備==
 +
xcode でios/Runner.xcworkspaceを開きRunner/RunnerへGoogleService-Info.plistファイルをドラッグする。
 +
 +
==サンプル==
 +
起動処理にnavigatorObserversを以下を追加する。
 +
 +
app.dart
 +
<pre>
 +
import 'package:firebase_analytics/firebase_analytics.dart';
 +
import 'package:firebase_analytics/observer.dart';
 +
FirebaseAnalytics analytics = FirebaseAnalytics();
 +
return new MaterialApp(
 +
    title: 'hogeproject',
 +
    home: SplashScreen(),
 +
    navigatorObservers: [
 +
        FirebaseAnalyticsObserver(analytics: analytics),
 +
    ],
 +
);
 +
</pre>
 +
 +
==公式サンプル==
 +
https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_analytics/firebase_analytics/example/lib
 +
 +
==イベント==
 +
<pre>
 +
  static FirebaseAnalytics analytics = FirebaseAnalytics();
 +
  Future<void> _sendAnalyticsEvent() async {
 +
    await analytics.logEvent(
 +
      name: 'test_event',
 +
      parameters: <String, dynamic>{
 +
        'string': 'string',
 +
        'int': 42,
 +
        'long': 12345678910,
 +
        'double': 42.0,
 +
        'bool': true,
 +
      },
 +
    );
 +
    setMessage('logEvent succeeded');
 +
  }
 +
</pre>
 +
 +
==iosで以下エラーが出る場合==
 +
<pre>
 +
Terminating app due to uncaught exception 'com.firebase.core', reason: '`[FIRApp configure];` (`FirebaseApp.configure()` in Swift) could not find a valid GoogleService-Info.plist in your project. Please download one from https://console.firebase.google.com/.'
 +
</pre>
 +
xcodeプロジェクトを開きRunner/Runnerへドラッグする。

2024年1月2日 (火) 19:49時点における最新版

firebaseから設定ファイルをDL

  1. https://console.firebase.google.com
  2. androidとiosのプロジェクトを作成し、google-services.jsonと、GoogleService-Info.plistをDL

インストール

pubspec.yaml

dependencies:
  firebase_core: ^2.24.2
  firebase_analytics: ^10.7.4

androidの準備

google-services.jsonをandroid/appの下へ

android/build.gradle

buildscript {
  repositories {
    google()  // Google's Maven repository
  }
  dependencies {
    classpath 'com.google.gms:google-services:3.2.1'
  }
}
allprojects {
  repositories {
    google()  // Google's Maven repository
  }
}

android/app/build.gradle のファイルの末尾へapply~を追加

dependencies {
}
apply plugin: 'com.google.gms.google-services'  // Google Play services Gradle plugin

iosの準備

xcode でios/Runner.xcworkspaceを開きRunner/RunnerへGoogleService-Info.plistファイルをドラッグする。

サンプル

起動処理にnavigatorObserversを以下を追加する。

app.dart

import 'package:firebase_analytics/firebase_analytics.dart';
import 'package:firebase_analytics/observer.dart';
FirebaseAnalytics analytics = FirebaseAnalytics();
return new MaterialApp(
    title: 'hogeproject',
    home: SplashScreen(),
    navigatorObservers: [
        FirebaseAnalyticsObserver(analytics: analytics),
    ],
);

公式サンプル

https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_analytics/firebase_analytics/example/lib

イベント

  static FirebaseAnalytics analytics = FirebaseAnalytics();
  Future<void> _sendAnalyticsEvent() async {
    await analytics.logEvent(
      name: 'test_event',
      parameters: <String, dynamic>{
        'string': 'string',
        'int': 42,
        'long': 12345678910,
        'double': 42.0,
        'bool': true,
      },
    );
    setMessage('logEvent succeeded');
  }

iosで以下エラーが出る場合

Terminating app due to uncaught exception 'com.firebase.core', reason: '`[FIRApp configure];` (`FirebaseApp.configure()` in Swift) could not find a valid GoogleService-Info.plist in your project. Please download one from https://console.firebase.google.com/.'

xcodeプロジェクトを開きRunner/Runnerへドラッグする。