Transferir datos entre iOS y Android a través de Bluetooth?
He estado leyendo sobre cómo transferir datos entre dispositivos iOS a través de Bluetooth usando GameKit. No estoy escribiendo un juego, per se, pero sí tengo la necesidad de transferir una pequeña cantidad de datos binarios entre dos dispositivos. Entre dos dispositivos iOS, esto es bastante fácil. Sin embargo, me preguntaba si es posible transferir datos entre un dispositivo iOS y un dispositivo Android a través del mismo mecanismo.
¿Alguien ha encontrado documentación / tutorial que explique cómo hacerlo? ¿Es técnicamente posible? ¿O ha puesto Apple en algún tipo de restricción que evitaría esto?
- Conectar mediante programación al dispositivo Bluetooth emparejado
- Android - Función para encaminar audio entre el teléfono inteligente y el módulo bluetooth
- Bluetooth HCI snoop registro no generado
- ¿Es posible conectar iOS y dispositivos Android con Bluetooth?
- Diferenciar RemoteControlClient de los auriculares
La otra opción que descubrí fue Bonjour sobre Bluetooth. ¿Sería esta una opción más adecuada para este tipo de operación?
- Cómo configurar los permisos para Android Bluetooth
- Android: Problema con tipos de archivos aceptables vía bluetooth
- Perfil Bluetooth A2DP
- ¿Cómo detectar que un dispositivo ya descubierto y emparejado está disponible?
- Conexiones Bluetooth y Bluetooth LE simultáneas, ¿es posible?
- Ejemplo de Android Bluetooth
- La voz del auricular Bluetooth reconoce que no funciona
- Cómo transmitir datos correctamente a través de Bluetooth a Android
Esta pregunta se ha hecho muchas veces en este sitio y la respuesta definitiva es: NO, no se puede conectar un teléfono Android a un iPhone a través de Bluetooth , y SÍ Apple tiene restricciones que lo impiden.
Algunas alternativas posibles:
- Bonjour WiFi, como usted ha mencionado. Sin embargo, no pude encontrar un tutorial completo para ello.
- Algunos servicios de sincronización basados en Internet, como Dropbox, Google Drive, Amazon S3. Estos suelen tener bibliotecas para varias plataformas.
- Comunicación directa TCP / IP a través de sockets. ( Cómo escribir un pequeño servidor (socket) en iOS )
- Bluetooth Low Energy será posible una vez que los problemas en el lado de Android se resuelven ( Comunicación entre iOS y Android con Bluetooth LE )
La alternativa más cool : utilizar la API Bump . Tiene compatibilidad con iOS y Android y es muy fácil de integrar. Para cargas pequeñas esto puede ser la solución más conveniente.
Detalles sobre por qué no puedes conectar un dispositivo arbitrario al iPhone . IOS permite utilizar sólo algunos perfiles bluetooth sin la certificación Made for iPhone (MFi) ( HPF, A2DP, MAP … ). El perfil de puerto serie que necesitaría para implementar la comunicación está vinculado a la pertenencia a MFi. La pertenencia a este programa le proporciona el módulo de autenticación MFi que tiene que ser añadido a su hardware y se encarga de autenticar el dispositivo hacia el iPhone. Los teléfonos Android no tienen este módulo, así que aunque la conexión física sea posible, el paso de autenticación fallará. IPhone a la comunicación del iPhone es posible, ya que ambos extremos son capaces de autenticarse.
Tal vez un poco retrasado, pero las tecnologías han evolucionado desde entonces hay ciertamente nueva información alrededor de la cual dibuja la luz fresca en el asunto …
Como iOS todavía tiene que abrir una API para WiFi Direct y Multipeer Conectividad es sólo iOS, creo que la mejor manera de abordar esto es utilizar BLE, que es compatible con ambas plataformas (algunos mejor que otros).
En iOS un dispositivo puede actuar tanto como BLE Central y BLE Periférico al mismo tiempo, en Android la situación es más compleja ya que no todos los dispositivos admiten el estado BLE Periférico. También la pila BLE de Android es muy inestable (hasta la fecha).
Si su caso de uso está orientado por características, le sugeriría que considere Frameworks y Bibliotecas que pueden lograr la comunicación entre plataformas para usted, sin necesidad de construirlo desde cero.
Por ejemplo: http://p2pkit.io o google cerca
Descargo de responsabilidad: Trabajo para Uepaa, desarrollando p2pkit.io para Android e iOS.
Usted podría utilizar p2pkit, o la solución libre que se basó en: https://github.com/GitGarage . No funciona muy bien, y es un fijador superior para seguro, pero es, bueno, gratis. Funciona para pequeñas cantidades de transferencia de datos en este momento.