Flutterアプリ実装に必要なコンソール・キーファイル一覧
Flutterアプリで課金、Adjustの集計、Firebaseのプッシュ通知を実装しようとすると、結局いくつのコンソールで設定していくつのキーファイルが必要なのか?をまとめた。
委託先への引き継ぎ資料としても使える想定。
サマリー
| 項目 | 数 |
|---|---|
| コンソール | 4つ |
| キーファイル | 2つ(+ トークン1つ) |
| 本人確認書類 | 2種類(身分証明 + 住所確認) |
コンソール一覧(4つ)
| # | コンソール | URL | 用途 |
|---|---|---|---|
| 1 | Google Cloud Console | console.cloud.google.com | サービスアカウント作成、API有効化 |
| 2 | Google Play Console | play.google.com/console | アプリ登録、課金アイテム設定、テスター設定 |
| 3 | Firebase Console | console.firebase.google.com | FCMプロジェクト設定 |
| 4 | Adjust ダッシュボード | dash.adjust.com | アトリビューション設定、イベントトークン発行 |
キーファイル一覧(2つ + トークン1つ)
| # | ファイル | 取得元 | 用途 | 形式 |
|---|---|---|---|---|
| 1 | service-account.json | Google Cloud Console | 課金検証API + FCM送信 | JSON |
| 2 | google-services.json | Firebase Console | Android Firebase設定 | JSON |
| 3 | アプリトークン | Adjust ダッシュボード | SDK初期化 | 12文字英数字(コード埋め込み) |
※ service-account.json は課金検証と FCM 送信で共用可能(同一プロジェクトの場合)
各機能の設定詳細
1. Google Play 課金
Google Cloud Console
- Google Play Android Developer API を有効化
- サービスアカウント作成
- JSON鍵ファイルをダウンロード
Google Play Console
- 開発者登録($25 USD、本人確認必要)
- 「ユーザーと権限」でサービスアカウントを招待
- 権限付与: 売上データの表示 + 注文と定期購入の管理
- 課金アイテム登録(AABアップロード後)
- ライセンステスター設定
料金
| 項目 | 料金 |
|---|---|
| Google Play Android Developer API | 無料 |
| Google Play Console 開発者登録 | $25(一度きり) |
| アプリ内課金手数料 | 15-30%(売上から引かれる) |
API呼び出し自体に費用はかからない。
注意点
- API有効化後、実際に動作するまで最大24時間かかる(401エラーの主因)
- 「APIアクセス」メニューは廃止、現在は「ユーザーと権限」から設定
- 401エラーが続く場合、GCPのIAMで「Service Account User」ロール追加が必要なケースあり
Adjust の料金と機能
プラン構成
| プラン | 月間アトリビューション | 主な機能 |
|---|---|---|
| Base(無料) | 1,500件/月(12ヶ月間) | 基本的なアトリビューション、メールサポート(英語) |
| Core(有料) | カスタム | ボリュームディスカウント |
| Enterprise(有料) | カスタム | 専任サポート、深いディスカウント |
具体的な金額は非公開。スケーラブル料金モデルで、利用量に応じたカスタム見積もり。
有料アドオン(Core/Enterprise向け)
| 機能 | 説明 |
|---|---|
| Fraud Prevention Suite | 不正検知・防止(リアルタイムでブロック) |
| Audience Builder | オーディエンス構築・エクスポート(Facebook/Snapchat等) |
| SKAdNetwork Solutions | iOS向け計測・最適化 |
Fraud Prevention Suite は「Growth Solutions」として Core/Enterprise プランに追加購入可能。無料の Base プランでは利用不可。
不正防止が必要な案件では有料プランへの移行が必要になる点に注意。
2. Adjust
Adjust ダッシュボード
- アカウント登録
- アプリ登録(パッケージ名設定)
- アプリトークン取得
- イベント作成(登録、商品購入など)
- イベントトークン取得
- トラッカーURL生成(広告計測用)
Flutter側設定
- adjust_sdk パッケージ追加
- AndroidManifest.xml: INTERNET, ACCESS_NETWORK_STATE権限
- build.gradle: play-services-ads-identifier, installreferrer追加
- iOS: ATT説明文、AdSupport/StoreKit/AppTrackingTransparency追加
3. Firebase FCM
Firebase Console
- プロジェクト作成
- Androidアプリ登録
- google-services.json ダウンロード
- (FCM送信用)サービスアカウント設定
Flutter側設定
- firebase_messaging パッケージ追加
- google-services.json を app/ に配置
- AndroidManifest.xml設定
サーバー側
- kreait/firebase-php ライブラリ導入
- service-account.json 配置
- FCMトークン管理テーブル作成
Firebase FCM の料金と制限
料金
完全無料。送信数に関係なく課金されない。
ただし、Cloud Functions や Firestore など他の Firebase サービスを使って通知をトリガーする場合、そちらの料金はかかる。
制限
| 項目 | 制限 |
|---|---|
| 送信レート | 60万メッセージ/分(デフォルト) |
| バッチ登録 | 1リクエスト1,000件まで |
| トピック購読 | 1アプリあたり2,000トピックまで |
| トピック登録レート | 3,000 QPS/プロジェクト |
超過時は 429 RESOURCE_EXHAUSTED エラー。リトライは retry-after ヘッダーを見るか、デフォルト60秒待つ。
大規模(10万 RPS 以上)に変更する場合は Firebase サポートに事前連絡が必要。
運用の選択肢
FCM が無料なので、委託先にすべて渡すより自分で Firebase プロジェクトを持つ選択肢もある。
| パターン | メリット | デメリット |
|---|---|---|
| 委託先に全部渡す | 管理が楽 | コントロールを失う |
| 自分で持って従量制請求 | 実費+手数料で収益化 | FCM無料なので請求しづらい |
| 自分で持って定額メンテ代 | 毎月固定収入 | 相場感が必要 |
FCM 自体は無料だが、通知管理画面の開発・運用・サポートを含めて月額で請求するのが現実的か。
最短セットアップ順序
- Google Cloud Console → サービスアカウント + JSON鍵
- Google Play Console → 開発者登録(本人確認: 最大24時間待ち)
- Firebase Console → プロジェクト作成 + google-services.json
- Adjust → アプリ登録 + トークン取得
※ Google Play Console の本人確認が最大のボトルネック(1-2日かかることも)
Billing Library バージョンに関する注意
2025年8月31日以降、Billing Library v7 以上が必須。延長申請で11月1日まで猶予可能。
in_app_purchase パッケージのバージョン
# 2025年8月までに最新版にアップデート推奨
in_app_purchase: ^3.2.0 # Billing Library v7 対応
v3.2.x でも Google Play Console から「Billing Library v7.0.0 以上が必要」という警告が出るケースが報告されている(Issue #171499)。最新版へのアップデートを推奨。
定期購入を使う場合の注意
Billing Library v5 以降、定期購入の価格構造が大きく変わった。
旧: productId のみで価格取得
新: productId + basePlanId + offerId + offerToken が必要
消費型アイテムには影響しないが、定期購入を追加する場合は subscriptionOffers や pricingPhases の扱いに注意。
関連記事
- Flutter WebView + Google Play 課金実装ガイド
- Google Play課金サーバー検証API設定ガイド
- Firebase FCM プッシュ通知実装ガイド
- Adjust管理画面セットアップ
- Adjust Flutter SDK統合ガイド