2017-02-03 26 views
1

所以我一直在Play商店GeneXus生成的應用程序,我從商店收到了以下電子郵件:爲什麼GeneXus在我的Android應用程序中使用READ_PHONE_STATE權限?

[...]政策問題:谷歌Play要求開發者提供一個有效的隱私政策當應用程序請求或處理敏感的用戶或設備信息時。您的應用請求敏感權限(例如相機,麥克風,帳戶,聯繫人或電話)或用戶數據,但不包含有效的隱私政策。 [...]

於是我就對開發者控制檯,發現這個在隱私警察部分(從葡萄牙語翻譯):

您的應用程序具有的APK版本代碼40塔爾要求這些權限:android.permission.READ_PHONE_STATE。在APK中使用這些權限需要隱私警察。

所以我的問題是:我在GeneXus中使用哪些需要此權限?我從ClientInformation對象獲取NetworkId,是嗎?

回答

5

是的,這正是原因。獲取IMEI號碼(以及GeneXus應用程序調用以獲取它)的Android method需要READ_PHONE_STATE權限才能執行。這是可以理解的,因爲它被認爲是私人信息。

繼Android的Best Practices for Unique Identifiers我建議使用ClientInformation.Id屬性代替。作爲獎勵,它不會持續存在於設備抹布上,99%的案例是預期的行爲(除非應用程序僅安裝在受控設備中,如果它發佈在Play商店中似乎不是這種情況)。

如果您決定轉到此路線,請記得將將請求屬性的設備信息重置爲false。 (注:屬性名稱已被/將改爲自GeneXus 15 U3起包含客戶信息中的網絡標識,因爲舊名稱很容易混淆)。

+1

謝謝Matias,我已經在使用DeviceId幾乎所有的東西。我只需要用於登錄的網絡ID。 –

相關問題