2012年8月29日水曜日

「AndroidでのGooglePlay課金API活用法」をまとめました

チームEGGの曽川です。

今回はAndroidでのGooglePlay課金API活用法をまとめました。
公式のまとめはこちらにあります。
●Google Play上の課金の方法
・有料販売
 アプリの販売
・In App Billing
 アプリは無料、いわゆるアイテム課金
・SubScription
 月額・年額

●In-App Billing APIs for Google Play
・2011年3月から開始
・背景としては日本・韓国のフィーチャフォンからスマートフォンへの移行
・アプリ内課金の方が儲けられるという見方

●もう一度規約
 原則としてGooglePlayの課金システムを使う
 規約を一言一句読む。
 Googleの人に質問しても断言できない。(審査チームが一定のルールに従っているが、内容は機密事項なため)
 開発者自身で判断をお願いしたい
 
 一度APIを実装すると、どの国であっても課金周りの実装を変える必要はない
 開発者が意識することなく、日本からAT&Tの決済や、逆に海外の人がドコモやauの決済を利用する事が出来る。

●IN_APP_NOTIFY / PURCHASE_STATE_CHNGED が届かない
 多くのケースでアプリ側の対策が不足している事がある
 GoogleがCONFIRM_NOTIFICATIONの計測を行ったところ、まったく問題のないアプリはすぐに返ってくるが、全然返ってこないアプリもある。
 安定しているアプリと安定していないアプリがある
 アプリのActivityが終了している場合(メモリの欠乏)の考慮やブロードキャストの受信失敗が原因ではないか。
 解決策
  1.アプリがどんな状態(メモリ上にない状態)であっても、確実にBroadcastReceiverで受信する
   そしてできるだけ早くCONFIRM_NOTIFICATIONをGoogleに送る。

  2.一旦受信したらまずローカルに保存するなどして決して失わないこと。

●決済が頻繁にキャンセルされることが多いがなぜか?
 キャリア決済の月額上限
  キャリアの年齢での上限設定
  ⇒気付かずにリトライしている
 不審な利用パターン
  クレジットカードの不正使用
  ⇒Googleは評価する処理を行っている
   ⇒テスト中にGoogleが不正と判断する場合がある
    一時的にホールド状態となる
    「配信に時間がかかり過ぎています。」と表示される
 クレジット側の承認が下りなかった
  クレジットカードの上限額など

 クレジットカードのチャージバック
  開発者が対応してくれない場合、クレジットカード会社が代行する
  事業者(開発者)が悪質であるとみなされるので減らすこと
  Google側が即キャンセルを行う場合もある

●課金の履歴についてダブルチェック
 Googleの課金レポート
  月次売レポート
  ⇒最も正確
   経理上で扱うときもこれを使うとよい
   11~13日に更新
  日次販売レポート(3月22日から提供)
  ⇒前日からの速報
 Checkoutからの管理画面からCSV出力
  ⇒件数の制限がある
   件数が少ない場合は利用できる

●Checkout管理画面のTips
 キャンセル操作
  手数料も含めて返金
 決済情報の検索
  見つからない場合は魔法のような「12999763169054705758.」を付与して検索する
 マルチアカウントに対応

●セキュリティ
 時間がないので次回切り出し

●課金機能にかかわるデベロッパーサイト窓口
 英語のみ

●Subscription
 現在はクレジットのみ
 キャリア決済は準備中

●購読開始と終了の流れ
 購読開始
 ⇒REQUEST_PURCHASEメッセージでGooglePlayに
 更新
 ⇒ユーザに更新しましたというメールが送られる
 終了
 ⇒ユーザ
  ⇒GooglePlayのアプリ詳細
   GoogleWallet(PCから)
 ⇒開発者
  ⇒GooglePlayAndroidDeveloperAPIからのみ
   PurchaseTokenを保存する必要

●Subscriptionの有効性の確認
 クライアント側での手段
  ⇒PURCHASE_STATE_CHANGED
   ⇒RESTORE_TRANSACTION
   ⇒負荷がかかって遅くなる場合もある
 開発者側ので手段   ⇒開発者側でサーバを用意する
      GooglePlayAndroidDeveloperAPIを叩く
   必ずデベロッパーコンソールと同じアカウントでAPIをたたくこと

Q.クレジットカードを持っていないユーザへのSubscriptionは?
A.まだできないが、今後できる

Q.GooglePlayギフトカードの展開は?
A.日本での展開は未定

Q.アプリ課金の通知が遅れる場合は?
A.アプリに起因するところが多いのでどんな場合でも通知を受けられるように

Q.Subscription課金のテストは?
A.時間を早める方法は無い
 Subscription機能は余裕を持って開発してほしい

Q.Subscriptionの払い戻しの有効期限を早める方法は?
A.ユーザが登録を停止しても払い戻さない代わりに有効期限が切れるまで有効とするのがGoogle Playのルール。
 途中で切れるのは想定していないので、開発者側のサーバで管理する必要がある

Q.注文テストの場合も料金は発生するか?
A.30%の手数料もGoogleが丸ごと払い戻す
 キャンセルする必要がある
 支払方法の規約は読んでいただきたい

Q.ユーザはSubscriptionを確認できるか
A.確認できる

Q.ステータスページはあるか?GooglePlayがシステムダウン時に補填はあるか?
A.GooglePlayDeveloper英語にすれば表示される
 補填はない

Q.Subscription購入後にorderIdが一致しないが間違いか?
A.orderIdは変わる可能性がある
 purchaseTokenを使う

0 件のコメント:

コメントを投稿