खोज…
पैरामीटर
पैरामीटर | विवरण |
---|---|
प्रबंधक | CLLocationManager संदर्भ |
क्षेत्र | CLRegion गोलाकार क्षेत्र हो सकता है (भू-आकृति या बीकन क्षेत्र) |
बीकन | CLBeacon के एरे में सभी राउंडेड बीकन होते हैं |
टिप्पणियों
बीकन IOT ऑब्जेक्ट हैं। हम उन लोगों पर ध्यान केंद्रित कर रहे हैं जो iBeacon प्रोटोकॉल के अनुरूप Apple मानक हैं। प्रत्येक बीकन एक तरह से डिवाइस है जो 3 चीजों को प्रसारित करता है
- UUID
- प्रमुख
- नाबालिग
हम विशेष रूप से यूयूआईडी के लिए बीकन को स्कैन करने के लिए हमारे CLLocation प्रबंधक ऑब्जेक्ट सेट करके iBeacons को स्कैन कर सकते हैं। दिए गए UUID वाले सभी बीकन को स्कैन किया जाएगा।
CLLocation प्रबंधक बीकन क्षेत्र के प्रवेश और निकास पर कॉल भी देता है।
iBeacon बेसिक ऑपरेशन
- सेटअप निगरानी बीकन
func initiateRegion(ref:BeaconHandler){
let uuid: NSUUID = NSUUID(UUIDString: "<UUID>")
let beacon = CLBeaconRegion(proximityUUID: uuid, identifier: "")
locationManager?.requestAlwaysAuthorization() //cllocation manager obj.
beacon?.notifyOnEntry = true
beacon?.notifyOnExit = true
beacon?.notifyEntryStateOnDisplay = true
locationManager?.startMonitoringForRegion(beacon!)
locationManager?.delegate = self;
// Check if beacon monitoring is available for this device
if (!CLLocationManager.isMonitoringAvailableForClass(CLBeaconRegion)) {
print("error")
}
locationManager!.startRangingBeaconsInRegion(self.beacon!)
}
- स्थान प्रबंधक प्रवेश और निकास क्षेत्र
func locationManager(manager: CLLocationManager, didEnterRegion region: CLRegion) {
if(region.isKindOfClass(CLBeaconRegion)) {
locationManager!.startRangingBeaconsInRegion(self.beacon!)
}
}
func locationManager(manager: CLLocationManager, didExitRegion region: CLRegion) {
if(region.isKindOfClass(CLBeaconRegion)) {
locationManager!.stopRangingBeaconsInRegion(self.beacon!)
}
}
- स्थान प्रबंधक श्रेणी बीकन
func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion) {
print(beacons.first.major)
}
विशिष्ट बीकन को स्कैन करना
beacon = CLBeaconRegion(proximityUUID: <#NSUUID#>, major: <#CLBeaconMajorValue#>, identifier: <#String#>) // listening to all beacons with given UUID and major value
beacon = CLBeaconRegion(proximityUUID: <##NSUUID#>, major: <##CLBeaconMajorValue#>, minor: <##CLBeaconMinorValue#>, identifier: <##String#>) // listening to all beacons with given UUID and major and minor value
रेंजिंग iBeacons
सबसे पहले, आपको स्थान सेवाओं के प्राधिकरण का अनुरोध करना होगा
let locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
// OR locationManager.requestAlwaysAuthorization()
तब आप सभी iBeacons की जानकारी didRangeBeacons
अंदर प्राप्त कर सकते हैं
func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion) {
for beacon in beacons {
print(beacon.major)
print(beacon.minor)
}
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow