• 検索結果がありません。

アプリ内課金SDK 利用マニュアル

N/A
N/A
Protected

Academic year: 2021

シェア "アプリ内課金SDK 利用マニュアル"

Copied!
22
0
0

読み込み中.... (全文を見る)

全文

(1)

MOVERIO

BT-300

アプリ内課金 SDK 利用マニュアル

(2)

本資料のご使用につきましては、次の点にご留意願います。 本資料の内容については、予告なく変更することがあります。 1 本資料の一部、または全部を弊社に無断で転載、または、複製など他の目的に使用することは固くお断りいたします。 2 本資料に掲載されるプログラム、使用方法はあくまでも参考情報であり、これらに起因する第三者の権利 (工業所有権を含む) 侵 害あるいは損害の発生に対し、弊社はいかなる保証を行うものではありません、また、本資料によって第三者または弊社の工業所有 権の実施権の許諾を行うものではありません。 3 本資料に掲載されている製品は、生命維持装置その他、極めて高い信頼性が要求される用途を前提としていません。よって、弊社は 本 (当該) 製品をこれらの用途に用いた場合のいかなり責任についても追いかねます。 商標について 本ドキュメントに記載する製品名、商品名、会社名は、各社の商標または登録商標です。

Google, Android, Android Studio, Chrome は、米国 Google Inc.の米国およびその他の国における商標または登録商標です。 なお、各社の商標および製品商標に対しては特に注記のない場合でも、これを十分尊重いたします。

(3)

目次

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

(4)

1. 概要

BT-300 用アプリ内課金 SDK では MOVERIO Apps Market と連携したアプリ内課金を実装することが出来ます。 アプリ内課金 SDK の対応・非対応のアプリ内課金は以下になります。

【対応可能】

・都度課金 (消費型・非消費型) 【非対応】

・定期購入

SDK を使用し MOVERIO Apps Market と連携することにより、ペイパル(https://www.paypal.com)を 利用したアプリ内課金を簡単に導入することが出来るようになります。

さらに、MOVERIO Apps Market デベロッパーサイトから売上を確認することが可能となります。

(5)

2. 開発環境

BT-300 はシステムソフトウェアとして Android を採用しています。そのため、BT-300 向けアプリ内課金導入アプリケー ションは Android スマートフォン向けのアプリケーション開発と同様の環境で開発することができます。

(6)

3. アプリ内課金 SDK の組み込み

3.1. SDK の利用方法

下記利用方法は、Android Studio でのアプリケーション開発を前提としています。

1) Android Studio の ProjectView を表示し、メニューから [File] - [New] - [New Module...] を選択しま す

(7)

2) Import .JAR/.AAR Package を選択

(8)

4) メニューから [File] - [Project Structure...] を選択します

(9)

6) 先ほど取り込んだ [inappbillingsdk] を選択します

(10)

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 は使用可能となっています。

(11)

1) アプリ内課金を行いたいアプリをアップロードします。アップロード済みの場合は、更新画面を開きます

(12)

3) アプリ内課金アイテムを登録します

4)

登録したアプリ内課金アイテムは、削除が可能です。

5)

一時保存を行うことで、開発向けアイテム ID の使用が可能となります。 なお、一時保存を行うには、一時的に全ての記入項目を埋める必要があります。 一時保存の段階では、入力情報は外部から見ることができませんので、未定の項目は暫定的な情報の入力で構 いません。

(13)

5. アプリ内課金フロー

アプリ内課金対応アプリをご利用いただくために、以下の機能を使用してください。

■アプリ内課金対応/チェック isMvBillingSupported() (Google の isBillingSupported()に相当) ■アプリ内課金アイテム 所有アイテム取得 getMvPurchases () (Google の getPurchases()に相当) ■アプリ内課金アイテム詳細取得 getMvSkuDetails() (Google の getSkuDetails()に相当)

■アプリ内課金アイテム購入 getMvBuyIntent() (Google の getBuyIntent()に相当)

(14)

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 などが 含まれます。

(15)

5.2. アプリ内課金アイテム消費

全てのアプリ内課金アイテムの所有権は MOVERIO Apps Market によって維持されています。 アプリ内課金アイテムが購入されると、購入したユーザーはアイテムを「所有」していることとなります。 「所有」の状態で、再度同じアイテムを購入することは出来ません。その為、再び購入を行うには「消費」を行う必要が あります。 アプリ内課金アイテムの「消費」を行うことで、ユーザーは「非所有」の状態に戻り、以前の購入データは破棄されます。 アプリ内課金アイテムを「消費型」とするか、「非消費型」とするかは、全て開発者が選択可能です。 「非消費型」のアイテムは、「消費」を行うことなく、一度の購入で永続的にユーザーに所有権が発生します。 「消費型」のアイテムは、複数回の購入・使用が可能なアイテムとなり、アプリ内に「消費」の処理を実装する必要がありま す。

(16)

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 がログイン状態で実行されます。

(17)

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

(18)

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 アプリ内課金アイテム ID type アプリ内課金種別 price 価格 + 通貨 price_amount_micros マイクロ単位での価格。1,000,000 マイクロ単位=1 通貨単位。 price_currency_code 通貨 title アプリ内課金アイテム名

(19)

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

(20)

■購入 Intent の Result

キー 内容 型

RESPONSE_CODE 処理結果コード int INAPP_PURCHASE_DATA (JSON)購入データ String INAPP_DATA_SIGNATURE シグネチャー String ■購入データ JSON 以下のデータを格納した JSON データ キー 内容 orderId オーダーID packageName アプリケーション パッケージ名 productId アプリ内課金アイテム ID purchaseTime 購入日時 purchaseState 購入ステータス (0:購入、1:キャンセル、2:エラー) developerPayload 購入情報文字列 purchaseToken ユーザーとアイテムのペアから生成されるユニークな ID

(21)

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)

■戻り値

(22)

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 未所有アイテム

参照

関連したドキュメント

メモ  : 権利の詳細な管理は、 BlackBerry WorkspacesEnterprise ES モード BlackBerry Workspaces およ. び Enterprise ES ( 制限付きフルアクセス )

Although I admittedly do not understand string theory from a physical point of view, I do think (most of my colleagues from algebraic QFT do not share such optimistic ideas) that

①アプリをアンインストール スタート > 設定 > アプリ > アプリと機能 > Docan Browser5. ②関連ファイル削除(1)

That is, we want to know if we can generalize Jacobsthal numbers, to express the number of occurrences of each digit in each shortest repeating string in the b-ary g-Collatz

So consider an arbitrary string s ∈ T , and imagine writing, after each initial segment, the number of left minus right parentheses in that segment.. gambling terminology, this count

画面構成等は、電気工事店さまがスムーズに手続きを行えるように設計

When the flag is set, the device enters FAIL status mode and LED’s are switched ON/OFF following the OTP memory bits 8−11 in Table 24. The bit is cleared upon a successful readout

物質工学課程 ⚕名 電気電子応用工学課程 ⚓名 情報工学課程 ⚕名 知能・機械工学課程