2012-07-30 81 views
11

以下是我的問題: -列出已安裝的應用程序的從谷歌對戰谷歌​​帳戶

  1. 是否有可能通過獲得的用戶已經安裝了,對他們的谷歌帳戶通過谷歌播放應用程序列表中,編程使用任何api ?.請注意,我沒有詢問設備中當前安裝的應用程序列表,但是已經安裝了某些應用程序。

我需要一個解決方案上面,因爲我在我的應用程序,這是思維的情景的:

  • 我想在最初的3個月給我的應用程序給用戶免費,三個月後,如果用戶卸載應用程序,然後再次安裝,我希望通過任何api(來自Google Play)檢測到用戶第二次安裝了該應用程序(並且不應得到任何免費使用)。 Please note that I don't want to use any web service to store the account id & device id of the user at my side.
+0

在這裏,您可以開始搜索:http://code.google.com/p/android-market-api/ 這也可能是有益的:http://stackoverflow.com/問題/ 10661434 /沒有谷歌播放有一個API – Ronnie 2012-08-03 18:33:46

回答

5

對於選項2,您可以在SD卡上創建一個文件。當用戶卸載/安裝時,這將保持在那裏。但用戶可以隨時刪除您的特殊文件。除非你在身邊做某件事,否則你永遠不知道用戶是否已經使用過你的應用程序。


完全確信,在線存儲是: 你需要有其中認爲安裝應用程式的DEVICE_ID列表的非常簡單的數據庫。 此外,還有一個填充此數據庫的網頁。 在您的應用程序中,您下載/打開該網頁將填充數據庫。

應用>這將打開http://www.example.com/registerDevice.php?device_id= Web客戶端(或其它)。該PHP網站填充數據庫。

您的應用程序將需要檢查的數據庫,如果當前的設備已經安裝這個程序序工作/無法正常工作。你可以通過相同的php來做到這一點,並檢查響應。例如,你可以返回'ok'或'not ok'或其他東西。

+1

這將是非常不可靠的方法來存儲信息。 Sdcard可能被格式化,替換,刪除文件等。更可能在3個月的時間範圍內。 – 2012-08-01 20:59:50

+0

感謝您的回覆@PoweRoy。但是,你能告訴我「我在我身邊必須做些什麼嗎?」。 – 2012-08-02 03:53:37

+0

@mice:確實這是非常不可靠 – RvdK 2012-08-02 14:45:48

3

最簡單的方法是讓該帳戶的第一次,他/她將運行應用程序的用戶,併發送細節交給你。 如何,這是可以做到的是證據充分的看過來:How to get the Android device's primary e-mail address

您必須添加另一行代碼的程序的第一個開始檢查回數據庫。

編輯:對於非網絡解決方案,只需一個計時器添加到您的應用程序的啓動:

schedule(TimerTask task, Date when) 

任務應該加入令牌的時間,你想給的時間後,到了手機的內存與用戶的帳戶詳細信息進行身份驗證(請參閱獲取帳戶詳細信息的第一個解決方案)

最後,如上所述,爲該特定文件添加一個回調到手機內存以查看用戶是否已使用該應用程序之前。

問題與基於手機內存的任何類型的身份驗證是人們可以很容易地刪除令牌,如果他們可以找到它,並重新使用該應用程序。

+0

感謝@bernlim的回覆。但是在寫下''''''''''''''''''''''''''''''''''''''''''''''''''''''這個問題上您沒有明白我的意思。我不想使用任何Web服務來存儲用戶的帳戶ID和設備ID。' – 2012-08-06 03:22:41

+0

爲您編輯! – bernlim 2012-08-06 05:46:53

0

試試這個裝置具體實施:

PackageManager packageManager = getContext().getPackageManager(); 
List<ApplicationInfo> applications = packageManager.getInstalledApplications(
     PackageManger.GET_UNINSTALLED_PACKAGES); 
// retrieves some information about all applications (even uninstalled ones) 
// which have data directories 

當然,如果用戶更換設備這種方法是行不通的。但是你不需要使用任何Web服務。

相關問題