2012-05-10 9 views
0

アプリに広告を実装したばかりで、アプリ内課金を使用して広告を非表示にするオプションを追加したいと考えています...アプリ内課金を使用して追加を永久に非表示にする方法Android

どうすればいいですか?事前に

ありがとう:D

PS I持ってあなたのXMLレイアウトであなたの広告の各idを与えるxmlファイル

+1

もっと具体的になりますか?それは非常に広い質問です。 –

+0

My InAppBillingチュートリアル:http://blog.blundell-apps.com/simple-inapp-billing-payment/ – Blundell

答えて

3

私はあなたがアプリケーションのステータスを保存するためにsharedPreferencesを使うことができると思います。

アドオンオプションを購入したユーザーは、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()); 
} 

問題は、そのような場合には問題は、ユーザーがすでにadfreeオプションを購入した場合、彼は広告なしで動作し続けなければならないということである、です。 この場合、アプリ内課金は、購入アイテムを管理対象として設定すると、その場合Googleマーケットストアはトランザクションに関する情報を永久に保存し、アプリケーションがアプリ内課金を使用してfirstTimeを開始すると、 RESTORE_TRANSACTIONオプションを使用して、前の トランザクションをすべてチェックできます。

管理対象と管理対象外のアプリケーションの違いについては、ここをクリックしてください。http://developer.android.com/guide/market/billing/billing_admin.html#billing-purchase-type

0
  1. を使用して実装広告

  2. InApp課金

  3. を実装
  4. 正常購入の確認

  5. 参照idあなたは、彼らがアイテムを購入した事実を保存し、onCreate呼び出しでチェックを行う、恒久的な設定として、それを必要とする場合

  6. が視界advert.setVisibility(View.GONE);

を設定findViewById(int id)方法を使用してsetVisibility上記と同じ

+3

これはうまくいくが、可視性のみを変更しても依然として広告が要求されます。実際にレイアウトからビューを削除すると良いでしょう。 –

+0

これはadmobから禁止される可能性があります。自己責任で従ってください。広告をリクエストして表示しないとGoogleの目に悪い可能性があります – Sandeep

+0

@Sandeep admob SDKは、ビューが表示されているか表示されていないかを知っていますが、サーバー広告は表示されません。だから私はそれを疑う – Blundell

関連する問題