技術 約5分で読めます

Flutterアプリ実装に必要なコンソール・キーファイル一覧

Flutterアプリで課金、Adjustの集計、Firebaseのプッシュ通知を実装しようとすると、結局いくつのコンソールで設定していくつのキーファイルが必要なのか?をまとめた。

委託先への引き継ぎ資料としても使える想定。


サマリー

項目
コンソール4つ
キーファイル2つ(+ トークン1つ)
本人確認書類2種類(身分証明 + 住所確認)

コンソール一覧(4つ)

#コンソールURL用途
1Google Cloud Consoleconsole.cloud.google.comサービスアカウント作成、API有効化
2Google Play Consoleplay.google.com/consoleアプリ登録、課金アイテム設定、テスター設定
3Firebase Consoleconsole.firebase.google.comFCMプロジェクト設定
4Adjust ダッシュボードdash.adjust.comアトリビューション設定、イベントトークン発行

キーファイル一覧(2つ + トークン1つ)

#ファイル取得元用途形式
1service-account.jsonGoogle Cloud Console課金検証API + FCM送信JSON
2google-services.jsonFirebase ConsoleAndroid 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 SolutionsiOS向け計測・最適化

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 自体は無料だが、通知管理画面の開発・運用・サポートを含めて月額で請求するのが現実的か。


最短セットアップ順序

  1. Google Cloud Console → サービスアカウント + JSON鍵
  2. Google Play Console → 開発者登録(本人確認: 最大24時間待ち)
  3. Firebase Console → プロジェクト作成 + google-services.json
  4. 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 が必要

消費型アイテムには影響しないが、定期購入を追加する場合は subscriptionOfferspricingPhases の扱いに注意。


関連記事

参考リンク