ここでは Unity アプリケーションが AIP (アプリ内課金) ストアとインタラクトするために必要なデジタルレコードと関係の構築手順について説明します。Unity IAP API がターゲットです。
アプリ内課金 (IAP) はお金とデジタルグッズを取引する処理です。プラットフォームのストアでは、デジタル製品であるプロダクトの購入が可能です。これらのプロダクトには通常、文字列データ型の ID があります。プロダクトには有効な期間を表すタイプがあります。もっとも一般的なのは、Subscription (定期購入することができるタイプ)、Consumable (繰り返し購入することができるタイプ)、Non-consumable (一度のみ購入できるタイプ) です。
Android Bundle ID を共有する複数の Android のアプリ内ストア (サムスン、Google など) に同時にパブリッシングする場合、ストア間を横断してプロダクトをインストールすることで問題が発生する場合があります。詳しくは Android アプリ内課金 (IAP) ストアにおける、ストア間を横断してプロダクトをインストールする場合の問題 を参照してください。
Unity IAP を実装するプログラムを書きます。詳しくは Unity IAP 初期化 と Integrating Unity IAP with your app を参照してください。
後で Samsung Apps Seller Office に使用するためにアプリケーションのプロダクト ID が必要です。
その他の方法としては、Editor API を呼び出します。
UnityPurchasingEditor.TargetAndroidStore(AndroidStore.SamsungApps)
Tip: キーストアファイルが安全に保存されているかを確認してください。オリジナルのキーストアはパブリッシュされたアプリケーションをアップデートするときに常に必要です。
Samsung Galaxy Apps Seller Office で Android アプリケーションを登録します。
App Store Developer Console で、Binary を開き Add binary を選択します。
デバイスの性能を Resolution(s) と Google Mobile Service に入力し、APK (上記「はじめに」のセクションで作成済) を Binary upload で読み込みます。それから Save をクリックします。
APK の読み込みが終了するのを待ち、 Save をクリックします。
Seller Office で、1 つ以上のアプリ内プロダクトを加えます。
AddProduct()
や AddProducts()
をとおして Unity IAP ConfigurationBuilder インスタンスに加えられます。デバッグのため、 reverse-DNS を Item ID に使用するのが効率的です。Item ID が有効で固有であることを確認するため、Check をクリックし、それから、 Item Type と他の要素を入力し、Save をクリックします。Samsung Galaxy App Store では、実際の IAP を始める前に Developer mode (開発用) の値を使用してテストすることができます。この特別なビルドはサムスンの請求用サーバーと接続していて、虚偽の購入を行うことができます。そのため、ここではそのプロダクトに関する実際の費用の発生無しに、アプリケーションの購入ロジックをテストすることができます。
ConfigurationBuilder
インスタンスを作成した後に以下の行を加え、アプリケーションの Unity IAP インテグレーションを修正します。
builder.Configure<ISamsungAppsConfiguration>().SetMode(SamsungAppsMode.AlwaysSucceed); // テスト: サムスンにより、すべてのトランザクションは自動承認されます
さらに、SamsungAppsMode.AlwaysFail
列挙型をとおして、すべてのトランザクションを失敗するように設定することができます。これにより、すべてのエラーコードをテストできます。
アプリケーションをビルドして実行し、IAP ロジックをテストします。開発者モードが実装されている限り、実際の費用は発生しません。
SetMode
の行を忘れずに削除してください。そうしないと、アプリケーションが実際に本番モードで使用されたときに、ユーザーに実際の支払いが発生しません。Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.