我正在与一个跨平台应用程序(Android和iOS)的团队合作。
这个应用程序旨在使用beacons和/或mesh networking或multipeer-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信标,还是智能手机可以充当信标?
我想要的东西:
两个人相互走过。这两款应用程序都在手机上运行。一个人有iphone,另一个人有android。他们的应用程序在后台运行(他们的手机在他们的口袋或手中,并被锁定。)意思不是“使用”)。当每个人从对方身边走过时,他们的手机会互相检测,并互相发送/接收短信。
在此事件发生之前,用户1使用该应用程序保存包含以下信息的便笺.
喷泉工作正常
当用户2使用其设备上的应用程序保存包含以下信息的便条时.
手轨轻微损坏
用户互相传递后,下次打开应用程序时,应该会看到一个更新的便条,上面写着.
“喷泉运作正常 手轨轻微损坏“
可能的解决方案: TBD
拒绝解决方案: TBD
--
当前的结论:应用程序目前存在,如FireChat、ViewRanger (我相信)或Xamarin示例“查找猴子”。苹果在商店里使用iBeacons,而其他人则在安卓设备上使用AltBeacon。我的结论是,这当然是可能的,但我在寻找如何最好地执行它,同时让这两个平台作为相互之间的信标。
发布于 2016-04-05 13:09:00
根据对场景的描述,可以将其分解为两个简单的步骤:
必需:这应该适用于x平台iOS和Android。
我认为最好的方法是使用BLE,这是两个平台都支持的(有些比其他平台更好)。
在iOS上,设备可以同时充当BLE中央和BLE外围设备,而在Android上,情况更复杂,因为并不是所有设备都支持BLE外围状态。而且,Android堆栈非常不稳定。
如果您的用例是功能驱动的,我建议您查看框架和库,这些框架和库可以为您实现这一点,而无需从头开始构建它。
例如:http://www.p2pkit.io,http://www.intromi.co和http://www.underdark.io,或者附近的谷歌
关于使用Xamarin的本机代码,您可以简单地创建一个桥(Binding:目标-c/ )。
免责声明:我为Uepaa工作,为安卓和iOS开发iOS。
发布于 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协议.传输任何附加数据。
请记住,BLE是低功耗和低速度的通信,您可以期望(从我在许多不同平台上的测试)到每25-30ms最多20个字节。
希望这能帮上忙。
https://stackoverflow.com/questions/36366012
复制相似问题