ツール
PR

Google Play課金 RTDNデコーダー|リアルタイム通知(Pub/Sub)を貼るだけで解析【ブラウザ内・送信なし】

saratogax
記事内に商品プロモーションを含む場合があります

Google Play課金のリアルタイムデベロッパー通知(RTDN)を貼り付けると、中身を一発で読める形に解析するツールです。

Pub/Subで届くdataはbase64でエンコードされていて、そのままでは中身が分かりません。このツールがデコード+notificationTypeの意味付け+日時変換までまとめて行います。

処理はすべてブラウザ内で完結します。purchaseTokenなど機微な値を含むため、サーバーに送信しないのは安心ですよね。

RTDN を貼り付け(Pub/Sub メッセージ全体 / message.data の base64 / DeveloperNotification のいずれか)

※入力データはブラウザ内だけで解析し、サーバーには送信しません。

通知の種類(定期購入/1回限り/無効購入/テスト)を自動判別し、該当フィールドを整理して表示します。

このツールでできること

  • Pub/Subのmessage.data(base64)をデコードしてDeveloperNotificationを整形表示
  • notificationTypeの数値を定数名+日本語の意味に変換(例: 4 → SUBSCRIPTION_PURCHASED)
  • eventTimeMillis日本時間(JST)とUTCに変換
  • purchaseTokenorderIdなどをコピーしやすく抽出
  • 無効購入のproductTyperefundTypeもコード→意味で表示

使い方(3つの入力形式に対応)

次のどの形でも、そのまま貼り付ければ解析します。デバッグ中に手元にある形のまま使えます。

入力する形こんなときに
Pub/Sub メッセージ全体(JSON)プッシュ通知のリクエストボディをそのまま貼りたいとき
message.data の base64 文字列data の値だけをログから取り出したとき
DeveloperNotification(JSON)すでにデコード済みのJSONを意味付けしたいとき
※表は横スクロールできます

まずは「サンプルを入れる」ボタンで動きを確認してみてください。

notificationType の一覧と仕組み

DeveloperNotificationの構造、notificationTypeの全コード(定期購入・1回限り・無効購入・テスト)の一覧と、Pub/Subの設定手順は、以下の解説記事にまとめています。

あわせて読みたい
【Google】リアルタイムデベロッパー通知(RTDN)の仕組みと設定
【Google】リアルタイムデベロッパー通知(RTDN)の仕組みと設定

このツールの安全性(ブラウザ内処理)

RTDNにはpurchaseTokenorderIdといった、購入を特定できる値が含まれます。

このデコーダーはJavaScriptですべてブラウザ内で処理しており、貼り付けた内容をサーバーへ送信しません。通信を切った状態でも動作します。

通知を受け取った後の正しい流れ

大事なのは、notificationTypeを鵜呑みにせず、必ずGoogle Play Developer APIで最新状態を取得し直すことです。

定期購入ならpurchases.subscriptionsv2.get、1回限りの購入ならpurchases.products.getで確認します。Pub/Subは順序保証がなく重複もあり得るので、受信後の処理は冪等に設計しておくと安心です。

各通知タイプがライフサイクルのどこに当たるかは、以下の記事で確認できます。

あわせて読みたい
【Google】アプリ内課金のサブスクリプションのライフサイクル
【Google】アプリ内課金のサブスクリプションのライフサイクル
あわせて読みたい
【Google】無効(返金やチャージバック)となった購入の情報をリアルタイムに通知で取得する
【Google】無効(返金やチャージバック)となった購入の情報をリアルタイムに通知で取得する
あわせて読みたい
【Google】アプリ内課金(Google Play Billing)の全体像と記事まとめ
【Google】アプリ内課金(Google Play Billing)の全体像と記事まとめ

まとめ

  • RTDNのdataはbase64。デコードするとDeveloperNotificationになる
  • このツールはPub/Sub全体/base64/JSONのどれでも貼るだけで解析(ブラウザ内・送信なし)
  • notificationTypeは意味の確認用。最終判断はDeveloper APIの最新状態で行う

💡 ブックマークしておくと、RTDNのデバッグ中にどの通知が来たのかをすぐ確認できて便利です。

あわせて読みたい
JWTデコーダー|トークンを貼るだけでヘッダー・ペイロードを整形表示(ブラウザ内で解析・送信なし)
JWTデコーダー|トークンを貼るだけでヘッダー・ペイロードを整形表示(ブラウザ内で解析・送信なし)

参考(出典)

ABOUT ME
saratoga
saratoga
フリーランスエンジニア
仕事にも趣味にも IT を駆使するフリーランスエンジニア。技術的な TIPS や日々の生活の中で深堀りしてみたくなったことを備忘録として残していきます。
記事URLをコピーしました