Android 在空中跨平台存储移动设备上的信息并唯一标识移动设备

Android 在空中跨平台存储移动设备上的信息并唯一标识移动设备,android,ios,actionscript-3,mobile,air,Android,Ios,Actionscript 3,Mobile,Air,我需要每个移动设备都有一个标识符,在所有请求中都会发送到服务器安全性在这里不是一个大问题(我们不希望用户必须登录)。但是,如果申请没有因任何违反条款而被拒绝,则视为无效 我最初考虑的是哪一个看起来很好并且易于实现: import com.laiyonghao.Uuid; var uuid:Uuid = new Uuid(); trace(uuid); 有一个与安装相关的id,而不是一个特定于设备的id不会是一个大问题,除了我们要做的是应用程序的版本2,我们需要有相同的uid 使用共享对象在a

我需要每个移动设备都有一个标识符,在所有请求中都会发送到服务器安全性在这里不是一个大问题(我们不希望用户必须登录)。但是,如果申请没有因任何违反条款而被拒绝,则视为无效

我最初考虑的是哪一个看起来很好并且易于实现:

import com.laiyonghao.Uuid;

var uuid:Uuid = new Uuid();
trace(uuid);
有一个与安装相关的id,而不是一个特定于设备的id不会是一个大问题,除了我们要做的是应用程序的版本2,我们需要有相同的uid

使用共享对象在android/ios上保存状态信息会有任何问题吗?

如果应用程序被更新,它仍然能够访问相同的共享对象吗?

我相信苹果现在会拒绝任何试图使用MAC地址的应用

我发现openudid:

我还没有看到一个本机扩展使用这个。只要不太费时,最好使用特定于设备而不是特定于安装的唯一标识符

是否有允许访问跨平台的设备特定唯一标识符的本机扩展?

我发现下面的问题很相似


我的另一个想法是,我们将在我们的应用程序中使用推送通知,这可能会为我们提供一个很好的标识符,如果推送通知被禁用,将会发生什么,尽管我不确定

在Android上,您应该使用Android_ID属性。它是android在设备首次启动时生成的唯一标识符。它在某些情况下可能会更改,但通常是最好的唯一id

在iOS下,您有两个选项,广告标识符和供应商标识符

供应商标识符是唯一的,但在来自同一开发人员的应用程序之间是相同的。然而,用于广告相关呼叫的设备的广告标识是唯一的

所有这些都可以通过distriqt ANE软件包中的应用程序本机扩展获得:

特别是应用程序扩展: