1

我有一个钛应用程序,我想为 android 添加 iBeacon 功能(使用 Estimote)。应用程序必须在到达信标区域时推送本地通知。

任何人都可以提供一些建议吗?从 android SDK ( https://github.com/Estimote/Android-SDK ) 中的示例开始,Estimote 开始监听活动中的信标。我想为整个应用程序(可能是Application?的子类)执行此操作,但我不知道如何在钛模块中执行此操作。

谢谢

4

3 回答 3

1

我从未使用过钛,但在我的原生 android 应用程序中,我创建了一个侦听信标的服务,所有活动都可以绑定到该服务,然后访问接收到的信标信息。

不知道这是否是 Titanium 的解决方案。

于 2014-04-08T09:49:20.677 回答
0

有非常好的用于蓝牙 LE 通信的钛模块:https ://marketplace.appcelerator.com/apps/6611

我使用 iOS 版本进行应用开发,效果很好。您可以下载试用版并试用,但许可证费用为 350 美元。

于 2014-04-08T19:45:53.953 回答
0

您可能已经弄清楚了,但以防万一……我已经为 IOS 使用 Titanium 和 iBeacon 做了类似的事情。一旦我的应用程序检测到 iBeacon,它就会对我的服务器进行 REST API 调用,并且可以发回一些通知等。

基本上这里是步骤......

  1. 查找 Titanium ibeacon 模块。我在 iOS 上使用了Joe Beuckman 的模块……它是免费的,而且运行良好。这是google 找到我的一个 Android 系统....没有尝试过所以不知道这是否可行....

  2. 当检测到 iBeacon 时引发事件并引发通知/调用某些外部服务等。最初,我对 iBeacon UUID / Major / Minor 进行了硬编码,以便我的应用程序忽略任何其他 iBeacon。

在最终版本中,我将仅根据 UUID 进行过滤,让我的服务器完成其余的工作。但是,您可以按照自己喜欢的方式尝试执行此操作。

这是 Beuckman 优秀模块中的一些示例代码......这是他的参考应用程序的完整代码...... https://github.com/jbeuckm/TiBeacons-Example-App

TiBeacons.startMonitoringForRegion({
    uuid : "00000000-0000-0000-0000-000000000000",
    identifier : "Test Region 1",
});

TiBeacons.startRangingForBeacons({
    uuid : "00000000-0000-0000-0000-000000000001",
    identifier : "Test Region 2 (group-specific)",
    major: 1
});

TiBeacons.startRangingForBeacons({
    uuid : "00000000-0000-0000-0000-000000000002",
    identifier : "Test Region 3 (device-specific)",
    major: 1,
    minor: 2
});

我最初在测试我的 iDevice 是否捕捉到任何 iBeacon 信号时遇到了一些麻烦。我使用了 estimote 和 Radius 网络的 iBeacon Locate 应用程序来确保我的 iOS 设备在范围内并且发射器正常工作。

希望这可以帮助。

于 2014-07-17T04:18:17.457 回答