ANTIGRAVITY LABEN
記事一覧/アプリ開発
アプリ開発/2026-04-25中級

Play Console のデータを Antigravity で読み解く — 個人開発アプリの評価と収益を継続的に改善する方法

Google Play Console のデータをただ眺めているだけになっていませんか? Antigravity を使えば、評価・クラッシュ・収益データを自動分析し、次の改善アクションまで導いてくれます。個人開発者向けの実践的な解説です。

android27google-play4play-consoleanalytics3antigravity435app-dev47

Play Console を開いて、なんとなくグラフを眺めて閉じる——そんな習慣になっていませんか?

個人でアプリを開発・運営していると、数字は見えているのに「で、何をすればいいの?」と判断に詰まることがよくあります。インストール数が下がっていても、原因が ASO なのか、競合アプリの影響なのか、それともバグなのか、データだけ見ても答えを出すのは意外と難しいものです。

Antigravity を使うと、この「データを見て→判断して→行動する」サイクルを大幅に短縮できます。今回は、Play Console のデータを Antigravity に渡して実際に分析させる手順と、個人的に効果を感じた活用パターンをご紹介します。

Play Console で特に注視したい5つの指標

まず前提として、どのデータが意思決定に役立つかを整理しておきます。Play Console には膨大な指標がありますが、個人開発の規模で実際に使えるのは次の5つだと感じています。

  • インストール数の推移: 急落しているときは、アップデートのリグレッションか競合アプリのリリースが原因のことが多いです
  • 評価スコアと新規レビューの傾向: 星3以下が増えているときは特定バージョンやOSに問題がある可能性があります
  • ANR・クラッシュ率: 低評価と強く相関する指標です。スタックトレースを Antigravity に渡すと原因の仮説を立てるのが得意です
  • 収益の内訳(課金 vs 広告): どちらのマネタイズが機能しているかを把握する基準になります
  • 国別インストール数とレビュー言語: 予想外の国からの流入がある場合、ローカライズの機会を見逃している可能性があります

Google Play Developer API を Antigravity と連携させる

Play Console のデータをプログラムから取得するには、Google Play Developer API を使います。まず Google Cloud Console でサービスアカウントを作成し、Play Console に紐付けます。

# .env にサービスアカウントのキーパスとパッケージ名を設定
GOOGLE_PLAY_CREDENTIALS="path/to/service-account.json"
PACKAGE_NAME="com.yourcompany.yourapp"

次に、Antigravity に「最近30日間のレビューを取得して評価別に集計するスクリプトを書いて」と依頼すると、以下のような実装を提案してくれます。

# play_console_reviews.py — Antigravity が生成したコードを元に作成
from google.oauth2 import service_account
from googleapiclient.discovery import build
from datetime import datetime, timezone
 
def fetch_reviews(package_name: str, credentials_path: str) -> list[dict]:
    """Play Console からレビューを取得して整形する"""
    credentials = service_account.Credentials.from_service_account_file(
        credentials_path,
        scopes=["https://www.googleapis.com/auth/androidpublisher"]
    )
    service = build("androidpublisher", "v3", credentials=credentials)
 
    result = service.reviews().list(packageName=package_name).execute()
    reviews = result.get("reviews", [])
 
    parsed = []
    for r in reviews:
        if "comments" not in r:
            continue
        comment = r["comments"][0]["userComment"]
        parsed.append({
            "rating": comment.get("starRating", 0),
            "text": comment.get("text", "(本文なし)"),
            "timestamp": comment["lastModified"]["seconds"],
        })
 
    # 評価の低い順に並び替えて返す(改善優先度を上げるため)
    return sorted(parsed, key=lambda x: x["rating"])
 
if __name__ == "__main__":
    import os, json
    reviews = fetch_reviews(
        package_name=os.environ["PACKAGE_NAME"],
        credentials_path=os.environ["GOOGLE_PLAY_CREDENTIALS"],
    )
    print(json.dumps(reviews, ensure_ascii=False, indent=2))
    # 期待される出力: rating/text/timestamp を持つ辞書のリスト(評価昇順)

このスクリプトで取得した JSON を Antigravity のチャットに貼り付けて分析を依頼するのが、最も手軽な活用方法です。

レビューを Antigravity に分析させる実践プロンプト

レビューデータを渡す際に、私がよく使っているプロンプトのパターンを紹介します。

以下は直近30日間のGoogle Playレビューです(JSON形式)。

