इस प्लगइन के बल पर आपको फ्लटर ऐप में निकटवर्ती iBeacons को स्कैन करने और उन्हें रेंज करने में आसानी होती है। स्कैन किए गए बीकॉन के प्रकार में निकटता मान प्रदान किए जाते हैं।
सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।
beacons_plugin प्लगइन फ्लटर एप्लिकेशन में एंड्रॉइड और आईओएस दोनों के लिए iBeacon स्कैनिंग और रेंजिंग को सरल बनाता है। यह विकासकर्ताओं को निकटवर्ती iBeacons का पता लगाने और तत्काल, निकट या दूर जैसे वास्तविक समय के निकटता अपडेट प्राप्त करने की अनुमति देता है। प्लगइन मूल ब्लूटूथ क्षमताओं के साथ बिना कठिन सेटअप के बिना बिना एकीकृत होता है। स्थान-आधारित सेवाओं, आंतरिक नेविगेशन और संदर्भ-आधारित ऐप्स के लिए उपयुक्त।
उपयोग
आंतरिक नेविगेशन प्रणाली
दूरी-आधारित नोटिफिकेशन
रिटेल ग्राहक एंगेजमेंट
संपत्ति ट्रैकिंग
संदर्भ-जागरूक मोबाइल अनुभव
मुख्य विशेषताएँ
रियल-टाइम बीकॉन स्कैनिंग
समीपता का पता लगाना (तुरंत, निकट, दूर)
क्रॉस-प्लेटफॉर्म समर्थन (Android और iOS)
Flutter के साथ सरल एकीकरण
बैकग्राउंड मॉनिटरिंग क्षमता
इनके लिए उपयुक्त
स्थान-जागरूक एप्लिकेशन बना रहे डेवलपर्स
रिटेल और हॉस्पिटैलिटी ऐप्स
स्मार्ट ऑफिस और कैंपस समाधान
घटना-आधारित सूचना प्रणाली
आंतरिक स्थिति प्रोजेक्ट्स
विचार योग्य बातें
दोनों प्लेटफॉर्म पर ब्लूटूथ की अनुमति की आवश्यकता होती है
iBeacon प्रोटोकॉल तक सीमित
बैकग्राउंड स्कैनिंग बैटरी के जीवन को प्रभावित कर सकती है
iOS को बैकग्राउंड मोड कॉन्फ़िगरेशन की आवश्यकता है
सटीकता वातावरण कारकों पर निर्भर करती है
मूल README
संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।
beacons_plugin
This plugin is developed to scan nearby iBeacons on both Android iOS. This library makes it easier to scan & range nearby BLE beacons and read their proximity values.
Android
For Android change min SDK version:
defaultConfig {
...
minSdkVersion 19
...
}
Change your Android Project's MainActivity class to following:
import com.umair.beacons_plugin.BeaconsPlugin
import io.flutter.embedding.android.FlutterActivity
class MainActivity : FlutterActivity(){
override fun onPause() {
super.onPause()
//Start Background service to scan BLE devices
BeaconsPlugin.startBackgroundService(this)
}
override fun onResume() {
super.onResume()
//Stop Background service, app is in foreground
BeaconsPlugin.stopBackgroundService(this)
}
}
That's it for Android.
iOS
In your AppDelegate.swift file change it to like this:
// if you need to monitor also major and minor use the original version and not this forkBeaconsPlugin.addRegion("myBeacon", "01022022-f88f-0000-00ae-9605fd9bb620")
.then((result) {
print(result);
});
//Send 'true' to run in background [OPTIONAL]awaitBeaconsPlugin.runInBackground(true);
//IMPORTANT: Start monitoring once scanner is setup & ready (only for Android)if (Platform.isAndroid) {
BeaconsPlugin.channel.setMethodCallHandler((call) async {
if (call.method == 'scannerReady') {
awaitBeaconsPlugin.startMonitoring();
}
});
} elseif (Platform.isIOS) {
awaitBeaconsPlugin.startMonitoring();
}
if (Platform.isAndroid) {
//Prominent disclosureawaitBeaconsPlugin.setDisclosureDialogMessage(
title: "Need Location Permission",
message: "This app collects location data to work with beacons.");
//Only in case, you want the dialog to be shown again. By Default, dialog will never be shown if permissions are granted.awaitBeaconsPlugin.clearDisclosureDialogShowFlag(false);
}
BeaconsPlugin.channel.setMethodCallHandler((call) async {
if (call.method == 'isPermissionDialogShown') {
//Do something here
}
});