Skip to content

VNAPNIC/flutter_nearby_connections

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2f47476 · Dec 6, 2023
Dec 5, 2023
Dec 5, 2023
Nov 26, 2020
May 28, 2022
Sep 11, 2020
Sep 8, 2020
Dec 6, 2023
Sep 8, 2020
Jun 19, 2021
Sep 8, 2020
Jun 17, 2021
Dec 6, 2023
Sep 10, 2020

Repository files navigation

flutter_nearby_connections

flutter nearby connections

Flutter plugin supports peer-to-peer connectivity and discovers nearby devices for Android and IOS

The flutter_nearby_connections plugin supports the discovery of services provided by nearby devices. Moreover, the flutter_nearby_connections plugin also supports communicating with those services through message-based data, streaming data, and resources (such as files). The framework uses infrastructure Wi-Fi networks, peer-to-peer Wi-Fi and Bluetooth Personal Area Networks (PAN) for the underlying transport over UDP. The project is based on

Android

Nearby Connections API (Bluetooth & hotspot) Support Strategy: Strategy.P2P_CLUSTER, Strategy.P2P_STAR, Strategy.P2P_POINT_TO_POINT

Wi-Fi P2P (only wifi hotspot no internet) Support Strategy: Strategy.Wi_Fi_P2P

IOS

Multipeer Connectivity

We use the NearbyConnections API, but Flutter methods are based on the concept of Multipeer Connectivity IOS.

Methods provided:

startAdvertisingPeer, startBrowsingForPeers, stopAdvertisingPeer

We separate the dependencies of the MCNearbyServiceAdvertiser, MCNearbyServiceBrowser and MCSession classes. All of the methods will be implemented in the NearbyService class.

Noted

  • Android doesn't support emulator only support real devices
  • On iOS 14, need to define in Info.plist
    <key>NSBonjourServices</key>
    <array>
        <string>_{YOUR_SERVICE_TYPE}._tcp</string>
    </array>
    <key>UIRequiresPersistentWiFi</key>
    <true/>
    <key>NSBluetoothAlwaysUsageDescription</key>
    <string>{YOUR_DESCRIPTION}</string>

in this case, YOUR_SERVICE_TYPE is 'mp-connection' (you can define it)

nearbyService.init(
        serviceType: 'mp-connection',
        strategy: Strategy.P2P_CLUSTER,

Test on IOS device

The example app running in IOS

Test on Android device

The example app running in Android

Visitors Count

Loading