メインコンテンツへスキップ

Capacitor アプリ向け Firebase Crashlytics

iOSとAndroidの両方でCrashlyticsをセットアップするステップバイステップガイドで、モバイルアプリにリアルタイムのクラッシュレポートを統合する方法を学びましょう。

Capacitor アプリ向け Firebase Crashlytics Capgo

Firebase Crashlytics アプリのクラッシュをリアルタイムで追跡し、詳細なレポートを提供することで、迅速な問題解決を支援します。また、以下とシームレスに連携します。 Capacitor iOSとAndroidの両方のアプリに対応しています。詳細は以下をご確認ください:

  • Crashlyticsを使う理由

    • 取得 リアルタイムのクラッシュアラート.
    • 詳細なクラッシュレポートを分析 自動的な問題のグルーピング.
    • 重大なエラーを監視し、アプリの安定性を維持します。
  • セットアップ要件:

    • インストール Node.js (v16+), Capacitor (v4以降), や以下のようなツール: iOSプロファイリング 14+ と デバッグ Electric Eel.
    • ダウンロード Firebase 設定ファイル(GoogleService-Info.plist iOS用、 google-services.json Android用)。
    • 次のようなプラットフォーム固有のファイルを更新します: Podfile (iOS) と build.gradle (Android)。
  • 主なステップ:

    • Crashlyticsをインストール:

      npm install @capgo/capacitor-firebase-crashlytics && npx cap sync
    • アプリでCrashlyticsを初期化します:

      import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
      await FirebaseCrashlytics.initialize();
  • セットアップをテスト:

    • テスト用のクラッシュを発生させる:

      await FirebaseCrashlytics.crash();
  • おまけのヒント: Crashlyticsと組み合わせて Capgo App Storeの審査を待たずに即時Live Update。

このガイドに従えば、アプリをクラッシュフリーでユーザーフレンドリーにできます。今日からFirebase Crashlyticsのセットアップを始めましょう!

2021年Androidガイド: Firebase Crashlytics - カスタムクラッシュ …

Firebase Crashlytics

セットアップ要件

本題に入る前に、以下の手順が完了していることを確認してください:

必要なソフトウェアとアカウント

以下のインストールが必要です:

  • Node.js (v16以上) および Capacitor (v4以上)
  • ある Firebaseアカウント 有効なプロジェクトを使用
  • Xcode 14+ iOS開発用
  • Android Studio Electric Eel またはAndroid開発用の新しいバージョン
  • 最新バージョンの CocoaPods (iOSに必須)

プラットフォーム設定ファイル

iOSの場合:

  • ダウンロード GoogleService-Info.plist Firebase Consoleからファイルをダウンロードしてください。
  • 以下のファイルを更新して、 Podfile Crashlyticsの依存関係を含めるために。
  • 必要なプライバシーキーを以下に追加してください: Info.plist ファイル。

Androidの場合:

  • 以下を取得してください: google-services.json Firebase Consoleからファイルをダウンロードしてください。
  • プロジェクトレベルとアプリレベルの両方で変更を行ってください build.gradle ファイル。
  • 更新: AndroidManifest.xml 必要な権限を含めるために。

Firebase コンソールの設定

Firebase プラットフォーム ダッシュボード

以下の手順で Firebase の設定と Crashlytics の有効化を行います:

  1. Firebase プロジェクトを作成し、 Crashlytics を有効にします。

  2. アプリを登録する Firebase Console で:

    • 以下の bundle ID iOS 用、および パッケージ名 Android用
    • 設定ファイルをダウンロード: GoogleService-Info.plist (iOS) と google-services.json (Android)。
  3. Firebase SDKを統合する 以下の依存関係を追加してアプリに組み込みます:

    Android用 (appレベル) build.gradle):

    dependencies {
        implementation platform('com.google.firebase:firebase-bom:32.0.0')
        implementation 'com.google.firebase:firebase-crashlytics'
        implementation 'com.google.firebase:firebase-analytics'
    }

    iOS用 (Podfile):

    pod 'Firebase/Crashlytics'
    pod 'Firebase/Analytics'

これらの手順が完了したら、Plugin Installationセクションに進んでください。

インストール手順

プラグインのインストール

次に、プラグインをネイティブプラットフォームと同期させ、 @capgo/capacitor-firebase-crashlytics API の完全なリファレンスについてはプラグインのページを確認してください。

npm install @capgo/capacitor-firebase-crashlytics && npx cap sync

次に、アプリで Crashlytics を初期化します。以下の code を追加してください: app.component.ts または main.ts:

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.initialize();

プラットフォーム設定

Android および iOS プラットフォームに必要な設定を行います。

Android セットアップ

  1. Crashlytics Gradle プラグインをアプリレベルの build.gradle に追加します build.gradle ファイル内で参照します:

    buildscript { 
        dependencies { 
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.5' 
        } 
    }
    apply plugin: 'com.google.firebase.crashlytics'
  2. クラッシュ収集を有効にする AndroidManifest.xml:

    <meta-data
        android:name="firebase_crashlytics_collection_enabled"
        android:value="true" />

iOSのセットアップ

  1. Firebase を設定する AppDelegate.swift:

    import Firebase
    FirebaseApp.configure()

セットアップのテスト

テスト用のクラッシュを実行し、Firebase Console を確認して Crashlytics が動作していることを確かめます:

  • カスタムキーを使用してテスト用のクラッシュを発生させる:

    await FirebaseCrashlytics.setCustomKey({key: 'test_scenario', value: 'manual_crash'});
    await FirebaseCrashlytics.crash();
  • オプションで、ユーザーを特定する:

    await FirebaseCrashlytics.setUserId({userId: 'user123'});
  • カスタムイベントをログに記録する:

    await FirebaseCrashlytics.log({message: 'Test crash triggered'});

スタックトレース、デバイス詳細、カスタムキーを含むレポートは、約5分以内にFirebase Consoleに表示されます。

重要: アプリをリリースする前に、クラッシュ発生用のコードを削除してください。開発中にクラッシュ収集を無効にするには、以下を使用します:

await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: false});

モニタリングガイド

テスト用のクラッシュで設定を確認したら、Firebase Consoleを使用して、本番アプリで発生している実際のクラッシュやエラーを追跡してください。

クラッシュレポートの読み方

Firebase ConsoleのCrashlyticsセクションでクラッシュレポートを確認できます。表示される内容は以下の通りです:

  • クラッシュのないユーザー数: クラッシュを一度も経験していないユーザーの割合。
  • Issueの安定性: クラッシュの発生頻度。
  • 影響度分析: 影響を受けているユーザー数。

各Issueをクリックすると、スタックトレース、デバイス情報(OSバージョン、メモリなど)、カスタムキー、logs、クラッシュに至るまでのユーザーの操作履歴などの詳細を確認できます。

プロのヒント: 「velocity alerts」機能を有効にすると、クラッシュ率が急増した際に通知を受け取れます。これにより、多くのユーザーに影響が出る前に問題を解決できます。

エラー管理のヒント

  • 影響度に基づいて優先順位を付ける: 最も多くのユーザーに影響を与えているクラッシュや、アプリの重要な部分で発生しているクラッシュに集中しましょう。トレンドを追跡することで、緊急性の高い問題を特定しやすくなります。

  • カスタムキーを活用する: カスタムキーを使用して、クラッシュレポートにコンテキストを追加します。例:

    await FirebaseCrashlytics.setCustomKey({
      key: 'current_view',
      value: 'payment_processing'
    });
  • 類似の問題をグループ化する: Firebaseの自動問題グループ化機能を活用しましょう。また、一貫したカスタムキーで関連するクラッシュにタグを付け、分かりやすく具体的なタイトルを付けることで、追跡がより容易になります。

ユーザーのプライバシー保護

コンプライアンスを遵守し、ユーザーデータを保護するために、以下のガイドラインに従ってください:

  • 権限:

    • プライバシーポリシーにクラッシュレポートの使用について記載する。
    • GDPR規制がある地域では、データ収集に関するユーザーの同意を得る。
    • ユーザーがクラッシュレポートの送信をオプトアウトできるオプションを提供する。
  • データ収集のコントロール:

    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: false});
    await FirebaseCrashlytics.setCrashlyticsCollectionEnabled({enabled: true});
  • データの保持:

    • 90日経過後にデータを自動削除するように設定します。
    • レポートから機密情報を削除します。
    • デバッグ時にユーザーのプライバシーを守るため、個人を特定できないカスタムキーを使用します。

Capgo 連携

Capgo Live Update ダッシュボードインターフェース

Capgo の live update システムと Crashlytics を組み合わせることで、クラッシュ検知から修正のデプロイまでのプロセスを効率化します。

Capgoについて

Capgo は、特に以下のために設計された live update ツールです。 Capacitor アプリ1,900以上のアプリが本番環境で稼働しており、24時間以内のアップデート率は95%に達します。App Store の審査待ちによる遅延なく、迅速な修正を実現します。 [1].

主な機能は以下の通りです:

  • エンドツーエンド暗号化 安全なアップデートのために
  • ワンクリックでロールバック 以前のバージョンへ
  • チャネルベースの配信 ターゲット配信向けに
  • シームレスなCI/CD統合
  • ある 100%オープンソースのプラットフォーム

