ゲームに「広告なし」サービスを追加して、1回の支払いで広告を削除できるようにします。どうすればこれを正しく実装できますか?
サービスがデバイスでローカルに支払われたという事実を保存するだけの場合、ユーザーがアプリケーションのデータを何らかの方法で消去した場合、ユーザーは再度支払わなければなりません。
ゲームに「広告なし」サービスを追加して、1回の支払いで広告を削除できるようにします。どうすればこれを正しく実装できますか?
サービスがデバイスでローカルに支払われたという事実を保存するだけの場合、ユーザーがアプリケーションのデータを何らかの方法で消去した場合、ユーザーは再度支払わなければなりません。
回答:
Google Playのアプリ内購入APIを使用して「広告の無効化」購入を実装する場合、これは基本的に処理されます。ユーザーが購入できる非消耗品を作成する必要があります。消耗品ではない製品は、本質的に永続的な利益またはロック解除を表します。このような購入は、ユーザーがワイプ/クリーン/新しい電話に復元できるため、広告の無効化を再購入する必要はありません。
このページには、IAP APIをゲームに統合するための詳細な手順が含まれています。基本的な手順は次のとおりです。
IInAppBillingService
サービス接続を介してバインドします。getSkuDetails
利用可能な製品のリストを取得しgetBuyIntent
、購入トランザクションを開始するなど)。また、を介してgetPurchases
、ユーザーが「広告を無効にする」アイテムを購入したかどうかをテストする必要があります(購入した場合は、実際に広告を無効にします)。
Google Playデベロッパーコンソールから実際の「広告を無効にする」購入可能なアイテムを作成します。
Joshの答えのようにGoogle Playのツールを使用していない場合(ただし、これらのツールを使用することをお勧めします)。この情報を自分で管理する必要があります。
ユーザーのデバイスに何かをローカルに保存することは避けたいでしょう。ユーザーは、デバイスごとまたはインストールごとに広告を削除するために支払う必要はありません。
支払い済みのユーザーでデータベースを維持する必要があります。起動時(毎回、別のデバイスで広告の削除を購入した場合)、アプリケーションはデータベースをチェックし、ユーザーアカウントが見つかった場合、そのインストールの広告を永久に無効にします。ユーザーアカウント情報は、ユーザー固有、理想的には広告の削除を購入するために使用したGoogleアカウントでなければなりません。
ユーザーが広告の削除を購入すると、アカウント情報をデータベースに追加し、広告を無効にします。