-
Notifications
You must be signed in to change notification settings - Fork 158
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarification on iOS/Android compatibility and future #1720
Comments
Hey @lschmierer Sorry for the confusion! Part of the reason we are deprecating Nearby Messages is to reduce some of the confusion between all of our offerings. This project should be able to cover most of the use cases of Nearby Messages. Nearby Connections operates on top of “mediums”. These mediums are used to discover other devices and transfer data. Each medium has its own advantages and limitations. Android has the largest list of supported mediums while iOS currently only has 1 supported medium (Wi-Fi LAN). Wi-Fi LAN’s limitation is that both devices need to be connected to the same Wi-Fi network to function. We are working on adding support for the BLE medium which would provide similar functionality as Nearby Messages for discovery and plan to have this ready before Nearby Messages is shut down (December 31st). Do you mind sharing documentation links that mention iOS not being supported so we can get those updated with more up-to-date information? As for the cross-device-sdk, it is intended to be easier to use than Nearby Connections, but has more restrictions (also, the cross-device-sdk does not have any iOS support yet) Hope this helps :) |
Thanks for the quick response! Right on the landing page https://developers.google.com/nearby it says "The Nearby Connections API is available for Android" while "The Nearby Messages API is available for Android and iOS". This gives me the impression that Connections API is not available for iOS. On this site https://developers.google.com/nearby/overview it says explicitly at the bottom to use the Messages API if "you want to communicate between Android and iOS devices". I have only just realized that there is in fact Swift documentation once one is on the Connections documentation itself (https://developers.google.com/nearby/connections/overview) |
Thanks! I’ll get those links updated :) |
Just out or curiosity… I understand that there are fundamental limitations that make it impossible to establish P2P connections between Android and iOS without being connected to the same Wi-Fi AP. But would it in theory be possible to implement that direct communication for between two iOS devices? |
Yes, we are actually experimenting with using the multipeer connectivity framework as a medium that would only be available between Apple devices, but it’s much lower priority than BLE at the moment |
In the Apple world there is the feature of "sharing a WiFi password". If a user uses two Apple devices with the same iCloud account, e.g. iPhone and MacBook, the user can connect to a WiFi network for the first time and if the other device is nearby and already has the password stored it can share that password to the device connecting for the first time. Is this a feature which will also be provided by the Nearby API? I read a lot in the docs but couldn't find a clear indication of such a feature. I'm using Linux & Android and would love to see that feature! |
Hi there. I have been exploring the Nearby Connections api and I am confused to whether discovering, connecting to and sharing data between android and iOS is possible or not. The Multidevice Development page:
While if we click on the same section, we are redirected to
Now it leaves me thinking if its really possible to achieve connection between android and ios devices. We did try building sample apps providing the same Strategy and Service ID but had no luck discovering android device from iOS or vice versa. Any help is appreciated. Thanks |
https://stackoverflow.com/questions/77612062/google-nearby-connections-api-ios-android |
Discovering / connecting / sharing data between iOS and Android is very possible and should work out of box as long as service IDs and strategy match and both devices are connected to the same Wi-Fi network. iOS doesn't support the full range of mediums that Android supports, so you may not be able to discover in certain scenarios. |
Does this mean that we'll be able to transfer files between Android and iOS at WiFi speed(or close to it) using the multipeer connectivity framework, even when they are not in the same WiFi LAN? |
Want to make sure I've understood this clearly, @bourdakos1 comments that Nearby Connections between iOS and Android are impossible offline, but the documentation for Nearby Connections open with:
My company is looking at building a solution that would allow a string to be sent from one react-native application to another at a point of sale and Nearby Connections appears to be the only way forward for something cross platform, but we cannot rely on devices being on the same network. Any comments or thoughts appreciated. |
We are working on BLE support for iOS (#1619), which should allow for quickly sharing small strings while offline. |
Hi, During implement Nearby Connection for Android and iOS. We have a situation in 2 different Wifi LAN:
Wifi LAN 2: Both Android and iOS are working well. Do you guys know any limitation of the network or restrict by it? Thanks! |
Hi. Based on our experience: iOS <> Android can only communicate with each other if they are on the same WiFi and if mDNS is enabled on the network. For now, it seems to us that this library works fine between the same platform, but in all other cases there are hard constraints that are hard to meet in a real scenario. |
Has anyone had success with Android <--> IOS connectivity via BLE? For example, by enabling BLE on IOS via the method suggested in #1619? |
BLE support between Android/iOS is currently very limited, which is why it’s still flagged off. There are some GATT reading bugs on the iOS side which can cause discovery failures for an iOS device attempting to discover an Android device. There is also an MTU related bug that can make the connection timeout when trying to connect between Android/iOS. |
I’m not aware of any network conditions that would cause iOS <> Android to fail, but continue to work iOS <> iOS. Could you provide some logs from both the iOS and Android side? |
@bourdakos1 Actually Android and iOS can not discover each other in some WIFI LAN network. |
@bourdakos1 you asked where there was outdated info. This video from 2022 says that nearby connections api is android only. I think I also saw a mention of android only in one of the docs as well. ill try to find it. im building a nearby dice rolling game so im still new to this stuff. hope to have ios <> android working! wonder if nearby can work with apples multipeer api too |
nope. multipeer is ios only. so what he was saying was that multipeer would work as a medium only between apple devices |
I suppose being on the same LAN != being online. So I guess that statement is true since I can have a local network that's not connected to the internet and ios and android would still work. But I agree the wording is confusing. maybe @bourdakos1 can update that text a bit. 😂 |
Do you have logs from those failing devices + network you could share? Maybe it'd help identify the issue |
That snippet was originally written for Android which supports fully offline transfers. iOS will technically support offline with BLE, but transfers will be very slow. Hotspot could eventually be used for faster offline transfers, but would provide a bit of a disruptive experience since it will show a system prompt when connecting and the user will lose connectivity for the duration of the transfer. We could also add WebRTC for when both devices are connected to separate networks. iOS<>Android fully offline seamless high speed transfers most likely won’t be possible unless Apple adds support for something like Wi-Fi Aware/Direct. I can try to get the snippet updated to be more clear. |
aha! makes sense So if I have it right. on android it can be fully offline (through wifi direct) but with ios (since it doesn't support wifi direct and instead has its own thing called AWDL) it can't be fully offline. what about my minor asterik I mentioned above. Can I technically have a local wifi network without internet access, and android to ios should still work right? even though it techncially isn't connected to the "internet"? |
Yea I think that should work. You should also be able to use Wi-Fi LAN if one of the devices sets up a personal hotspot and both connect to it. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Hello, first of all thanks for your great work!
I am right now really confused on the state and direction of the Google Nearby products.
The Nearby Messages API (which communicates via the cloud) works for Android and iOS but will be discontinued.
For the Nearby Connections API on the other hand, the documentation states at various places that it only supports Android.
However, looking at the examples at this repository, communication between Android and iOS seems possible.
I understand that the iOS implementation is still work-in-progress.
But, is the general idea that the new Nearby Connections API will replace the use cases of the former Nearby Messages API?
And the documentation of the Nearby Connections API will be updated to reflect iOS support once ready?
I am also wondering how this all relates to the cross-device-sdk https://github.com/google/cross-device-sdk which has seen barely any development since its announcement on Google I/O 22 and has som similar objectives.
It would be nice if you could provide some information, although I understand that you probably can not make any statements about Goolgle policies and/or product decisions.
The text was updated successfully, but these errors were encountered: