我需要为每个移动设备提供一个标识符,该标识符在所有请求中都被发送到服务器。 的安全性不是大问题(我们不希望用户必须登录)。然而,申请并未因任何违反条款而被拒绝。
我最初在看 https://code.google.com/p/actionscript-uuid/ ,它看起来很好且易于实现:
import com.laiyonghao.Uuid;
var uuid:Uuid = new Uuid();
trace(uuid);
拥有与安装相关的 id,而不是特定于设备的 id 不会是一个大问题,除了我们将要执行应用程序的第 2 版这一事实之外,我们需要具有相同的 uid。
使用共享对象在 android/ios 上保存状态信息会有什么问题吗?
如果应用程序更新,它是否仍然能够访问相同的共享对象?
我相信苹果现在会拒绝任何尝试使用 MAC 地址的应用程序。
我找到了 openudid:
http://blog.appsfire.com/with-udid-nearing-its-demise-leading-industry-players-turn-to-openudid/
https://github.com/ylechelle/OpenUDID
我还没有看到使用它编写的 native 扩展。只要不是太耗时,让唯一标识符设备特定而不是安装特定是优先考虑的。
是否有可用的 native 扩展,它允许访问跨平台工作的特定于设备的唯一标识符?
我发现以下问题与 AIR 3.5 Mobile project device ID 非常相似
我的另一个想法是我们将在我们的应用程序中使用推送通知,这可能会为我们提供一个很好的标识符,如果推送通知被禁用,虽然我不确定会发生什么。
最佳答案
在 Android 上,您应该使用 ANDROID_ID 属性。它是设备第一次启动时由 android 生成的唯一标识符。在某些情况下它可能会改变,但通常是最好的唯一 ID。
http://developer.android.com/reference/android/provider/Settings.Secure.html
在 iOS 下,您有 2 个选项,一个广告标识符和一个供应商标识符。
供应商标识符是唯一的,但在来自同一开发者的应用程序之间是相同的。而 identifierForAdvertising 对于用于广告相关调用的设备来说是唯一的。
https://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html
所有这些都可以通过 distriqt ANE 包中的应用程序 native 扩展获得:
http://airnativeextensions.com/extension/com.distriqt.Application
特别是应用程序扩展:
http://docs.airnativeextensions.com/application/docs/
关于android - 在移动设备上存储信息并唯一标识移动设备,Air 中的跨平台,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18532474/