Skip to main content

Android課金

Overview

Androidの課金概要についてまとめるセクション。 Androidで作成したアプリの購入可能なアイテムの情報や、各利用者が購入したアイテムの情報は、Playストアサーバー上ですべて管理されている。

tip

Playストアアプリとは。

info

作成したアプリが直接、Playストアサーバと情報のやりとりをする必要はない。
PlayストアアプリがアプリとPlayストアサーバとの仲介役になってくれるため。
アプリではいくつかのメッセージをPlayストアアプリとやりとりするだけで目的のアイテムを購入できる

Playストアアプリとは

「Playストアアプリ」というのは、Androidスマホに最初から入ってる、Google Play(アプリのストア)を操作するアプリケーションそのもの。

スマホでアプリをダウンロード・アップデートしたり、課金購入したりするためのあのアプリのこと

  • ユーザーが使うストア画面
  • アプリの購入・支払い・アップデート・レビューなどを一括で担ってる
  • バックグラウンドで「課金管理」などもやってくれる

なぜ「アプリが直接Playストアサーバーとやりとりする必要がない」のか?

普通のイメージ: アプリ内で「購入」ボタンを押す → アプリが直接Googleの課金サーバーと通信 → 購入処理 と思いがちですが、実際には違います。

実際の流れ(Google公式の仕組み)

  1. あなたのアプリが「購入したい」とPlayストアアプリにメッセージを送る
  2. Playストアアプリがユーザーに課金画面を表示する(Googleアカウントにログイン済みなので支払いもスムーズ)
  3. 購入処理が終わると、Playストアアプリが「OK、買えたよ」とアプリに結果を返す

あなたのアプリ ⇄ Playストアアプリ ⇄ Googleサーバー

という構造になっており、あなたのアプリはGoogleのサーバーに直接アクセスしないで済むんです。 これにより、セキュリティや課金処理の複雑さをアプリ側で一切考えなくてよくなる、という恩恵があります。

なぜこの設計なの?

  • Google側が課金を制御できるようにしたい
  • ユーザーの認証・支払い・所有権などの処理を安全に行いたい
  • アプリ開発者にセキュアな課金機能を簡単に提供した

Playストアアプリのインターフェース

アプリへのインターフェースとしてアプリ内課金APIを提供している。

note

バージョン2まで非同期レスポンスを処理する必要があったが、バージョン3で同期レスポンスへ変更になったため実装が楽になった。

アイテムの販売形式

Androidのアプリ内課金ではアイテムを2つの方法で販売できる。

管理対象のアイテム

このタイプのアイテムでは、利用者の購入情報がPlayストアサーバ*に管理される。
音楽や動画などのマルチメディアコンテンツや、課金することでアプリ上の広告を非表示にしたい場合など、1度購入したら永続的に反映したいアイテムについてはこのタイプを選択すればいい。

tip

購入情報がPlayストアサーバーに管理されているのでアプリを再インストールした場合や、Android端末を別の機種に変更しアプリを新たにインストールする場合でもPlayストアサーバーに問い合わせすればアプリの状態を簡単に復元できる。

caution

ゲームで登場する回復アイテムなど、何度も購入するアイテムの場合もこのタイプを選択する
なお、一度購入したアイテムは再度購入することができないので購入したアイテムを「消費」してアイテムの所有権を手放す必要がある

定期購入

自動的に契約が更新され、再課金が行われる。

tip

再課金の際には、利用者に契約が更新されたというメールが送信される

Playストアの制限

アプリ内課金の利用にはアプリの公開方法やアプリがインストールされる端末の環境などさまざまな条件がある。

  1. Google Playで公開されるアプリであること
    Androidのアプリ内課金はPlayストアサーバ上に利用者の課金に関する情報が保存される。
    そのためアプリがGoogle Playを通じて公開される必要がある。
  2. Googleウォレット販売者アカウントを持っていること
    アプリ内課金はGoogleウォレットによって行われる。
    開発者はGoogleウォレットの販売者アカウントを持っている必要がある。
  3. Playストアアプリのバージョン
    Androidアプリ内課金はAndroidデバイス上にバージョン3.9.16以上のPlayストアアプリがインストールされている必要がある。
    また、購読型課金を利用したい場合はバージョン3.10.10以上のPlayストアアプリが必要になる。
  4. Android端末のプラットフォームバージョン
    バージョン3のアプリ内課金APIがサポートしているのはAndroid 2.2以上が動作しているデバイスのみとなる
  5. アプリ内課金を使って販売できるもの
    アプリ内課金を使って販売できるものはデジタルコンテンツのみ。
    アプリ内課金を使って物質的な商品や個人的なサービス、また物理的に配達を必要とするものは販売ができない。
  6. Google Playが配信できるもの Google Playはデジタルコンテンツの配信は行わない。
    購入のための手続きだけを担当する。
    もしアプリ内課金を利用して音楽ファイルや動画ファイルなどのコンテンツを端末上にダウンロードしたい場合は、コンテンツ配信用のサーバーを用意する必要がある。
  7. ネットワーク接続が可能であること
    Androidのアプリ内課金はネットワークを介してPlayストアサーバと通信をする必要があるため、ネットワークに接続されていないデバイス上ではアプリ内課金を利用できない。

Googleウォレットとは

Googleウォレットは、ユーザーがGoogleの各種サービスで支払いを行うための電子ウォレットサービス。
Androidアプリ内課金においても、ユーザーの支払い処理はGoogleウォレットに登録された支払い手段を通じて行われる。

主な支払い手段

  • クレジットカード / デビットカード(VISA, MasterCard など)
  • キャリア決済(NTTドコモ、au、ソフトバンクなど)
  • Google Play ギフトカード / 残高
  • PayPal(一部地域限定)

アプリ内課金との関係

  • Androidアプリ内課金では、ユーザーは必ずGoogleウォレットに登録された支払い手段を利用する。
  • アプリはGoogle Playの課金システムを通す必要があり、StripeやPayPayなどの外部決済を直接利用することは禁止されている(デジタル商品の場合)∫
  • 物理商品や対面サービスなど、デジタル以外の商品を販売する場合のみ、外部決済の導入が例外的に認められる。