2012-02-17 77 views
6

我正在尋找一個小教程或解釋我如何通過inn-app-purchase移除我的應用中的廣告? 我會將一些廣告與admob放在我的應用程序中,但我也希望用戶可以在付出一點捐助時禁用廣告。你知道一個方面或教程,我可以找到一步一步解釋來做到這一點? 或者我需要發佈我的應用程序的2個版本?一個廣告和一個沒有廣告的付款?使用應用內購買功能移除廣告

回答

5

請勿使用SharedPreferences方法,因爲如果用戶刷新應用程序數據或卸載/重新安裝應用程序,其無廣告狀態將會丟失。

一對夫婦的想法:

  1. 如果您的應用程序有任何一種基於Web登錄或授權的,你可以標記,用戶爲已通過更新網頁數據庫中的客戶數據購買的廣告的免費版本,然後禁用廣告代碼在登錄和驗證後進行。這有助於跟隨用戶使用新設備。
  2. 使用以下幾種方法之一來獲取唯一的設備ID,並將其存儲在Web服務器數據庫中。在啓動時,查詢數據庫以查看設備是否無廣告。見Android Unique Device ID。這將只適用於特定的設備。

這兩種應用程序的方法很簡單,可以完成工作。 :)

+0

聽起來像是不錯的想法,但我沒有該用戶的身份驗證或登錄(因爲它不是必需的)。不能讓市場處理這些信息嗎?我認爲市場也知道用戶是否購買了inn-app-stuff。難道有可能從市場上檢查嗎? – Informatic0re 2012-02-17 11:16:34

+2

請參閱文檔[此處](http://developer.android.com/guide/market/billing/billing_integrate.html)中的「恢復交易信息」部分。 簡而言之: RESTORE_TRANSACTIONS請求...包含詳細的交易信息。交易信息包含在已簽名的JSON字符串中(未加密)。 'Bundle request = makeRequestBundle(「RESTORE_TRANSACTIONS」); request.putLong(REQUEST_NONCE,mNonce); Bundle response = mService.sendBillingRequest(request); //對此做出迴應。' – Maz 2012-02-18 07:49:08

+1

小改正:如果用戶卸載並安裝應用程序,則不會刪除SharedPreference數據。當用戶有意清除應用程序卸載頁面中的應用程序數據或對設備進行格式化時,它僅被刪除**。但除此之外,你的回答是正確的。 – 2012-03-16 15:32:30

1

此演示文稿似乎解釋了一個示例,其中包含一個指向github源代碼的鏈接: http://gotocon.com/dl/2011/GeekNights/Tjen_penge_p%C3%A5_Android_ARH.pdf。 它將購買的升級存儲在sharedpreference中。

不過,我仍然在尋找可以算出一個更加安全和可靠的解決方案用例說明這裏: http://vlingo-en.custhelp.com/app/answers/detail/a_id/1785/~/moving-in-app-purchase-(ad-removal)-to-new-android-phone/p/180

+2

請更正vlingo-en的鏈接。它被打破了 – 2014-07-19 03:10:16