smew-tech/flutter_nearby_connections
Flutterプラグインは、AndroidとiOSのピアツーピア接続および近隣デバイスの検出をサポートしています
- Stars
- 133
- Forks
- 100
- 最終プッシュ(UTC)
- 2024/06/15
- プロジェクト状態
- 公開中
技術トピック
使用している依存関係
依存関係一覧 2 件
- flutter
{"sdk":"flutter"} - flutter_test開発用
{"sdk":"flutter"}
元の README
以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。
README を開く / 閉じる
flutter_nearby_connections
flutter nearby connections
Plugin: https://pub.dev/packages/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
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