CrashlyticsとCapgoの連携

CrashlyticsとCapgoを併用することで、問題の特定と迅速な解決に向けた効率的なワークフローを実現します。

仕組みは次のとおりです:

  1. クラッシュの検知と対応
    Crashlyticsでクラッシュを特定し、Capgo を使えば、App Storeの審査を待たずに即座に修正をデプロイできます。

  2. ターゲットを絞ったアップデート

    • ベータテスト: 特定のグループで修正をテストし、効果を確認できます。
    • 段階的なロールアウト: リスクを抑えるため、アップデートを段階的にデプロイします。
    • 緊急の修正: 緊急性の高い問題を解決するため、クリティカルなパッチを迅速に配信します。
  3. モニタリングと検証
    Capgo でアップデートをデプロイした後、Crashlyticsを使用してクラッシュ率を追跡し、問題が解決したことを確認します。

セキュリティとApp Storeの規約

Capgo は、強力なセキュリティ機能を備えつつ、Apple と Google のポリシーに準拠しています:

  • アップデート配信のグローバル成功率は 82% [1]
  • 管理を容易にする自動バージョン管理
  • App Store の live update ガイドラインに準拠

Crashlytics と安全に連携するには:

  • 両方のシステムでエラー追跡を有効にします。
  • Crashlytics のレポートと併せて Capgo のモニタリングツールを活用してください。
  • すべてのアップデートでバージョン管理を維持します。
  • 監査用にアップデートの詳細なログを保持します。

他の live update ツールについては、Plugin Options セクションをご覧ください。

プラグインのオプション

適切なクラッシュレポート用プラグインの選択は、アプリのエラー特定と修正の効率に大きく影響します。

CapacitorにおけるCrashlyticsと、その他の主要なエラーレポートツールの比較をまとめました:

  • Sentry: 無料プランがあり、有料プランは月額26ドルから利用可能です。30以上のプラットフォームをサポートし、詳細なコンテキストを含むリアルタイムのエラー監視を提供します。
  • Bugsnag: 月額47ドルから。モバイルとWebの両プラットフォームに対応しており、エラーの自動グルーピングやリリース追跡機能を備えています。
  • Rollbar: 月額31ドルから。マルチプラットフォームに対応し、デプロイ追跡やユーザー追跡などの機能を備えています。

Crashlyticsは、Firebaseを既に利用しているチームにとって、スムーズな連携と無料プランの存在から非常に魅力的な選択肢です。

まとめ

これまでの進捗と、次のステップを簡単にまとめました:

セットアップ手順のまとめ

開始するための3つの主要なステップが完了しました:

  • Firebaseプロジェクトを作成し、iOS/Androidアプリを登録しました。
  • Crashlyticsプラグインをインストールし、設定しました。
  • iOSおよびAndroidのプラットフォームファイルを更新しました。

これらのツールを統合する理由

Firebase CrashlyticsとCapgoを組み合わせることで、エラー追跡のための強力なシステムが構築でき、 アップデート管理次のようなメリットが得られます:

  • 迅速な修正ワンクリックで即時アップデートの配信や変更のロールバックが可能です。
  • 確実なロールアウトアップデートを確実に普及させ、ユーザーへスムーズに届けることができます。

次のステップ

  1. Firebase Consoleで詳細なクラッシュ分析を有効にします。
  2. アップデートを効率化するために、CI/CDパイプラインにCapgoを追加します。
  3. 使用する Capgo チャネルを 修正内容を段階的にテストしてリリースするために。

CrashlyticsとCapgoを導入すれば、アプリの安定稼働と継続的な改善を実現できます。

Capacitorアプリ向けFirebase Crashlyticsの活用術

使用している場合 Capacitor アプリ向け Firebase Crashlytics ネイティブプラグインの作業を計画するには、次と連携してください: Capgo プラグインディレクトリ Capgo プラグインディレクトリのプロダクトワークフローについては、 Capgo による Capacitor プラグイン Capgo による Capacitor プラグインの実装詳細については、 プラグインの追加または更新 プラグインの追加または更新に関する実装詳細については、 Ionic Enterprise プラグインの代替案 Ionic Enterprise Plugin Alternatives のプロダクトワークフロー、および Capgo Native Build Capgo Native Builds のプロダクトワークフローについては、

Capacitor アプリ向けの Live Updates

Web レイヤーのバグが本番で発生したら、App Store の審査を何日も待たずに Capgo で修正を配信しましょう。ネイティブの変更は通常の審査フローに残したまま、ユーザーはバックグラウンドでアップデートを受け取れます。

最新のブログ記事

Capgoは、真にプロフェッショナルなモバイルアプリを作るために必要な最高のインサイトを提供します。