illegal parameters service_account_key_details や「Could not check」で止まったときに、Google Cloud → Play Console → RevenueCatの順で確認する手順です。2026年8月に現行公式ドキュメントと照合し、必要なAPI・Cloud側ロール・Play Console権限を更新しました。Publishedになっても購入できないOfferingの配線まで扱います。
「Could not check」をPublished(緑)に変える4ステップの完全手順。API有効化で迷うポイント、付与する権限の取捨選択、Illegal parameters エラーの原因まで、つまずく場所を全部つぶします。そして緑になっても買えない時のOfferingひもづけと、PRODUCT_NOT_FOUND / BILLING_UNAVAILABLE の対処まで。
illegal parameters service_account_key_details の最短確認Quick answer: Enable the Google Play Android Developer API, Google Play Developer Reporting API, and Cloud Pub/Sub API in the same Google Cloud project. Grant Pub/Sub Editor and Monitoring Viewer to the service account, verify the three Play Console permissions, then regenerate and re-upload the JSON key. RevenueCat notes that credential validation may take up to 36 hours.
2026-08-01確認: RevenueCat公式 Google Play service credentials。エラー文言と解決順は本記事の実運用記録、現在の必須設定と反映時間は公式手順を基準にしています。
「Could not check」はエラーではなく、権限がまだつながっていないだけ。やることを先に並べておきます。上から順にこなせば必ず緑になります。
この状態でもクローズドテストは進められます。ただしリリース前には必ず緑(Published)にしておく必要があります。後回しにすると本番直前で焦るので、テスト段階で片付けておくのが吉。
解決の本質はシンプルで、3つのサービスをつなぐ配線作業です。どこか1本でも欠けると「Could not check」が消えません。まず全体像を頭に入れてから手を動かすと迷いません。
Google Cloud Console
↓ APIを3つ有効化 / サービスアカウント発行
Google Play Console
↓ そのサービスアカウントに権限を付与
RevenueCat
↓ サービスアカウントのJSONを登録
→ Google Playの商品情報を取得できるようになる
Play Consoleと同じGoogleアカウントでログインして作業します。
左メニューの「APIとサービス」→「ライブラリ」を開き、次の3つを検索して有効化します。
検索欄に「Android Developer」と入力すると見つかります。クリックして「有効にする」。
現行のRevenueCat公式チェックリストでAndroid Developer APIと併せて有効化対象になっています。同じCloudプロジェクトで「Google Play Developer Reporting API」を有効にします。
検索欄に「Pub/Sub」と入力すると複数出てきます。選ぶのは Cloud Pub/Sub API(説明文が "reliable, many-to-many, asynchronous messaging" のもの)。「Pub/Sub Lite API」や「Subscribe with Google」ではありません。
左メニュー「IAMと管理」→「サービスアカウント」を開きます。
revenuecat-play)→「作成して続行」2026年8月の訂正。旧手順ではCloud側ロールを省略できるとしていましたが、現行のRevenueCat公式手順はPub/Sub Editor(またはAdmin)とMonitoring Viewerを指定しています。Play Console側の3権限とは別なので、両方を設定します。ロールを変更した場合はJSONキーも再生成してアップロードし直します。
Google Play Console を開き、左メニュー「ユーザーと権限」→右上「新しいユーザーを招待」へ。
メールアドレス欄に、手順2で作ったサービスアカウントのメールアドレスを入力します。形式は xxxxx@プロジェクトID.iam.gserviceaccount.com。ダウンロードしたJSONをメモ帳で開くと client_email フィールドに書いてあります。
「アプリを選択」で対象アプリを選び、付与する権限は次の3つだけにチェックします。
権限の一覧は項目が多くて迷いますが、RevenueCatに必要なのは上の3つだけ。それ以外はチェック不要です。最後に「ユーザーを招待」をクリック。
RevenueCatダッシュボード(app.revenuecat.com)を開きます。
資格情報は作成直後に有効にならず、RevenueCat公式では最大36時間かかる場合があります。すぐに再作成を繰り返す前に、API・ロール・権限・JSONの一致を確認して反映待ちを切り分けます。
今回の実運用で詰まった箇所。illegal parameters service_account_key_details が出たときは、同じCloudプロジェクトの3 API、Cloud側2ロール、Play Console側3権限、アップロードしたJSONのproject_id/client_emailを順に確認します。設定直後はRevenueCat公式上、検証に最大36時間かかるため、「設定ミス」と「反映待ち」を分けて判断します。
ここが一番見落とされる罠です。Store Statusが緑(Published)になっても、それだけでは購入ボタンは動きません。「商品とOfferingのひもづけ」というもう一段の配線が要ります。
アプリ側でこんなエラーが出ていたら、まさにこれ。
// getOfferings が空で返る
ConfigurationError: there are no Play Store products
registered in the RevenueCat dashboard for your offerings.
JSON連携(=Store Status緑)は、RevenueCatがPlayの商品を読める状態にしただけ。購入を動かすには、その商品を Offering の中に置く必要があります。緑=ゴールではなく、ここからがもう一歩。
no_ads)に商品を紐付ける商品ページの "Associated Offerings" が空なら黄信号。Product詳細を開いて Associated Offerings に何も無ければ、まだどの Offering にも入っていない=購入は動きません。Offeringのパッケージで商品を選び直してください。
| 症状 | 原因 | 対処 |
|---|---|---|
| PRODUCT_NOT_FOUND productType='subs' | 一回限りの商品をサブスクとして照会する型ミスマッチ。古い設定が端末にキャッシュされていることも | RevenueCatの商品タイプを確認(Non-consumable)。端末はアプリのデータ消去か再インストールで設定を取り直す |
| BILLING_ UNAVAILABLE | エミュレータ(Playストア無し)や adb / Android Studio から直接入れた版は課金不可 | 実機+内部テストのリンクからPlayストア経由でインストール。ライセンステスター登録も必須 |
| ITEM_ALREADY _OWNED | 非消費型を再購入しようとした(=もう所有している正常状態) | エラー扱いせず復元処理へ。restorePurchases で権利を戻す |
テストの鉄則。課金はエミュレータでは検証できません。「実機 + Playストア経由インストール + ライセンステスター登録」の3点が揃って、初めてテストカードで購入フローが回ります。
RevenueCatの「Product catalog」→「Products」で対象商品を開き、Store Statusが ● Published(緑) になっていればJSON連携は完了。あとは前章のとおり商品をOfferingに入れて、実機でテストすれば購入が動きます。
| 手順 | 場所 | やること |
|---|---|---|
| 1 | Google Cloud Console | Android Developer / Developer Reporting / Cloud Pub/Sub の3 APIを有効化 |
| 2 | Google Cloud Console | サービスアカウントへPub/Sub Editor・Monitoring Viewerを付け、JSONキーを取得 |
| 3 | Google Play Console | サービスアカウントを招待・3つの権限を付与 |
| 4 | RevenueCat | JSONをアップロードして保存 |
「Could not check」や「緑なのに購入できない」で詰まっている方の参考になれば幸いです。JSON連携もOfferingのひもづけも日本語の情報がほとんど出てこなかったので、同じ場所で止まった人がここで抜けられますように。
運営・検証: meclGG(FLOW)
個人開発とAI運用の実作業で残った画面・エラー・進行ログを基に構成しています。AIは調査、構成、機械検品に利用し、結果・限界・公開内容は運営者が確認しています。
初回公開: 2026-06-22 / 検証更新: 2026-08-01
素材作成、課金連携、12人×14日のクローズドテストを、実際に詰まった順で確認できます。