首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多点连接: iOS和Android

多点连接: iOS和Android
EN

Stack Overflow用户
提问于 2016-04-01 21:19:39
回答 2查看 3.6K关注 0票数 7

我正在与一个跨平台应用程序(Android和iOS)的团队合作。

这个应用程序旨在使用beacons和/或mesh networkingmultipeer-connectivity的概念。目前,我们的团队正在使用Xamarin作为我们的IDE来创建单个代码库。

经过大量的研究(显然不够重要),我只能找到以下资源。

http://altbeacon.org/

http://altbeacon.github.io/android-beacon-library

https://github.com/octoblu/meshblu

https://github.com/octoblu/MeshbluKit-iOS

https://github.com/octoblu/MeshbluKit-Android

https://github.com/CharruaLab/AltBeacon

https://blog.xamarin.com/play-find-the-monkey-with-ios-7-ibeacons/

几个问题:

AltBeacon允许平台之间的通信吗?

是否有在Xamarin/C#中建立多点/网状网络的内置方式?

Estimote是否需要使用贴纸/estimote信标,还是智能手机可以充当信标?

我想要的东西:

  1. 当用户没有WiFi或“数据”连接时,一种在WiFi和安卓设备之间建立连接的方法。
  2. 从本质上说,每一种设备都将成为彼此之间的“灯塔”。
  3. Xamarin/C#是必须的(虽然我会听到其他的解决方案,如果它们有说服力的话)
  4. 这一设想:

两个人相互走过。这两款应用程序都在手机上运行。一个人有iphone,另一个人有android。他们的应用程序在后台运行(他们的手机在他们的口袋或手中,并被锁定。)意思不是“使用”)。当每个人从对方身边走过时,他们的手机会互相检测,并互相发送/接收短信。

在此事件发生之前,用户1使用该应用程序保存包含以下信息的便笺.

喷泉工作正常

用户2使用其设备上的应用程序保存包含以下信息的便条时.

手轨轻微损坏

用户互相传递后,下次打开应用程序时,应该会看到一个更新的便条,上面写着.

“喷泉运作正常 手轨轻微损坏“

可能的解决方案: TBD

拒绝解决方案: TBD

--

当前的结论:应用程序目前存在,如FireChat、ViewRanger (我相信)或Xamarin示例“查找猴子”。苹果在商店里使用iBeacons,而其他人则在安卓设备上使用AltBeacon。我的结论是,这当然是可能的,但我在寻找如何最好地执行它,同时让这两个平台作为相互之间的信标。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-05 13:09:00

根据对场景的描述,可以将其分解为两个简单的步骤:

  1. 发现附近的设备
  2. 发现后交换简单数据

必需:这应该适用于x平台iOS和Android。

我认为最好的方法是使用BLE,这是两个平台都支持的(有些比其他平台更好)。

在iOS上,设备可以同时充当BLE中央和BLE外围设备,而在Android上,情况更复杂,因为并不是所有设备都支持BLE外围状态。而且,Android堆栈非常不稳定。

如果您的用例是功能驱动的,我建议您查看框架和库,这些框架和库可以为您实现这一点,而无需从头开始构建它。

例如:http://www.p2pkit.iohttp://www.intromi.cohttp://www.underdark.io,或者附近的谷歌

关于使用Xamarin的本机代码,您可以简单地创建一个桥(Binding:目标-c/ )。

免责声明:我为Uepaa工作,为安卓和iOS开发iOS。

票数 4
EN

Stack Overflow用户

发布于 2016-04-01 22:05:43

“我想要的是:当用户没有WiFi或”数据“连接时,建立WiFi和安卓设备之间连接的方法。基本上每个设备都将充当彼此的”灯塔“。Xamarin/C#是必须的(尽管如果他们令人信服的话,我会听到其他解决方案)。”

BLE (蓝牙低能)是你想要的,而不仅仅是它的iBeacon部分。

iBeacon建立在BLE栈的基础上,通过设置BLE广告包的“特定于制造商的数据”(这是苹果做的)。iBeacon工作在BLE“广播”模式,它只传输三个数据字段UUID,主要(16位),次要(16位)。另外,RSSI (发送/计算信号强度)。

不好的是,如果您使用iOS核心位置或任何其他iBeacon库,它将与UUID、minor、UUID、RSSI一起工作。您不能通过标准的iBeacon协议.传输任何附加数据。

  1. 你正在寻找的是CoreBluetooth为iOS或蓝牙低能库的安卓。
  2. 您可能需要使用GATT/ATT层创建您的自定义配置文件(因为没有一个现有可能不适合您的请求)
  3. 您需要在BLE配置文件设置上开发应用程序。

请记住,BLE是低功耗和低速度的通信,您可以期望(从我在许多不同平台上的测试)到每25-30ms最多20个字节。

希望这能帮上忙。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36366012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档