air for android で アプリ内課金

40
AIR for Android AIR for Android アプリ内課金 アプリ内課金 FxUG 勉強会 第174回 in 東京 2012年09月13日 (木) 徳山禎男

Upload: tokuyama-sadao

Post on 05-Jul-2015

4.758 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: AIR for Android で アプリ内課金

AIR for AndroidAIR for Androidででアプリ内課金アプリ内課金

FxUG 勉強会 第174回 in 東京2012年09月13日 (木) 徳山禎男

Page 2: AIR for Android で アプリ内課金

自己紹介ハンドルネーム:tokufxug本名:徳山 禎男仕事:業務システムWEBアプリ開発よく使用しているテクノロジーJava (Servlet, JSP, Struts)Flex 3, AIR 1.5

FxUG東京勉強会運営メンバー

Page 3: AIR for Android で アプリ内課金

AgendaAndroidアプリ内課金とはAndroidアプリ内課金の 動作確認の準備

Page 4: AIR for Android で アプリ内課金

AgendaAIR for Android版アプリ内課金の紹介AIR for Android版アプリ内課金の構築今後の予定

Page 5: AIR for Android で アプリ内課金

Androidアプリ内課金とはアプリのデジタルコンテンツを販売できるようにするGoogle Playストアのサービスです。

Page 6: AIR for Android で アプリ内課金

Androidアプリ内課金とはGoogle Play ストアが取引に関する全てをハンドリングしてくれるので、アプリによる金銭上のトランザクション処理が不要です。

Page 7: AIR for Android で アプリ内課金

Androidアプリ内課金の動作確認の準備

開発者アカウントの登録開発者アカウントの登録 独自アイテムによるテストを行う場合…

テストアカウントの作成テストアカウントの作成

購入アイテムの登録購入アイテムの登録

Google ウォレットの登録Google ウォレットの登録

Page 8: AIR for Android で アプリ内課金

Androidアプリ内課金の動作確認の準備

開発者アカウントの登録開発者アカウントの登録 独自アイテムによるテストを行う場合…

テストアカウントの作成テストアカウントの作成

購入アイテムの登録購入アイテムの登録

Google ウォレットの登録Google ウォレットの登録

動作確認にはAndroid端末が必要!!

アプリのアップロードが必要。アプリを「有効」にしておく。(アイテムは公開。

アプリは非公開でOK)

アプリのアップロードが必要。アプリを「有効」にしておく。(アイテムは公開。

アプリは非公開でOK)

Page 9: AIR for Android で アプリ内課金

Androidアプリ内課金の動作確認の準備

テストユーザーの登録(実機のユーザー)赤枠に端末のアカウント(Gmail)を入力。

Page 10: AIR for Android で アプリ内課金

Androidアプリ内課金の動作確認の準備

開発時に使用する公開鍵を取得。公開鍵は開発時に使用します。

Page 11: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

アプリ内課金をAIR for Android上で呼び出し可能にしたライブラリ。

Page 12: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

ライブラリ名

AIRAppBilling.ane

Page 13: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

AIR 3.0 から提供されたネイティブ拡張を使用して開発。

Page 14: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

Version 0.9.0.0 Alpha

Page 15: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

動作環境:AIR 3.0以降のランタイムが必要

Page 16: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

機能:AIRアプリからアプリ内購入

Page 17: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

機能:AIRアプリからアプリ内購読

Page 18: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

機能:購入情報の取得。(リストア)

Page 19: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

端末リセット等による 購入済アイテム(ユーザー毎で一意)のチェックに使用。

Page 20: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

機能:アプリ内購読の照会とキャンセル。

Page 21: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

マーケットの対応バージョン● Android 3.0 の場合…

MyApps application v5.0.12 以上● Android 3.0 以外の場合…

Androidマーケットアプリ v2.3.4 以上

Page 22: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の紹介

アプリ内購読の動作環境● Google Play Store アプリで

あること。(バージョン3.5以上)

Page 23: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

Page 24: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

アプリ内課金を利用するためのクラス、AIRAppBillingを生成する。アプリ内課金を利用するためのクラス、AIRAppBillingを生成する。

var key:String = “公開鍵”;

var billing:AIRAppBlinng =AIRAppBilling.instance(key);

Page 25: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

AIRAppBillingに必要なイベントを登録。AIRAppBillingに必要なイベントを登録。

// 開始(サポート判定)billing.addEventListener(

StartEvent.START, onStart);

Page 26: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

購入に関わるイベントを登録。// 購入状態の変更通知billing.addEventListener(PurchaseStateChangeEvent

.CHANGE_PURCHASE, onPurchaseStateChange);

Page 27: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

billing.start();を実行。実行後、StartEvent.Startが発行。サポート判定を行う。//アプリ内課金

billing.isSupported;// アプリ内購読

billing.isSupportedSubs;

アプリ内課金の利用開始

Page 28: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

billing.purchaseItem();を実行。第一引数 … アイテムID第二引数 … 開発者が指定した文字列。オーダーの付加情報を含む。(第二引数は任意。)

アプリ内課金の実行

Page 29: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

billing.purchaseSubs();を実行。第一引数 … アイテムID第二引数 … 開発者が指定した文字列。オーダーの付加情報を含む。(第二引数は任意。)

アプリ内購読の実行

Page 30: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

チェックアウト画面に遷移。

Page 31: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

購入情報のモデルが返却される。PurchaseStateChangeEvent のdataプロパティに、購入情報モデルPurchaseModelが取得できる。

Page 32: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

購入情報のプロパティ(1)PurchaseModel

orderId: •一意なID • (Google Walletの注文ID)

itemId: アイテムIDpurchaseTime: •購入日時(ミリ秒)

Page 33: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

購入情報のプロパティ(2)PurchaseModel

developerPayload: •開発者指定の文字列•(注文に関する)

purchaseState: 購入状態。

Page 34: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

<uses-permission android:name=– "com.android.vending– .BILLING" />

AIRアプリケーション記述ファイルの設定

マニフェストに追加。

Page 35: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

<application><service android:name=– "so.ane.android.googleplay.inapp– .billing.connection– .GooglePlayBillingService" />

マニフェスト内のapplication直下にserviceを追加。

Page 36: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

<receiver android:name="so.ane.android.googleplay.inapp.billing.connection.GooglePlayBillingReceiver">

service直下にreceiverを追加。

Page 37: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

"com.android.vending.billing.IN_APP_NOTIFY"

"com.android.vending.billing.RESPONSE_CODE"

"com.android.vending.billing.PURCHASE_STATE_CHANGED"

receiverのintentFilterを追加。

Page 38: AIR for Android で アプリ内課金

AIR for Android版アプリ内課金の構築

こちらでFlexサンプルプロジェクト(ライブラリ付)を限定公開中です。

http://goo.gl/b1wUW開発中のライブラリなため、開発の検証等にご利用ください。案件等には利用しないで下さい。

開発中のライブラリなため、開発の検証等にご利用ください。案件等には利用しないで下さい。

Page 39: AIR for Android で アプリ内課金

今後の予定バージョンアップ予定1.アプリ内購読の情報を別アプリで参照。2.アプリの管理から認証をサーバで行う。3.アプリ内処理を一部、サーバに移管。4.バグフィックス

Page 40: AIR for Android で アプリ内課金

ご清聴ありがとうございました。