加藤 勝也 著
瀬戸 健二 著
日高 正博 著
佐藤 航陽 著
現在、スマートフォンアプリで収益を上げる方法として注目されているのが「アプリ内課金」です。その中でも「無料アプリ」の形でマーケットに提供し、ユーザーがそのアプリを利用する中で、ほしくなった機能やアイテムを有料で購入するモデルで収益を上げる企業が増えてきています。本書はスマートフォンアプリを提供しようと考えているプログラマーに向けて、アプリ内課金のプログラミング手法について解説する書籍です。
具体的には、AppleおよびGoogleから提供されている「消費型」「非消費型」「購読型」の3つのモデル別の実装手法や、マーケットで配布する前に必要なテスト手法、そして配布した後のコンテンツの保護やセキュリティ面についても触れています。これ1冊で、iPhone/Androidの両方に対応した、アプリ内課金の手法を学ぶことができます。
第1章 アプリ内課金の概要
1-1 マーケットの課金システムの実情
1-1-1 スマートフォン市場の歴史
1-1-2 スマートフォンアプリは儲からない?
1-1-3 「スマートフォンアプリ開発=儲からない」という見方
1-2 「無料アプリ+広告」モデルが登場
1-2-1 「無料アプリ+広告」モデル
1-2-2 「無料アプリ+広告」モデルの仕組み
1-3 収益モデルに衝撃を与えた「アプリ内課金」
1-3-1 アプリ開発者の救世主「アプリ内課金」
1-3-2 フリーミアムモデルが「無料アプリ+アプリ内課金」モデルを後押し
1-4 アプリ内課金モデルは「副収入」から本格的な「ビジネス」へ
1-4-1 副業という存在からの脱皮
1-4-2 アプリ内課金による収益
1-4-3 世界を相手にアプリをリリース
1-4-4 大手企業がまだ参入していない現在がビジネスチャンス!
1-5 アプリ内課金の導入で開発者に求められる「マネタイズ能力」
1-5-1 求められるマネタイズ能力
1-5-2 1 人のユーザーから得られる収益の違い
1-6 App Store の現状
1-6-1 審査の制約について
1-6-2 ランキングについて
1-6-3 ランキングはリアルタイムで更新
1-7 Play ストアの現状
1-7-1 自由度の高さ
1-7-2 アプリの2極化
1-7-3 トップ50 のアプリが全体の滞在時間の6 割を占める(ニールセン調査)
第2章 アプリ内課金の成功モデルと3 大課金モデル
2-1 フリーミアムモデルが優れている点
2-1-1 フリーミアムモデル
2-1-2 無料アプリのレバレッジ
2-2 フリーミアムの課金までのプロセスを比較
2-2-1 アプリ内課金モデルで必要なこと
2-2-2 アプリ内課金の普及による変化
2-3 不法コピー対策としても有効なフリーミアムモデル
2-3-1 両マーケットにおける違い
2-3-2 違法コピーや不正利用を駆逐する「フリーミアムモデル」
2-4 アプリ内課金の3 大モデル
2-4-1 アプリ内課金の3 大モデル
2-4-2 アプリ内課金でできること
2-5 「無料アプリ+アプリ内課金」モデルはアイディア次第
2-5-1 バーチャル通貨の導入(消費型)
2-5-2 アイテム課金(消費型)
2-5-3 追加機能の購入(非消費型)
2-5-4 広告の解除(非消費型)
2-6 アプリ内課金の成功事例
2-6-1 Play ストアで売上1位を記録した『単車の虎』
2-6-2 スタンプという新たな価値を創造した『LINE』
2-7 本書で解説するアプリ内課金プログラミングについて
2-7-1 iPhone とAndroid 向けのアプリ内課金プログラミングを網羅
2-7-2 Amazon 課金モデルのプログラミング手法の紹介
2-7-3 アプリ内広告プログラミングも紹介
第3章 iPhone アプリ内課金の基本的な実装手法
3-1 iPhone アプリ内課金(In-App Purchase)の概要
3-1-1 販売する商品(プロダクト)
3-1-2 販売できる商品(プロダクト)
3-1-3 販売できない商品(プロダクト)
3-1-4 商品(プロダクト)の販売形式
3-1-4 App Store とのやりとり
3-2 In-App Purchase の基本的な実装方法
3-2-1 購入処理の流れ
3-2-2 基本的な実装
3-2-3 事前準備:プロダクトの登録
3-2-4 コーディング:ポイントの確認と事前準備
3-2-5 コーディング:プロダクトの購入処理
3-2-6 まとめ
第4章 Android アプリ内課金の基本的な実装手法
4-1 Android アプリ内課金の概要
4-1-1 Android アプリ内課金について
4-1-2 プロダクトの販売形式
4-1-3 制限事項について
4-2 課金メッセージを理解する
4-2-1 メッセージシーケンス
4-2-2 課金リクエスト
4-2-3 アプリ内課金レスポンス
4-2-4 同期レスポンス
4-2-5 非同期レスポンス
4-2-6 アプリケーションの構造
4-2-7 Play ストアアプリとのプロセス間通信
4-3 アプリ内課金のメッセージ処理を実装する
4-3-1 サンプルアプリケーションを入手する
4-3-2 アプリ内課金を許可するパーミッション
4-3-3 サービスを作成する
4-3-4 ブロードキャストレシーバを作成する
4-3-5 コールバックメソッドを実装する
4-4 各課金メッセージを処理する
4-4-1 REQUEST_PURCHASE リクエストを送信する
4-4-2 IN_APP_NOTIFY レスポンスを受信する
4-4-3 GET_PURCHASE_INFORMATION リクエストを送信する
4-4-4 PURCHASE_STATE_CHANGED レスポンスを受信する
4-4-5 CONFIRM_NOTIFICATIONS リクエストを送信する
4-4-6 アプリ内課金のサポートを確認する
4-4-7 まとめ
第5章 iPhone & Android アプリ内課金のテスト方法
5-1 iPhone アプリ内課金におけるテスト方法
5-1-1 テスト用のサンドボックス環境について
5-1-2 テストアカウントの作成
5-1-3 サンドボックス環境におけるレシートの有効性の確認
5-1-4 テストの実施
5-2 Android アプリ内課金におけるテスト方法
5-2-1 Play ストアサーバとのレスポンステスト
5-2-2 プロダクトの購入を試すリクエストテスト
第6章 消費型、非消費型モデルのアプリ内課金プログラミング(Android 編)
6-1 アプリ内課金を実装するアプリケーション
6-1-1 ブロックくずしゲームの基本仕様
6-2 販売するプロダクトを登録する
6-2-1 プロダクトリストを作成する
6-2-2 ユーザーアカウントごとに管理(非消費型)
6-2-3 管理なし(消費型)
6-3 ゲーム上からプロダクトを購入できるようにする
6-3-1 ゲーム内でプロダクト情報を定義する
6-3-2 より深くアプリ内課金を理解するために
6-3-3 購入したプロダクトをゲーム上で利用する
6-3-4 プロダクト情報をデータベースに登録する
6-3-5 プロダクトを利用する
6-4 非消費型プロダクトのリストア
6-4-1 非消費型プロダクトの扱い方
6-4-2 非消費型プロダクトをリストアする
6-4-3 リストア状態を保存する
6-4-4 リストア処理を開始する
第7章 消費型、非消費型モデルのアプリ内課金プログラミング(iPhone 編)
7-1 アプリ内課金を実装するアプリケーション
7-1-1 ブロックくずしゲームの基本仕様
7-2 販売するプロダクトを登録する
7-2-1 プロダクトの登録
7-3 ゲーム上からプロダクトを購入できるようにする
7-3-1 サンプルアプリに登場するクラス
7-3-2 事前準備
7-3-3 プロダクト情報の取得とユーザーへのプロダクトの提示
7-3-4 購入開始処理
7-3-5 オブザーバの登録とトランザクションの処理
7-3-6 プロダクトの提供
7-4 トランザクション処理が中断された時の対応
7-4-1 トランザクションの中断が発生するケース
7-4-2 トランザクションが中断された時の問題
7-4-3 2 重購入の防止策
7-5 非消費型プロダクトのリストア
7-5-1 リストアとアプリケーションの審査
7-5-2 リストアの開始
7-5-3 トランザクションの処理
第8章 購読型モデルのアプリ内課金プログラミング(Android 編)
8-1 Android の定期購読課金
8-1-1 課金方法
8-1-2 定期購読課金のシステム要件
8-1-3 支払いプロセスとポリシー
8-1-4 定期購読の解約
8-1-5 アプリケーションをアンインストールした場合
8-1-6 有効期限の確認方法
8-2 定期購読課金の基本実装
8-2-1 プロダクトの登録
8-2-2 リクエストメッセージの修正
8-2-3 購入トークン
8-2-4 購読が継続されなかった場合の処理
8-3 電子書籍アプリに定期購読を実装する
8-3-1 電子書籍アプリの概要
8-3-2 定期購読を実装するポイント
8-3-3 定期購読プロダクトのリストを作成する
8-3-4 REQUEST_PURCHASE リクエストの修正
8-3-5 データベースに購入情報を登録する
8-3-6 プロダクトを利用できるようにする
8-3-7 有効期限のチェック
8-3-8 定期購読課金のテスト
8-4 Google Play Android Developer API
8-4-1 Google Play Android Developer API
8-4-2 プロジェクトを作成する
8-4-3 認証コードの取得
8-4-4 アクセストークンの取得
8-4-5 Google Play Android Developer API へのアクセス
第9章 購読型モデルのアプリ内課金プログラミング(iPhone 編)
9-1 定期購読課金を実装する電子書籍アプリケーション
9-1-1 電子書籍アプリの基本仕様
9-1-2 テスト用のサーバを構築する
9-2 Auto-Renewable Subscriptions(自動更新購読)タイプの概要
9-2-1 自動更新購読タイプの概要
9-2-2 有効期間の設定
9-2-3 ユーザーによる自動更新購読の中止
9-3 販売するプロダクトの登録と共有鍵の生成
9-3-1 プロダクトの登録
9-3-2 共有鍵の生成
9-4 電子書籍アプリ上からプロダクトを購入できるようにする
9-4-1 サンプルアプリに登場するクラス
9-4-2 購入処理の流れ
9-4-3 事前準備
9-4-4 プロダクト情報の取得とユーザーへのプロダクトの提示
9-4-5 購入開始の処理
9-4-6 オブザーバの登録
9-4-7 レシートの有効性の確認(トランザクションの処理)
9-4-8 サンプルアプリへの実装
9-5 テストを行う
9-5-1 サンドボックス環境の購読期間
9-5-2 サーバ側でテスト実施時にレシート検証を行う場合の注意点
第10章 Amazon 課金モデルのアプリ内課金プログラミング(Android 編)
10-1 Amazon のアプリ内課金の概要
10-1-1 Amazon のアプリ内課金サービス
10-1-2 販売できるコンテンツの種類
10-2 In-App Purchasing の開発環境を構築する
10-2-1 Kindle SDK Add-Ons のインストール
10-2-2 Amazon Mobile App SDK のダウンロード
10-2-3 In-App Purchasing API のセットアップ
10-3 In-App Purchasing API の基本構成
10-3-1 アプリケーションの基本構成
10-3-2 Purchasing Manager
10-3-3 Response Receiver
10-3-4 Purchasing Observer
10-3-5 購入シーケンス図
10-4 アプリ内課金を実装する
10-4-1 Kindle Fire 版電子書籍アプリ
10-4-2 オブザーバの準備
10-4-3 ユーザー情報の取得
10-4-4 コンテンツの購入処理の実装
10-5 アプリ内課金のテスト手法
10-5-1 SDK Tester を使ったテスト
10-5-2 JSON ファイルのフォーマットと保存場所
10-5-3 SDK Tester を使う
10-5-4 In-App Purchasing のテストケース
10-6 アプリ内課金のユーザーインタフェースガイドライン
10-6-1 ユーザーインタフェースガイドライン
10-6-2 ユーザーインタフェースの取り決め
第11章 Apple による非消費型プロダクトのホスティングサービス
11-1 Apple による非消費型プロダクトのホスティングサービス
11-1-1 Apple のサーバを利用するということ
11-1-2 コンテンツサーバとして利用できるサービス
11-2 サーバにアップロードするコンテンツの作成
11-2-1 コンテンツの形式
11-2-2 コンテンツの作成
11-3 アプリケーションへの実装
11-3-1 Apple のサーバにホストされたコンテンツの購入の流れ
11-3-2 ダウンロードを開始させる
11-3-3 ダウンロード状況を把握する
付 録 その他の課金&広告表示のプログラミング手法
1-1 アプリケーション内でiTunes Store のコンテンツを購入する
1-1-1 実装する際に使用するクラス、メソッド
1-1-2 コンテンツのID を調べる
1-1-3 プログラムを実装する
1-2 iPhone アプリケーション内に広告を表示する
1-2-1 iAd 広告の種類
1-2-2 iAd のバナー広告を表示させる
1-2-3 AdMob 広告の種類
1-2-4 AdMob の広告を表示させる
1-2-5 画面に広告の表示を行うビューを追加する
1-3 Android アプリケーション内に広告を表示する
1-3-1 AdMob の広告を表示させる
1-3-2 AdMob のSDK をダウンロードする
1-3-3 AdMob をアプリに組込む
1-3-4 プロジェクトにAdMob SDK のライブラリであるJAR ファイルを追加する
1-3-5 マニフェストファイルにAdMob を利用する記述を追加する
1-3-6 Activity でAdMob のView を追加する
1-3-7 com.google.ads.AdListener の設定
1-4 APK Expansion Files を使って大容量データを扱う
1-4-1 APK Expansion Files の概要
1-4-2 拡張ファイルのフォーマットとファイル名
1-4-3 拡張ファイルの保存場所
1-4-4 拡張ファイルのダウンロードプロセス
1-4-5 拡張ファイルのアップロード
1-4-6 サンプルアプリケーションの概要
1-4-7 ライブラリをダウンロードする
1-4-8 ライブラリをインポートする
1-4-9 パーミッションを追加する
1-4-10 ダウンロードサービスを実装する
1-4-11 alarm receiver を実装する
1-4-12 拡張ファイルがすでにダウンロードされていないかどうかを確認する
1-4-13 拡張ファイルのダウンロードを開始する
1-4-14 ダウンロード状況を取得する
1-4-15 拡張ファイルにアクセスして検証を行う
1-4-16 拡張データを利用する
1-4-17 アプリケーションと拡張ファイルをPlay ストアに登録する
索引
付属データはこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。