2013-11-22 13 views
0

我有一個Android應用程序,我在其中客戶想要一個促銷頁面,其中下載該應用程序的前100名用戶可以享受其訂單的10%折扣。從我研究的內容可以看出,Google Play沒有一種非常用戶友好的方式來執行此操作,但對於我的解決方法,我希望有一張「未使用的優惠券」和一張「優惠券」圖像,服務員可以看到並輸入一個簡短的驗證碼,將應用上的優惠券永久更改爲「已使用」。即使重新安裝,我是否可以在Android應用程序中永久更改變量?

從我閱讀的內容中我可以使用SharedPreferences來實現此目的,但如果該人員卸載應用程序然後重新安裝以獲得新的優惠券,該怎麼辦?無論如何,Android有防止這種情況的發生嗎?

+0

第一個想法 - 將您的偏好保存到雲服務器或爲用戶創建遠程數據庫。對於密鑰使用設備ID。設備ID - 是一個獨特的標識符。對於樣本。 '用戶安裝您的應用程序 - >連接到雲\服務器 - >設備的帖子ID - >確定。之後。 '用戶重新安裝並再次安裝應用程序'。因此,您再次連接到雲\服務器並檢查設備的現有ID。 **如果在DB中包含此ID - 嘗試獲得折扣將被拒絕。** –

+0

@deathember感謝您的回覆。爲了澄清,我可以運行一個雲服務器,運行用戶唯一的Android_ID,如果還沒有放入我的數據庫,他們可以使用優惠券,然後該方法將他們的ID添加到我的數據庫。這樣服務器在允許用戶使用優惠券之前總是檢查重複的ID。 – Luke

+0

可能是你的幫助:http://stackoverflow.com/questions/8633761/listen-broadcast-before-application-uninstall –

回答

1

實際上有一個非常簡單的備份API和specific helper for SharedPreferences。你不需要爲此擁有自己的服務器。

http://developer.android.com/training/cloudsync/backupapi.html

腳註: 不要使用設備ID。使用帳戶ID標識用戶,使用ANDROID_ID標識設備。如果您使用IMEI,MAC,序列號或任何在設備所有權發生更改時保持不變的內容,您將會遇到不好的時間。

+0

應該指出,備份和恢復是一個可以被用戶關閉的功能。我相信用戶在設備初始化時有一個提示,用戶可以選擇不使用它,或者在將來的任何時候通過在設置中取消選中它。所以折扣可能會被精明的用戶多次應用。但是對於所有這樣的方案,您必須考慮用戶會在第一時間放心卸載和重新安裝的可能性。我的意思是,這是不能訪問英尺。諾克斯,我們正在談論;你必須接受一定數量的泄漏。 – Carl

+0

感謝您指導我使用該API,我認爲這將是實現此折扣的最佳方式。 @Carl就用戶「竊聽」代碼以多次使用它而言,我同意這可能不會成爲問題......但是是否有任何可能的Java邏輯可以放置在onClick偵聽器中,以確保此設置已啓用?我的主要目標是讓客戶知道優惠券可以複製的任何方式,這樣就不會回到我身上。 – Luke

相關問題