Enviar pesquisa
Carregar
Androidのアプリ内課金
•
Transferir como PPTX, PDF
•
17 gostaram
•
12,021 visualizações
Kenji Seto
Seguir
Androidのアプリ内課金(In-app Billing v3)について
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 34
Baixar agora
Recomendados
Androidアプリに課金コンテンツを導入
Androidアプリに課金コンテンツを導入
HIROKI HONDA
課金アプリの作り方(高畑)
課金アプリの作り方(高畑)
Masahide Takahata
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
Makoto Ito
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
ManageEngine, Zoho Corporation
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DeNA
アプリ内課金の現状と未来
アプリ内課金の現状と未来
Issei Kuwada
やろうぜ!アプリ内課金
やろうぜ!アプリ内課金
Tadaaki Akai
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
Reimi Kuramochi Chiba
Recomendados
Androidアプリに課金コンテンツを導入
Androidアプリに課金コンテンツを導入
HIROKI HONDA
課金アプリの作り方(高畑)
課金アプリの作り方(高畑)
Masahide Takahata
Unity In App Purchase (IAP)の使い方
Unity In App Purchase (IAP)の使い方
Makoto Ito
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
ManageEngine, Zoho Corporation
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DeNA
アプリ内課金の現状と未来
アプリ内課金の現状と未来
Issei Kuwada
やろうぜ!アプリ内課金
やろうぜ!アプリ内課金
Tadaaki Akai
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
iOS/Androidアプリ内決済を利用しよう! 課金機能で気をつけたい5つのこと
Reimi Kuramochi Chiba
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Masahiro Hidaka
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
Google Cloud Platform - Japan
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
インフラジスティックス・ジャパン株式会社
[DevSummit2013S]Android_Multi-Version_Multi-Device
[DevSummit2013S]Android_Multi-Version_Multi-Device
Kenichi Kambara
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
SPIRAL Inc.
はじめての UWP アプリ開発
はじめての UWP アプリ開発
hiyohiyo
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
VOYAGE GROUP
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
Kenji Tomita
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
Developers Summit
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
Developers Summit
Firebase analytics for_android _ i_os
Firebase analytics for_android _ i_os
baroqueworksdev
Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編
Daizen Ikehara
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
Ken Azuma
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter Demo Image)
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter Demo Image)
AzareaCluster
2015年をRTBのアプリ広告元年とするために
2015年をRTBのアプリ広告元年とするために
Toshiaki Ishibashi
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Yoshihito Kuranuki
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
TIS Inc.
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Shotaro Suzuki
Mais conteúdo relacionado
Semelhante a Androidのアプリ内課金
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Masahiro Hidaka
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
Google Cloud Platform - Japan
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
インフラジスティックス・ジャパン株式会社
[DevSummit2013S]Android_Multi-Version_Multi-Device
[DevSummit2013S]Android_Multi-Version_Multi-Device
Kenichi Kambara
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
SPIRAL Inc.
はじめての UWP アプリ開発
はじめての UWP アプリ開発
hiyohiyo
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
VOYAGE GROUP
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
Kenji Tomita
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
Developers Summit
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
Developers Summit
Firebase analytics for_android _ i_os
Firebase analytics for_android _ i_os
baroqueworksdev
Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編
Daizen Ikehara
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
Ken Azuma
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter Demo Image)
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter Demo Image)
AzareaCluster
2015年をRTBのアプリ広告元年とするために
2015年をRTBのアプリ広告元年とするために
Toshiaki Ishibashi
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Yoshihito Kuranuki
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
TIS Inc.
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Shotaro Suzuki
Semelhante a Androidのアプリ内課金
(20)
Android sdk manual_1.02
Android sdk manual_1.02
Android sdk manual_1.02
Android sdk manual_1.02
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
[Cloud OnAir] アプリケーションにフォーカス!ビジネスに直結する開発の極意をご紹介します。(e-Learning) 2018年3月15日 放送
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
[DevSummit2013S]Android_Multi-Version_Multi-Device
[DevSummit2013S]Android_Multi-Version_Multi-Device
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
サーバ構築不要!HTML5で始めるAndroid&iOSアプリ開発セミナー
はじめての UWP アプリ開発
はじめての UWP アプリ開発
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
デブサミ2013【14-E-2】パフォーマンス・チューニングに革命をもたらす最新テクノロジー - トランザクショントレース
Firebase analytics for_android _ i_os
Firebase analytics for_android _ i_os
Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter Demo Image)
AZAREA-Cluster (Hadoop Conference Japan 2013 Winter Demo Image)
2015年をRTBのアプリ広告元年とするために
2015年をRTBのアプリ広告元年とするために
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Androidのアプリ内課金
1.
Developers Summit
Androidのアプリ内課金 In-app Billing of Android 15-C-1 瀬戸 健二 パナソニックAVCマルチメディアソフ ト(株) Developers Summit 2013 Action !
2.
Developers Summit
自己紹介 Developers Summit 2013 Action !
3.
Developers Summit
自己紹介 • 瀬戸 健二(28) – パナソニックAVCマルチメディアソフト(株) – 航空機エンターテイメントシステム開発、 モバイルアプリ開発 – Android、Linux、マイコンなどが得意 – 元TechBoosterメンバー – Twitter • @rongon_xp Developers Summit 2013 Action !
4.
Developers Summit
Androidのアプリ内課金 Developers Summit 2013 Action !
5.
Developers Summit
本日のテーマ • アプリ内課金プログラミング完全ガイド では In-app Billing(IAB) v2について解説 • 発売直後にIABv3が発表・・・。 • 今日はIABv3について お話させて頂きます Developers Summit 2013 Action !
6.
Developers Summit
IABv3特徴 • 実装がとても簡単に。 – v2では100行以上、v3では50行程度に。 • 非同期処理の排除とローカルキャッシン グ – 高速なAPI実行が可能に。 – セキュリティ向上 • 購入情報の管理 • アイテム情報の参照 Developers Summit 2013 Action !
7.
Developers Summit
Androidアプリ内課金 - 概要 • Playストアサーバ上に存在する購入情報を更新す る • アプリからはPlayストアアプリを介してPlayスト アサーバにアクセスする 購入情報 Developers Summit 2013 Action !
8.
Developers Summit
IABv2の購入シーケンス Developers Summit 2013 Action !
9.
Developers Summit
IABv2のアプリ構成 • 課金リクエストを送信するためのサービス • 非同期メッセージを受け取るためのブロードキャストレ シーバ • アプリケーションに通知するためのレスポンスハンドラ と オブザーバ Developers Summit 2013 Action !
10.
Developers Summit
IABv3の購入シーケンス getBuyIntent() Bundle (RESPONSE_CODE, BUY_INTENT) Play Your Store App startIntentSenderForResult() App IAB API Bundle (RESPONSE_CODE, INAPP_PURCHASE_DATA, 同期レスポンス INAPP_SIGNATURE) Developers Summit 2013 Action !
11.
Developers Summit
IABv3のアプリ構成 • 同期処理になったため、アプリ構成がシ ンプルになった Playストアアプリ アプリ本体 InAppBilling bind Service セキュリ ティ Developers Summit 2013 Action !
12.
Developers Summit
アイテムの購入 Developers Summit 2013 Action !
13.
Developers Summit
アイテムの購入(1) • IInAppBillingService.getBuyIntent()で購入画面を起 動 // 購入画面を起動するためのインテントを取得 Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(), sku, "inapp", "bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ"); PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT"); // インテントを使って購入画面を起動する startIntentSenderForResult(pendingIntent.getIntentSender(), 1001, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0)); Developers Summit 2013 Action !
14.
Developers Summit
アイテムの購入(2) • 購入結果はonActivityResult()に返される @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == mRequestCode) { int responseCode = data.getIntExtra("RESPONSE_CODE", 0); String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA"); String dataSignature = data.getStringExtra("INAPP_DATA_SIGNATURE"); if (resultCode == RESULT_OK) { // 購入処理 } } } Developers Summit 2013 Action !
15.
Developers Summit
アイテムの消費 Developers Summit 2013 Action !
16.
Developers Summit
アイテムの消費(1) • IABv3ではすべての購入情報がPlayストア サーバで管理 • 消費しないと再購入できない – 消費型 : 購入が完了したら消費処理を実施 – 非消費型 : 購入が完了しても消費処理をしな い Developers Summit 2013 Action !
17.
Developers Summit
アイテムの消費(2) • 消費型アイテムの場合はconsumePurchaseを実行 することで再購入できるようにする • INAPP_PURCHASE_DATAに含まれている purchaseTokenを指定する int response = mService.consumePurchase(3, getPackageName(), purchaseToken); Developers Summit 2013 Action !
18.
Developers Summit
トラブルシューティング Developers Summit 2013 Action !
19.
Developers Summit
うまく動かないとき(1) • テストアカウントを設定していない – Androidデバイスのプライマリアカウントに設 定 • 公開鍵をアプリに設定していない – Developer Consoleで取得可能 • Playストアにアプリ/課金アイテムを登録 した直後 – 反映されるのに数時間〜数日かかることがあ る Developers Summit 2013 Action !
20.
Developers Summit
うまく動かないとき(2) • アプリの署名が不正 – Playストアに登録している署名と一致してい る必要がある • アプリの公開設定 – 公開設定にすると動作する場合も・・・。 Developers Summit 2013 Action !
21.
Developers Summit
どちらを使えばいいのか? • v3は定期購読未サポート – アプリ内課金アイテムのみであればv3でok • 簡単に実装したいのであればv3 Developers Summit 2013 Action !
22.
Developers Summit • ご清聴ありがとうございました
Developers Summit 2013 Action !
23.
Developers Summit
参考資料 Developers Summit 2013 Action !
24.
Developers Summit
アイテムの販売形式 • 消耗型 – ゲーム上のお金、ポーションなど使用すると消耗してしまうも の • 非消耗型 – アプリ上の機能制限のアンロックなど、購入することで永続的 に効果が持続されるもの • 購読型 – 定期的な課金によって効果が持続されるもの Developers Summit 2013 Action !
25.
Developers Summit
IABv3 Sample App Developers Summit 2013 Action !
26.
Developers Summit
IABv3 Sample App • サンプルアプリケーションをダウンロード – Extras -> Google Play Billing Library • Eclipseにインポート • サンプルアプリを修正 – パッケージ名を変更 – 公開鍵を設定 • アプリをPlayストアにアップロード • アップロードしたapkをadb install Developers Summit 2013 Action !
27.
Developers Summit
INAPP_PURCHASE_DATA • Playストアより得られる購入情報 02-11 10:27:39.908: D/IabHelper(7688): Extras:Bundle[{INAPP_PURCHASE_DATA={ "orderId":"12999763169054705758.1368594429841055", "packageName":"org.dyndns.ideon.trivialdrivesample", "productId":"gas", "purchaseTime":1360578449000,"purchaseState":0, "purchaseToken":"w…, RESPONSE_CODE=0}] Developers Summit 2013 Action !
28.
Developers Summit
購入シーケンス(IABv2) Developers Summit 2013 Action !
29.
Developers Summit
購入シーケンス(IABv3) 購入情報 購入情報 IABv3では不要 Developers Summit 2013 Action !
30.
Developers Summit
アイテム情報の参照(1) • 購入可能なアイテム情報を取得可能 – セール価格など簡単に実現 getSkuDetails() Bundle Play Your (RESPONSE_CODE, DETAILS_LIST) Store App App Developers Summit 2013 Action !
31.
Developers Summit
アイテム情報の参照(2) • getSkuDetails()でアイテム情報を参照 // サービスIDのリストを作成 ArrayList skuList = new ArrayList(); skuList.add("premiumUpgrade"); skuList.add("gas"); Bundle querySkus = new Bundle(); querySkus.putStringArrayList(“ITEM_ID_LIST”, skuList); // アイテム情報を取得 Bundle skuDetails = mService.getSkuDetails(3, getPackageName(), “inapp”, querySkus); Developers Summit 2013 Action !
32.
Developers
Summit アイテム情報の参照(3) • アイテムの価格を取得する int response = skuDetails.getInt("RESPONSE_CODE"); if (response == 0) { ArrayList responseList = skuDetails.getStringArrayList("DETAILS_LIST"); for (String thisResponse : responseList) { JSONObject object = new JSONObject(thisResponse); String sku = object.getString("productId"); String price = object.getString("price"); if (sku.equals(“premiumUpgrade”)) mPremiumUpgradePrice = price; else if (sku.equals(“gas”)) mGasPrice = price; } } Developers Summit 2013 Action !
33.
Developers Summit
アイテムの消費(1) • 消費しないと再購入できない – 消費型 : 購入が完了したら消費処理を実施 – 非消費型 : 購入が完了しても消費処理をしな い getPurchase() Bundle (INAPP_PURCHASE_ITEM_LIST, etc) Play Your consumePurchase() Store App App SUCCESS/FAILURE Developers Summit 2013 Action !
34.
Developers Summit
Playストアからの非同期レスポンス(IABv2) • com.android.vending.billing.RESPONSE_CODE – レスポンス • com.android.vending.billing.IN_APP_NOTIFY – Playストアサーバ上にある購入情報が更新されたことを示す • com.android.vending.billing.PURCHASE_STATE_CHANGED – 1つ以上のトランザクション情報 Developers Summit 2013 Action !
Baixar agora