MOVERIO BT-300 アプリ内課金 SDK 利用マニュアル Rev.1.0
本資料のご使用につきましては 次の点にご留意願います 本資料の内容については 予告なく変更することがあります 1 本資料の一部 または全部を弊社に無断で転載 または 複製など他の目的に使用することは固くお断りいたします 2 本資料に掲載されるプログラム 使用方法はあくまでも参考情報であり これらに起因する第三者の権利 ( 工業所有権を含む ) 侵害あるいは損害の発生に対し 弊社はいかなる保証を行うものではありません また 本資料によって第三者または弊社の工業所有権の実施権の許諾を行うものではありません 3 本資料に掲載されている製品は 生命維持装置その他 極めて高い信頼性が要求される用途を前提としていません よって 弊社は本 ( 当該 ) 製品をこれらの用途に用いた場合のいかなり責任についても追いかねます 商標について本ドキュメントに記載する製品名 商品名 会社名は 各社の商標または登録商標です Google, Android, Android Studio, Chrome は 米国 Google Inc. の米国およびその他の国における商標または登録商標です なお 各社の商標および製品商標に対しては特に注記のない場合でも これを十分尊重いたします SEIKO EPSON CORAPORATION 2016, All right reserved. MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 2
目次 1. 概要... 4 2. 開発環境... 5 3. アプリ内課金 SDK の組み込み... 6 3.1. SDK の利用方法... 6 4. アプリ内課金の概要... 10 4.1. SDK をご利用の際の注意点... 10 4.2. MOVERIO Apps Market へのアプリケーション登録... 10 5. アプリ内課金フロー... 13 5.1. アプリ内課金アイテム購入... 14 5.2. アプリ内課金アイテム消費... 15 6. アプリ内課金 API... 16 6.1. アプリ内課金対応 / 非対応チェック API... 16 6.2. アプリ内課金アイテム所有アイテム取得 API... 17 6.3. アプリ内課金アイテム詳細取得 API... 18 6.4. アプリ内課金アイテム購入 API... 19 6.5. アプリ内課金アイテム消費 API... 21 7. レスポンスコード一覧... 22 MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 3
1. 概要 BT-300 用アプリ内課金 SDK では MOVERIO Apps Market と連携したアプリ内課金を実装することが出来ます アプリ内課金 SDK の対応 非対応のアプリ内課金は以下になります 対応可能 都度課金 ( 消費型 非消費型 ) 非対応 定期購入 SDK を使用し MOVERIO Apps Market と連携することにより ペイパル (https://www.paypal.com) を 利用したアプリ内課金を簡単に導入することが出来るようになります さらに MOVERIO Apps Market デベロッパーサイトから売上を確認することが可能となります MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 4
2. 開発環境 BT-300 はシステムソフトウェアとして Android を採用しています そのため BT-300 向けアプリ内課金導入アプリケーションは Android スマートフォン向けのアプリケーション開発と同様の環境で開発することができます 開発環境の導入については 別資料 Google が公開している Android Studio に関する資料等 ) を参照ください MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 5
3. アプリ内課金 SDK の組み込み 3.1. SDK の利用方法 下記利用方法は Android Studio でのアプリケーション開発を前提としています 1) Android Studio の ProjectView を表示し メニューから [File] - [New] - [New Module...] を選択しま す MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 6
2) Import.JAR/.AAR Package を選択 3) アプリ内課金 SDK inappbillingsdk.aar ファイルを指定 MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 7
4) メニューから [File] - [Project Structure...] を選択します 5) [Dependencies] タブを開き [+] ボタンから [Module dependency] を選択します MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 8
6) 先ほど取り込んだ [inappbillingsdk] を選択します 以上で SDK の設定は完了です MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 9
4. アプリ内課金の概要 4.1. SDK をご利用の際の注意点 アプリ内課金 SDK は MOVERIO Apps Market と連携し ペイパルを通して支払が行われます そのため 評価時には MOVERIO Apps Market のユーザーアカウント ペイパルのサンドボックスアカウントが必要となります また アプリ内課金 SDK を使用したアプリ内課金は Log In with PayPal を行いペイパルアカウントと連携済みのデベロッパーアカウントが必要となります アプリ内課金の評価方法につきましては 課金評価からアプリ公開までの流れ をご参照ください アプリ内課金は MOVERIO Apps Market メンテナンス時に 一時的に使用出来なくなる場合があります 4.2. MOVERIO Apps Market へのアプリケーション登録 アプリ内課金を行うには MOVERIO Apps Market デベロッパーサイトに アプリを事前登録する必要があります アプリ登録と併せて アプリ内課金アイテムの登録を実施してください 開発用のアプリ内課金アイテムは アプリの一時保存後 即座に使用可能となります アプリ内課金組み込みアプリの開発後 MOVERIO Apps Market で公開申請を行うことで 本番環境でのアプリ内課金の実施が可能となります また 公開申請後も開発用 ID は使用可能となっています MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 10
1) アプリ内課金を行いたいアプリをアップロードします アップロード済みの場合は 更新画面を開きます 2) 対応機種 BT-300 のチェックを入れ アプリ内課金 あり ( エプソン SDK) を選択します MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 11
3) アプリ内課金アイテムを登録します 4) 登録したアプリ内課金アイテムは 削除が可能です 5) 一時保存を行うことで 開発向けアイテム ID の使用が可能となります なお 一時保存を行うには 一時的に全ての記入項目を埋める必要があります 一時保存の段階では 入力情報は外部から見ることができませんので 未定の項目は暫定的な情報の入力で構いません MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 12
5. アプリ内課金フロー アプリ内課金対応アプリをご利用いただくために 以下の機能を使用してください アプリ内課金対応 / チェック ismvbillingsupported() (Google の isbillingsupported() に相当 ) アプリ内課金アイテム所有アイテム取得 getmvpurchases () (Google の getpurchases() に相当 ) アプリ内課金アイテム詳細取得 getmvskudetails() (Google の getskudetails() に相当 ) アプリ内課金アイテム購入 getmvbuyintent() (Google の getbuyintent() に相当 ) アプリ内課金アイテム消費 consumemvpurchase() (Google の consumepurchase() に相当 ) MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 13
5.1. アプリ内課金アイテム購入 1. まず ismvbillingsupported を使用して BT-300 アプリ内課金用 SDK に対応しているかを MOVERIO Apps Market に問い合わせます 2. ユーザーが所有しているアプリ内課金アイテムを照会するには getmvpurchases を使用します リクエストが正常に処理された場合 MOVERIO Apps Market はユーザーが所有しているアイテムや購入の詳細を返却します 3. MOVERIO Apps Market に登録したアイテム ID の詳細を取得するには getmvskudetails を使用します リクエストが正常に処理された場合 価格 タイトルなどの詳細を返却します 4. アプリ内課金アイテムがユーザーに所有されていない場合 そのアイテムの購入処理を開始することが出来ます 購入を開始するには getmvbuyintent を使用します 5. getmvbuyintent にて返却される Bundle には 購入の為の画面を表示するための PendingIntent が含まれます startintentsenderforresult を使用して この PendingIntent を起動してください 6. 購入フローが完了すると MOVERIO Apps Market は onactivityresult に対して結果コード含めた購入情報を送信します 購入情報には 取引の識別子である purchasetoken や developerpayload などが含まれます MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 14
5.2. アプリ内課金アイテム消費 全てのアプリ内課金アイテムの所有権は MOVERIO Apps Market によって維持されています アプリ内課金アイテムが購入されると 購入したユーザーはアイテムを 所有 していることとなります 所有 の状態で 再度同じアイテムを購入することは出来ません その為 再び購入を行うには 消費 を行う必要があります アプリ内課金アイテムの 消費 を行うことで ユーザーは 非所有 の状態に戻り 以前の購入データは破棄されます アプリ内課金アイテムを 消費型 とするか 非消費型 とするかは 全て開発者が選択可能です 非消費型 のアイテムは 消費 を行うことなく 一度の購入で永続的にユーザーに所有権が発生します 消費型 のアイテムは 複数回の購入 使用が可能なアイテムとなり アプリ内に 消費 の処理を実装する必要があります MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 15
6. アプリ内課金 API アプリ内課金対応アプリをご利用いただくために 以下の機能について説明いたします アプリ内課金対応 / 非対応チェック ismvbillingsupported() (Google の isbillingsupported() に相当 ) アプリ内課金アイテム所有アイテム取得 getmvpurchases () (Google の getpurchases() に相当 ) アプリ内課金アイテム詳細取得 getmvskudetails() (Google の getskudetails() に相当 ) アプリ内課金アイテム購入 getmvbuyintent() (Google の getbuyintent() に相当 ) アプリ内課金アイテム消費 consumemvpurchase() (Google の consumepurchase() に相当 ) 6.1. アプリ内課金対応 / 非対応チェック API アプリ内課金が使用可能かを判定します インポートファイル com.epson.moverio.inappbillingsdk.billing コンストラクタ Billing (Context context) インターフェース int ismvbillingsupported() パラメータなし 戻り値実行結果 1( 対応 ) 0( 非対応 ) 2(MOVERIO Apps Market ログアウト状態 ) 注 ) アプリ内課金は MOVERIO Apps Market がログイン状態で実行されます MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 16
6.2. アプリ内課金アイテム所有アイテム取得 API ユーザーが所有しているアプリ内課金アイテムの一覧を取得できます インポートファイル com.epson.moverio.inappbillingsdk.billing コンストラクタ Billing (Context context) インターフェース Bundle getmvpurchases (String packageid, String type) パラメータ packageid : アプリパッケージ名 type : 課金種別アプリ内課金 ( inapp ) 固定 戻り値以下のデータを格納した Bundle キー内容型 RESPONSE_CODE 処理結果コード int INAPP_PURCHASE_ITEM_LIST アイテム ID リスト StringArrayList INAPP_PURCHASE_DATA_LIST (JSON) 購入データリスト StringArrayList INAPP_DATA_SIGNATURE_LIST シグネチャーリスト StringArrayList MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 17
6.3. アプリ内課金アイテム詳細取得 API 登録したアプリ内課金アイテムの詳細を取得できます 開発評価用のアイテムを取得する場合は 開発用 ID をリストに格納してパラメータに設定してください インポートファイル com.epson.moverio.inappbillingsdk.billing コンストラクタ Billing (Context context) インターフェース Bundle getmvskudetails (String packageid, String type, Bundle bundle) パラメータ packageid : アプリパッケージ名 type : 課金種別アプリ内課金 ( inapp ) 固定 bundle : "ITEM_ID_LIST" に アプリ内課金アイテム ID のリストを格納した Bundle 戻り値以下のデータを格納した Bundle キー内容型 RESPONSE_CODE 処理結果コード int DETAIL_LIST 課金アイテムリスト (JSON) StringArrayList 課金アイテム JSON 以下のデータを格納した JSON データキー内容 productid type price アプリ内課金アイテム ID アプリ内課金種別 価格 + 通貨 price_amount_micros マイクロ単位での価格 1,000,000 マイクロ単位 =1 通貨単位 price_currency_code title 通貨 アプリ内課金アイテム名 MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 18
6.4. アプリ内課金アイテム購入 API アプリ内課金アイテムの購入の準備をします 戻り値に格納している PendingIntent を startintentsenderforresult メソッドにて実行することで ユーザーの購入が開始できます 開発評価用のアイテム ID を設定した場合 購入はペイパルの Sandbox にて実行されます インポートファイル com.epson.moverio.inappbillingsdk.billing コンストラクタ Billing (Context context) インターフェース Bundle getmvbuyintent (String packageid, String productid, String type, String developerpayload) パラメータ packageid : アプリパッケージ名 productid : アプリ内課金アイテム ID type : 課金種別アプリ内課金 ( inapp ) 固定 developerpayload : 購入完了時に購入データ JSON に含めて返却する文字列 戻り値以下のデータを格納した Bundle キー内容型 RESPONSE_CODE 処理結果コード int BUY_INTENT ペイパル購入 Intent PendingIntent MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 19
購入 Intent の Result キー 内容 型 RESPONSE_CODE 処理結果コード int INAPP_PURCHASE_DATA (JSON) 購入データ String INAPP_DATA_SIGNATURE シグネチャー String 購入データ JSON 以下のデータを格納した JSON データ キー内容 orderid packagename productid purchasetime オーダー ID アプリケーションパッケージ名アプリ内課金アイテム ID 購入日時 purchasestate 購入ステータス (0: 購入 1: キャンセル 2: エラー ) developerpayload purchasetoken 購入情報文字列 ユーザーとアイテムのペアから生成されるユニークな ID MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 20
6.5. アプリ内課金アイテム消費 API ユーザーが所有しているアプリ内課金アイテムの消費を実行します 消費済みのアイテムの二重消費や未購入アイテムの消費を行った場合は エラーコードが返ります 開発者さまのシステム上 消費が不要なアイテムであれば こちらの API は実行する必要がありません インポートファイル com.epson.moverio.inappbillingsdk.billing コンストラクタ Billing (Context context) インターフェース int consumemvpurchase (String packageid, String token) パラメータ packageid : アプリパッケージ名 token : 購入済みアイテムの token (INAPP_PURCHASE_DATA_LIST 内の purchasetoken) 戻り値実行結果 0( 正常値 ) その他( エラー ) MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 21
7. レスポンスコード一覧 MOVERIO アプリ内課金 SDK で使用されるレスポンスコードの一覧です レスポンスコード 値 内容 BILLING_RESPONSE_RESULT_OK 0 正常終了 BILLING_RESPONSE_RESULT_USER_CANCELED 1 ユーザーキャンセル BILLING_RESPONSE_RESULT_SERVICE_UNAVAILABLE 2 マーケットサービス使用不可エラー BILLING_RESPONSE_RESULT_BILLING_UNAVAILABLE 3 アプリ内課金使用不可エラー BILLING_RESPONSE_RESULT_ITEM_UNAVAILABLE 4 アイテム情報不正 BILLING_RESPONSE_RESULT_DEVELOPER_ERROR 5 パラメータ誤りエラー BILLING_RESPONSE_RESULT_ERROR 6 不明なエラー BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED 7 所有済みアイテム BILLING_RESPONSE_RESULT_ITEM_NOT_OWNED 8 未所有アイテム MOVERIO アプリ内課金 SDK 利用マニュアル (Rev.1.0) 22