多种连接:iOS和Android

cap*_*rad 7 c# android ios xamarin altbeacon

我正在与跨平台应用程序(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#中建立Multipeer/Mesh网络?

Estimote是否需要使用贴纸/估计信标,或智能手机是否可以作为灯塔使用?

我在找什么:

  1. 当用户没有WiFi或"数据"连接时,在iOS和Android设备之间建立连接的方法.

  2. 基本上每个设备将充当彼此的"信标".

  3. Xamarin/C#是必须的(虽然我会听到其他解决方案,如果他们有说服力)

  4. 这种情况:

两个人走过彼此.两者都在他们的手机上运行应用程序.一个人有一个iPhone,另一个人有一个机器人.他们的应用程序在后台运行(他们的手机放在口袋或手中并被锁定..意思不是"使用").当个人走过彼此时,他们的电话互相检测并发送/接收彼此的文本

在此活动发生之前,用户1使用该应用程序保存包含以下信息的备注......

"喷泉工作正常"

虽然用户2使用其设备上的应用程序,以节省笔记包含以下信息...

"扶手轻微损坏"


用户相互通过后,下次他们打开他们的应用程序时,他们应该会看到一个更新的笔记读取...

"喷泉工作正常

扶手轻微损坏"


可能的解决方案: TBD

被拒绝的解决方案:待定

-

目前的结论: 目前存在的应用程序,如FireChat,ViewRanger(我相信),或Xamarin示例"找到猴子".Apple在他们的商店使用iBeacons,其他人使用AltBeacon用于Android设备.我已经得出结论,这肯定是可能的,但我正在寻找如何最好地执行它,同时让两个平台充当彼此的信标.

小智 4

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

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

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

我相信解决这个问题的最佳方法是使用 BLE,这两个平台都支持(有些平台比其他平台更好)。

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

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

例如: http://www.p2pkit.iohttp://www.intromi.cohttp://www.underdark.io或附近的 google

关于在 Xamarin 中使用本机代码,您可以简单地创建一个桥(绑定: https: //developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/)。

免责声明:我在 Uepaa 工作,为 Android 和 iOS 开发 p2pkit.io。