<reviews>
[fetch_reviews() の出力をここに貼り付け]
</reviews>

以下の観点で分析してください:
1. 星1〜2の低評価レビューに共通する問題点(最大3件)
2. 星5の高評価ユーザーが特に評価しているポイント
3. 次のアップデートで優先すべき改善タスク(具体的な修正内容まで)

このアプリは壁紙・癒し系のライフスタイルアプリで、主なユーザー層は30〜50代です。

「アプリのジャンルとユーザー層」を伝える点が肝心です。技術系アプリとライフスタイル系アプリでは、ユーザーが不満に感じるポイントがまったく違います。Antigravity もその前提があってはじめて的確な分析ができます。

クラッシュスタックトレースを渡すときのコツ

ANR やクラッシュレポートを Antigravity に渡すときは、再現環境の情報もセットで伝えると精度が上がります。

以下のスタックトレースが Android 15 デバイスで一部ユーザーに発生しています。

<stacktrace>
java.lang.NullPointerException: Attempt to invoke virtual method
    'android.view.View android.view.View.findViewById(int)'
    on a null object reference
    at com.example.app.ui.HomeFragment.onViewCreated(HomeFragment.kt:87)
    at androidx.fragment.app.Fragment.performCreateView(Fragment.java:3128)
</stacktrace>

環境: Kotlin + Jetpack Compose + Navigation Component
このエラーの原因と修正方針を提案してください。

「Kotlin なのか Java なのか」「Compose なのか従来の View なのか」を明示するだけで、ハルシネーションなく的確な提案が返ってきます。スタックトレースだけ貼って「なぜ?」と聞くと、一般論に終わりやすいので注意が必要です。

国別データから多言語展開の機会を見つける

Play Console の「ユーザー獲得 → 概要」には国別のインストール数が表示されます。ここで日本以外から予想外の流入がある場合、Antigravity を使ってローカライズの優先度を判断できます。

Play Console のデータによると、直近30日間で以下の国からインストールが増えています:
- 台湾: 320件(先月比 +180%)
- タイ: 210件(先月比 +95%)

現在アプリは日本語・英語のみ対応しています。
繁体字中国語とタイ語への対応について、優先度と想定工数を教えてください。
また、対応する際に Antigravity でローカライズを進める手順も提案してください。

このように「数字 + 現状」を渡すと、費用対効果の観点から具体的なアドバイスが返ってきます。私の場合、台湾からの急増を受けて繁体字対応を優先することにしましたが、その判断材料を Antigravity との会話で整理できました。

全体を振り返って:「眺める」から「動く」へ

Play Console のデータを眺めて終わりにするのではなく、Antigravity に分析を委ねることで「次に何をすべきか」が具体的になります。

今日できる最初の一歩は、今週新しく届いた星1〜2のレビューをすべてコピーして、Antigravity に「改善すべき問題点を3つ教えて」と聞いてみることです。驚くほど具体的なアクションが返ってきます。

ASO(App Store最適化)の観点でアプリを底上げしたい方は、App Store と Google Play の ASO を Antigravity で自動化する方法も参考にしてみてください。また、収益をさらに伸ばしたい場合はRevenueCat を使ったサブスクリプション設計も役立つはずです。

シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

アプリ開発2026-07-03
ダウンロードサイズの逆行に提出直前で気づかないために — AAB/IPA のサイズ予算をエージェントの週次ゲートで守る
メディエーションSDKやアセットの追加で静かに膨らむダウンロードサイズに、bundletool と App Thinning レポートを使ったサイズ台帳・予算ゲート・増分の内訳特定で歯止めをかける設計をまとめます。
アプリ開発2026-06-24
三つの経路がそれぞれ番号を振っていた — versionCode を単一の真実から決めて配信を止めない設計
AI Studio がワンプロンプトでアプリを生成し Play の内部テストへそのまま上げられるようになった結果、人手・CI・エージェントの三経路が別々に versionCode を採番して衝突するようになりました。番号を単一の真実から決め、アップロード前に照合するガードまでを実装つきで整理します。
アプリ開発2026-06-21
戻るボタンで広告が出る/出ないが安定しない — 入れ子のifを独立ガードのリストに作り替えた記録
戻るボタン押下時のインタースティシャル表示判定が、入れ子のif文で優先度が暗黙化して壊れていました。各条件を理由つきの独立ガードに分解し、決定表からテストを生成した設計をまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →