3

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

我最初是在查看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

不过,我还没有看到使用它编写的本机扩展。只要不是太耗时,优先使用特定于设备而不是特定于安装的唯一标识符。

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

我发现以下问题与AIR 3.5 Mobile 项目设备 ID非常相似

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

4

1 回答 1

4

在 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 包中的应用程序本机扩展获得:

http://airnativeextensions.com/extension/com.distriqt.Application

特别是应用程序扩展:

http://docs.airnativeextensions.com/application/docs/

于 2013-08-30T23:50:22.660 回答