ここでは Unity アプリケーションが AIP (アプリ内課金) ストアとインタラクトするために必要なデジタルレコードと関係の構築手順について説明します。Unity IAP API がターゲットです。
アプリ内課金 (IAP) はお金とデジタルグッズを取引する処理です。プラットフォームのストアでは、デジタル製品であるプロダクトの購入が可能です。これらのプロダクトには通常、文字列データ型の ID があります。プロダクトには有効な期間を表すタイプがあります。もっとも一般的なのは、Subscription (定期購入することができるタイプ)、Consumable (繰り返し購入することができるタイプ)、Non-consumable (一度のみ購入できるタイプ) です。
ノート: Samsung Galaxy ストアは現在廃止されており、Unity In-App Purchasing パッケージ 4.0.0 以降ではサポートされていません。この Samsung Galaxy ストア設定ガイドは、IAP パッケージのバージョン 3.1.0 以前にのみ適用されます。Unity IAP パッケージ 4.0.0 以降を使用し、Samsung Galaxy ストアを実装したい場合は、代わりに Unity Distribution Platform を使用してください。
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)
ヒント: キーストアファイルが安全に保存されているかに特に注意してください。オリジナルのキーストアは、公開されたアプリケーションを更新するときに常に必要です。
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
の行を忘れずに削除してください。そうしないと、アプリケーションが実際に本番モードで使用されたときに、ユーザーに実際の支払いが発生しません。