ゲームで「広告を無効にする」購入を実装するにはどうすればよいですか?


18

ゲームに「広告なし」サービスを追加して、1回の支払いで広告を削除できるようにします。どうすればこれを正しく実装できますか?

サービスがデバイスでローカルに支払われたという事実を保存するだけの場合、ユーザーがアプリケーションのデータを何らかの方法で消去した場合、ユーザーは再度支払わなければなりません。


1
質問の2番目の部分は広すぎます(Byteはすでに編集済みです)。質問の最初の部分は不明確です。あなたはこれが道徳的または倫理的に大丈夫かどうか尋ねていますか?または、サービスがデバイスで支払われたという事実を保存する方法を尋ねていますか?

1
今のところ、質問を解釈するための唯一の遠隔トピックの方法であるため、あなたはどのように尋ねていると仮定するつもりです。

回答:


29

Google Playのアプリ内購入API使用して「広告の無効化」購入を実装する場合、これは基本的に処理されます。ユーザーが購入できる非消耗品を作成する必要があります。消耗品ではない製品は、本質的に永続的な利益またはロック解除を表します。このような購入は、ユーザーがワイプ/クリーン/新しい電話に復元できるため、広告の無効化を再購入する必要はありません。

このページには、IAP APIをゲームに統合するための詳細な手順が含まれています。基本的な手順は次のとおりです。

  • ライブラリをプロジェクトに追加し、マニフェストファイルを更新します。
  • IInAppBillingServiceサービス接続を介してバインドします。
  • そのインターフェースを介してサービスに適切なデータを送受信します(getSkuDetails利用可能な製品のリストを取得しgetBuyIntent、購入トランザクションを開始するなど)。

また、を介してgetPurchases、ユーザーが「広告を無効にする」アイテムを購入したかどうかをテストする必要があります(購入した場合は、実際に広告を無効にします)。

Google Playデベロッパーコンソールから実際の「広告を無効にする」購入可能なアイテムを作成します。


それでは、Googleがアプリに「消費可能な」IAPがあるかどうかを事前に知っていますか?彼らはそれを店で本当に明らかにすべきです。「アプリ内購入がある」とは何でもいい。
Random832

3
@ Random832いいえ、そうは思いません。製品がサブスクリプションであるかどうかだけを知っています。任意の非サブスクリプション製品に対して「consumePurchase」リクエストを送信できます。消耗品は製品自体ではありません。理論的には、バイナリをスキャンして、そのインターフェイスに対する呼び出しを探すことができると思いますが、気にすることはないでしょう。

1
たぶん、IAPとAPIがお互いのアナグラムであることは偶然ではありません。
-ArtOfCode

IAP APIを発音しようと自分の舌をねじる
...-StorymasterQ

10

Joshの答えのようにGoogle Playのツールを使用していない場合(ただし、これらのツールを使用することをお勧めします)。この情報を自分で管理する必要があります。

ユーザーのデバイスに何かをローカルに保存することは避けたいでしょう。ユーザーは、デバイスごとまたはインストールごとに広告を削除するために支払う必要はありません。

支払い済みのユーザーでデータベースを維持する必要があります。起動時(毎回、別のデバイスで広告の削除を購入した場合)、アプリケーションはデータベースをチェックし、ユーザーアカウントが見つかった場合、そのインストールの広告を永久に無効にします。ユーザーアカウント情報は、ユーザー固有、理想的には広告の削除を購入するために使用したGoogleアカウントでなければなりません。

ユーザーが広告の削除を購入すると、アカウント情報をデータベースに追加し、広告を無効にします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.