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

はじめに

GitHub

AIアシストセットアップを使ってプラグインをインストールできます。以下のコマンドで、お使いのAIツールに Capgo スキルを追加してください:

ターミナルウィンドウ
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins

次に、以下のプロンプトを使用します:

Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-firebase-crashlytics` plugin in my project.

手動セットアップを希望する場合は、以下のコマンドでプラグインをインストールし、下記のプラットフォーム別の手順に従ってください:

ターミナルウィンドウ
bun add @capgo/capacitor-firebase-crashlytics
npx cap sync
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';

クイックスタート

「Quick start」セクション
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.crash({ message: 'Hello from Capacitor' });
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setCustomKey({
key: 'key-123',
value: 'value',
type: 'string',
});
import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setUserId({ userId: 'user-id-123' });

よくある落とし穴

「Common pitfalls」セクション
  • ネイティブ同期: 実行 npx cap sync プラグインのアップグレード後。
  • 信頼できる情報源: 信頼する src/definitions.ts GitHub リポジトリ内に

実装を確認するために、強制的にクラッシュを発生させます。

AndroidおよびiOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.crash({ message: 'Hello from Capacitor' });

カスタムのキーと値を設定し、その後のfatalおよびnon-fatalレポートに関連付けます。

AndroidおよびiOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setCustomKey({
key: 'key-123',
value: 'value',
type: 'string',
});

その後の致命的なエラーおよび非致命的なレポートに関連付けられるユーザーID(識別子)を設定します。

AndroidおよびiOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setUserId({ userId: 'user-id-123' });

カスタムログメッセージを追加します。クラッシュ発生に至るまでのイベントのコンテキストを把握するために、クラッシュデータと共に送信されます。

AndroidおよびiOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.log({ message: 'Hello from Capacitor' });

自動データ収集の有効/無効を切り替えます。 設定値はアプリの次回の起動時から適用されます。

AndroidおよびiOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.setEnabled({ enabled: true });

自動データ収集が有効かどうかを返します。

iOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
const result = await FirebaseCrashlytics.isEnabled();
console.log(result);

前回の実行時にアプリがクラッシュしたかどうかを返します。

AndroidとiOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
const result = await FirebaseCrashlytics.didCrashOnPreviousExecution();
console.log(result);

未送信のレポートを次回の起動時にCrashlyticsへアップロードします。

自動データ収集が有効な場合、Crashlyticsは起動時にレポートを自動的にアップロードします。

AndroidおよびiOSでのみ利用可能です。

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

デバイス上の未送信レポートをすべて削除します。

AndroidおよびiOSでのみ利用可能です。

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

Crashlyticsに送信するための非致命的なレポートを記録します。

AndroidおよびiOSでのみ利用可能です。

import { FirebaseCrashlytics } from '@capgo/capacitor-firebase-crashlytics';
await FirebaseCrashlytics.recordException({ message: 'Hello from Capacitor' });
export interface CrashOptions {
/**
* @since 0.1.0
*/
message: string;
}
export type SetCustomKeyOptions = CustomKeyAndValue;
export interface SetUserIdOptions {
/**
* @since 0.1.0
*/
userId: string;
}
export interface LogOptions {
/**
* @since 0.1.0
*/
message: string;
}
export interface SetEnabledOptions {
/**
* @since 0.1.0
*/
enabled: boolean;
}
export interface IsEnabledResult {
/**
* @since 0.1.0
*/
enabled: boolean;
}
export interface DidCrashOnPreviousExecutionResult {
/**
* @since 0.1.0
*/
crashed: boolean;
}
export interface RecordExceptionOptions {
/**
* The message to record as a non-fatal exception.
*
* @since 0.1.0
*/
message: string;
/**
* Error code within a specific error domain.
*
* **Attention:** This option is ignored on iOS if `stacktrace` is provided.
*
* Only available for iOS.
*
* @since 0.1.0
*/
code?: number;
/**
* A string containing the error domain.
*
* **Attention:** This option is ignored on iOS if `stacktrace` is provided.
*
* Only available for iOS.
*
* @since 0.1.0
*/
domain?: string;
/**
* An array of keys and the values to associate with the non fatal exception,
* in addition to the app level custom keys.
*
* **Attention:** This option is ignored on iOS if `stacktrace` is provided.
*
* @since 7.1.0
*/
keysAndValues?: CustomKeyAndValue[];
/**
* A stacktrace generated by stacktrace.js.
*
* @since 1.1.0
*/
stacktrace?: StackFrame[];
}
export interface GetPluginVersionResult {
/**
* The semantic version of this plugin.
*
* @since 8.0.2
*/
version: string;
}
export interface CustomKeyAndValue {
/**
* @since 7.1.0
*/
key: string;
/**
* @since 7.1.0
*/
value: string | number | boolean;
/**
* @since 7.1.0
*/
type: 'string' | 'long' | 'double' | 'boolean' | 'int' | 'float';
}

stacktrace.js によって生成されたスタックトレースのサブセット

export interface StackFrame {
lineNumber?: number;
fileName?: string;
functionName?: string;
}

このページはプラグインの src/definitions.tsから生成されています。上流で公開 API が変更されたら、sync を再実行してください。

以下を使用している場合: はじめに ダッシュボードと API の操作を計画するには、以下と連携してください API の概要 API Overview の実装の詳細については、 はじめに Introduction の実装の詳細については、 API キー API Keys の実装の詳細については、 デバイス Devices の実装の詳細、および バンドル Bundles の実装の詳細については、