アプリに広告を実装したばかりですが、ユーザーがアプリの課金で使用する広告を完全に非表示にするオプションを追加したいと思います...
どうすればいいのですか?
よろしくお願いします:D
PS私はxmlファイルを使用して広告を実装しました
sharedPreferencesを使用してアプリケーションのステータスを保存できると思います。
ユーザーがadfreeオプションを購入した場合、sharedPreferenceの1つのアイテムのステータスを変更します。
たとえば、購入後、次のようなことを行う必要があります。
SharedPreferences preferences =
PreferenceManager.getDefaultSharedPreferences(this);
// The SharedPreferences editor - must use commit() to submit changes
SharedPreferences.Editor editor = preferences.edit();
// Edit the saved preferences
editor.putString("status", "purchased");
editor.commit();
そして、アプリケーションの起動時に、ユーザーが購入したステータスを持っていない場合にのみ、その設定値を確認して広告をリクエストする必要があります。例えば:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.getString("status", "free");
if(prefs.equals("free") {
AdView adView = (AdView) findViewById(R.id.adViewMain);
adView.loadAd(new AdRequest());
}
問題は、ユーザーがアプリケーションをアンインストールするときです。その場合、問題は、ユーザーがすでに広告なしのオプションを購入している場合、広告なしで作業を続ける必要があるということです。その場合、アプリ内課金が役立ちます。購入アイテムを管理対象として設定すると、Googleマーケットはトランザクションに関する情報を永続的に保存し、アプリケーションが初めて起動したときに、アプリ内課金を使用して次のことができます。 RESTORE_TRANSACTIONオプションを使用して、以前のすべてのトランザクションを確認します。
管理対象アプリと非管理対象アプリの違いについては、こちらをご覧ください:http ://developer.android.com/guide/market/billing/billing_admin.html#billing-purchase-typeお 役に立てば幸いです。
id
XMLレイアウトで各広告を提供します
InApp課金を実装する
購入が成功したかどうかを確認します
メソッドid
を使用して参照するfindViewById(int id)
可視性を設定するadvert.setVisibility(View.GONE);
恒久的な設定として必要な場合は、アイテムを購入したという事実を保存し、上記のようにonCreate
電話でチェックインしてくださいsetVisibility