2013-02-06 52 views
3

如何爲Android應用程序實現(自動更新)訂閱。識別Google Play訂閱的用戶

我讀過documentation

而據我瞭解,過程如下:

  • 用戶訂閱的應用程序這樣的訂閱。這將生成一個購買令牌。
  • 該應用程序發送該令牌服務器的東西一起,以確定該用戶
  • 將存儲與該用戶此購買令牌,將迎來申購爲有效
  • 服務器的服務器驗證通過這種購買令牌定期(通常每天一次)使用類似cronjob的http-api
  • 如果訂閱無效,訂閱將在服務器端標記爲無效。
  • 如果應用程序向服務器發出對需要預訂的資源的請求,則客戶端將發送此用戶標識字符串以及請求。然後,我們檢查數據庫,如果此用戶的訂閱仍被標記爲有效。

我現在的問題是,我們應該如何識別這個用戶?我們是否有簡單的用戶ID可用,我們可以在我們的應用程序和我們的服務器之間共享?或者我們應該使用不同的東西?這裏最好的做法是什麼?

我們在ios上做過類似的訂閱,我們使用設備的uuid來識別用戶(至少只要我們能夠使用uuid)。


從下面的答案中我們應該生成一個唯一的ID。這對每個設備(或每個應用安裝)都是唯一的。但是,如果用戶更改他的設備或重新安裝應用程序,此ID將不再是相同的。所以我不確定,在這個用例中過程如何。我想到了這樣的事情:

  • 用戶在他的第二個設備上使用相同的谷歌播放帳戶登錄。
  • 作爲應用程序啓動(或變爲有效),我們會獲取用戶訂閱
  • 然後我們會從訂閱接收該購買令牌,並隨着新的唯一ID發送至我們的後端服務器,就好像用戶已經做了一個新的訂閱。

這是正確的過程嗎?並保持購買令牌與第一臺設備上的相同?


好吧,我約裏識別用戶的問題得到解答,提供的鏈接提供了足夠的信息。如果我有一些問題,我會在SO上的新主題中提出進一步的問題。

+0

那麼提出的問題,考慮到你是新來的SO。給予好評。 – Siddharth

+0

謝謝你,我盡我所能:-) – macrozone

回答

-2

此鏈接可能對您有幫助,因爲您希望唯一標識用戶。請注意,用戶的個人信息僅限於Google。並且您應該避免獲取用戶的私人信息。 http://www.pocketmagic.net/2011/02/android-unique-device-id/#.URIe_B3Wgr7

+1

謝謝,所以我會創建這樣一個獨特的ID。這對每個設備都是唯一的。但是,如果用戶想要在其他設備上使用他的訂閱呢?該用戶應該能夠在他的第二個設備上重新使用他的訂閱。有沒有像谷歌播放提供的訂閱還原過程? – macrozone

+0

由於Google Play需要Google帳戶,因此該設備可以與帳戶同步。如果帳戶相同,則無論使用哪種設備,用戶都可以繼續使用訂閱。請注意,如果用戶從Google Play購買了某些內容,對特定設備是唯一的,不能用於其他設備。 –

+1

但是,如果用戶更改他的設備,我將無法識別服務器端的此設備以驗證其訂閱。然後,該應用需要重新檢查Google Play上的訂閱,並將一些內容發送給我們可以驗證的後端服務器。我們還想跟蹤設備更改或類似的問題 – macrozone

相關問題