2017-06-06 100 views
3

我們計劃從付費應用在應用程序內購買移動到一個自由與訂單ID。我們需要爲支付應用程序付費的任何用戶免費獲得應用內購買。安卓:已購買應用

我想到了以下的解決方案。我們將在我們的服務器中存儲用戶的唯一ID(或唯一的訂單ID)。當我們發佈一個新的免費版本的應用程序時,我們可以檢查我們的服務器上唯一的用戶ID(或訂單ID)。如果有匹配,我們會免費向他們提供應用內購買。

的問題是:

  • 如果我們得到了用戶的電子郵件,這將是過於敏感,並且用戶可以 不會願意給它。
  • 我們可以得到應用的順序號,並檢查它,我們的谷歌 訂單ID的播放列表?
  • ,我們可以用它來驗證他們 之前已經購買該應用的用戶的任何其他唯一ID?

回答

1

獲取電子郵件地址,將需要您修改現有的付費應用。此外,它不建議對上述辦法(+,用戶在同一部手機多個帳戶,並且不記得哪些電子郵件使用將創造更多的問題的情況下)

我會建議使用https://developer.android.com/guide/topics/manifest/manifest-element.html#uid

機器人:sharedUserId

將與其他 應用程序共享的Linux用戶標識的名稱。默認情況下,Android會爲每個應用程序分配自己的 唯一用戶標識。但是,如果這個屬性被設置爲兩個或多個應用程序相同的值 ,他們都將共享相同的ID - 只要它們也由相同的證書籤名。 具有相同用戶標識的應用程序可以訪問彼此的數據,並且如果需要,可以在相同的過程中運行。

定義相同的userId跨付費應用程序和新的免費應用程序與應用程序內購買。付費應用程序中的某些數據可用於識別用戶,而不會詢問用戶的任何更多輸入。

看看用戶CAW Offering additional media resources (graphics/sounds) as Google Play in-app billed items

+0

所以這個假設推送更新這個答案提供的解決方案之一,包括'安卓:sharedUserId'現有的應用程序,並解除與'安卓新的應用程序: sharedUserId'。如果用戶不更新以前的應用程序,會發生什麼?這意味着,他們無法訪問其他數據,這使得這些方法毫無用處。我能理解嗎? – azizbekian

+0

如果sharedUserId已經在現有的應用程序中使用,我們所需要做的就是在新應用程序中使用該ID。如果不是,您需要發佈更新。您始終可以在新應用程序中提示用戶更新到現有生產應用程序的新版本。這是我在上述場景中提到的最好,最簡單的解決方案,而不是詢問用戶的電子郵件地址等。如果您遇到了更好的解決方案,請更新 –

+0

@AmodGokhale感謝您的回答。但是我們的新免費應用將取代付費應用,所以我們在應用商店只有1個應用。 – vodkhang