【问题标题】:Storing information on and uniquely identifying a mobile device, cross platform in Air在 Air 中跨平台存储信息并唯一标识移动设备
【发布时间】:2013-08-30 12:02:52
【问题描述】:

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

我最初查看的是 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 project device ID

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

【问题讨论】:

    标签: android ios actionscript-3 mobile air


    【解决方案1】:

    在 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/

    【讨论】:

      猜你喜欢
      • 2012-03-13
      • 2016-09-09
      • 2012-06-01
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      • 1970-01-01
      相关资源
      最近更新 更多