iBeacon — ay isang proprietary protocol ng Apple para sa Bluetooth Low Energy beacons na nagpapahintulot sa mga iOS device na matukoy ang kanilang lokasyon sa loob ng mga gusali na may katumpakan hanggang sentimetro. Ang batayan ng protocol ay ang pagsasahimpapawid ng mga BLE packet na may natatanging identifier na naglalaman ng UUID, Major at Minor values. Ayon sa Apple iBeacon Design Guidelines (2025), ang teknolohiya ay ginagamit sa nabigasyon sa mga mall, museo, paliparan at istadyum, na sumusuporta sa passive detection nang walang aktibong pagpapares ng mga device.
Mga Pangunahing Punto
iBeacon — ay isang teknolohiya ng pagpoposisyon sa loob ng mga gusali na binuo ng Apple at ipinakilala sa WWDC 2013. Hindi tulad ng GPS na hindi gumagana sa loob ng mga gusali, ang iBeacon ay gumagamit ng Bluetooth Low Energy beacons — maliliit na device na pinapagana ng baterya na nagpapadala ng mga nakapirming packet ng pagkakakilanlan. Ang mga device sa iOS at Android ay tumatanggap ng mga packet na ito at kinakalkula ang tinatayang distansya sa beacon batay sa antas ng signal (RSSI).
Ang protocol na iBeacon ay naging unang mass standard ng BLE beacons, na inilunsad ng Apple noong 2013 sa iOS 7. Sa una, ang teknolohiya ay ginamit sa retail: ang mga Apple Store ay nagpatupad ng iBeacon para ipaalam sa mga customer ang tungkol sa mga diskwento kapag pumapasok sa mga partikular na zone. Pagsapit ng 2025, ang imprastraktura ng iBeacon ay may milyun-milyong naka-install na beacon sa buong mundo, bagaman lumitaw ang mga alternatibong protocol — Eddystone mula sa Google at AltBeacon na may open source code.
Ang iBeacon ay ginagamit sa limang pangunahing sitwasyon: nabigasyon sa loob ng gusali (mall, paliparan, museo), contextual notifications (mga diskwento kapag pumapasok sa tindahan), automation ng mga proseso ng trabaho (pagmarka ng presensya), logistik at imbentaryo ng bodega, pati na rin mga tourist guide na may awtomatikong pag-playback ng nilalaman kapag lumalapit sa bagay. Ayon sa ABI Research (2025), ang merkado ng BLE beacons ay tinatayang nasa 3.2 bilyong device na ginagamit.
Ang packet ng iBeacon — ay isang Advertising PDU (Protocol Data Unit) na ipinapadala sa BLE advertising channel sa mga frequency na 2402, 2426 at 2480 MHz. Ang format ng packet ay mahigpit na naayos at binubuo ng apat na field: Apple iBeacon prefix (0x4C000215), 16-byte UUID, 2-byte Major at 2-byte Minor values, at 1-byte TX Power para sa calibration ng distansya. Ang kabuuang sukat ng data ay 30 byte, na kasya sa isang BLE Advertising PDU.
| Field | Sukat | Paglalarawan |
|---|---|---|
| Apple prefix | 9 byte | Company ID (0x004C) + iBeacon type (0x0215) |
| UUID | 16 byte | Natatanging identifier ng organisasyon o app |
| Major | 2 byte | Identifier ng zone (0-65535), hal. numero ng tindahan |
| Minor | 2 byte | Identifier ng punto (0-65535), hal. numero ng istante |
| TX Power | 1 byte | Kalibrasyon na lakas ng signal sa distansyang 1 metro (dBm) |
Ang mga identifier ng iBeacon ay bumubuo ng tatlong antas na hierarkiya. Ang UUID ay itinalaga sa organisasyon (hal. chain ng tindahan), Major — sa partikular na tindahan o palapag, Minor — sa partikular na punto sa zone (cashier zone, department ng produkto). Ang ganitong hierarkiya ay nagpapahintulot sa app na flexible na tumugon sa iba't ibang antas ng konteksto: kapag pumapasok sa tindahan (UUID + Major) ang app ay maaaring mag-load ng mapa ng palapag, at kapag lumalapit sa partikular na department (Minor) magpakita ng impormasyon ng produkto.
Ang field na TX Power — ay ang reference na halaga ng antas ng signal (RSSI) sa distansyang 1 metro mula sa beacon. Pagkatanggap ng packet, itinatala ng device ang aktwal na RSSI at kinakalkula ang distansya gamit ang formula: distance = 10^((TX_Power - RSSI) / (10 * n)), kung saan n — coefficient ng pagkupas ng kapaligiran (karaniwang 2-4). Ang tamang calibration ng TX Power ay kritikal para sa katumpakan ng pagpoposisyon: ang error na 1 dBm ay nagbibigay ng deviation na hanggang 30% sa distansyang 5 metro.
Tinutukoy ng iOS ang tatlong zone ng proximity batay sa kalkuladong distansya sa beacon: Immediate (mas mababa sa 0.5 metro), Near (0.5 hanggang 3 metro) at Far (3 hanggang 30-50 metro depende sa kondisyon). Ang eksaktong distansya ay hindi iniuulat — kategorya lamang. Ito ay sinasadya: ang RSSI ay madaling kapitan sa interference, reflection ng signal at impluwensya ng katawan ng tao, kaya ang mga kategorya ay nagbibigay ng mas matatag na pagtukoy ng lokasyon.
Immediate — zone ng direktang kontak, kapag ang device ay ilang sentimetro mula sa beacon. Ginagamit para sa mga sitwasyong nangangailangan ng maximum na katumpakan: pagbabayad sa pamamagitan ng terminal, pagbubukas ng digital lock, beripikasyon sa checkpoint. Sa Immediate zone, ang RSSI ay karaniwang mula -30 hanggang -60 dBm.
Ang zone na Near — pangunahing working zone ng iBeacon, sumasaklaw sa distansya mula 0.5 hanggang 3 metro. Ginagamit para sa nabigasyon sa loob ng gusali — halimbawa, kapag lumalapit sa display ng produkto, ang app ay nagpapakita ng detalyadong impormasyon. Sa Near zone, ang RSSI ay nag-iiba mula -60 hanggang -80 dBm sa calibration na TX Power = -59 dBm.
Far — maximum zone ng detection ng signal ng beacon. Ginagamit para sa pagsubaybay sa pagpasok sa rehiyon (halimbawa, pagpasok sa mall). Sa Far distance, ang RSSI ay karaniwang mas mahina kaysa -80 dBm, at ang katumpakan ng pagtukoy ng distansya ay makabuluhang bumababa. Para sa pagsubaybay sa pagpasok, ginagamit ang system API ng region monitoring, hindi ang pagtukoy ng eksaktong zone.
Rehiyon ng iBeacon — ay isang virtual na lugar na tinutukoy ng UUID (at opsyonal na Major + Minor). Pinapayagan ng iOS ang pagsubaybay ng hanggang 20 rehiyon nang sabay-sabay gamit ang CLLocationManager. Kapag pumapasok sa rehiyon, ginigising ng system ang app kahit na sa background o patay na estado at nagpapadala ng notification sa pamamagitan ng delegate locationManager:didEnterRegion. Kapag lumalabas sa rehiyon, ang locationManager:didExitRegion ay tinatawag.
import CoreLocation
let locationManager = CLLocationManager()
let region = CLBeaconRegion(
uuid: UUID(uuidString: "E2C56DB5-DFFB-48D2-B060-D0F5A71096E0")!,
identifier: "myBeaconRegion"
)
locationManager.delegate = self
locationManager.requestAlwaysAuthorization()
locationManager.startMonitoring(for: region)
Para sa pagtukoy ng zone (Immediate, Near, Far) ginagamit ang ranging — pag-scan ng mga beacon sa real-time. Hindi tulad ng monitoring, ang ranging ay gumagana lamang sa aktibong mode ng app at nangangailangan ng pahintulot sa pag-access sa lokasyon. Ang metodo locationManager:didRangeBeacons:inRegion ay nagbabalik ng array ng CLBeacon na may fields na proximity (CLProximity.immediate, .near, .far, .unknown), accuracy (calibrated na distansya sa metro) at rssi.
func locationManager(
_ manager: CLLocationManager,
didRangeBeacons beacons: [CLBeacon],
in region: CLBeaconRegion
) {
for beacon in beacons {
switch beacon.proximity {
case .immediate:
print("Agad na kalapitan")
case .near:
print("Malapit na kalapitan")
case .far:
print("Malayong kalapitan")
default:
print("Hindi kilalang kalapitan")
}
}
}
Ang Android ay walang built-in na suporta para sa iBeacon, dahil ang protocol ay isang proprietary na solusyon ng Apple. Gayunpaman, sa pamamagitan ng third-party libraries tulad ng AltBeacon mula sa Radius Networks (ngayon bahagi ng Open Beacon organization), maaaring isama ng mga developer ang iBeacon sa mga Android app. Ang library na AltBeacon ay nagpapatupad ng pag-scan ng mga BLE packet, pag-parse ng iBeacon format at emulation ng ranging at region monitoring, katulad ng iOS API.
val beaconManager = BeaconManager.getInstanceForApplication(context)
beaconManager.beaconParsers.add(
BeaconParser().setBeaconLayout(
"m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"
)
)
beaconManager.backgroundBetweenScanPeriod = 5000
beaconManager.foregroundScanPeriod = 1100
beaconManager.bind(this)
Ang format ng pag-parse ng iBeacon sa AltBeacon library ay tinutukoy ng string na layout: “m:2-3=0215” — pagsusuri ng dalawang byte ng iBeacon marker, “i:4-19” — 16-byte UUID, “i:20-21” — Major, “i:22-23” — Minor, “p:24-24” — TX Power. Ang parehong format ay sinusuportahan para sa Eddystone at iba pang protocol, na ginagawang unibersal na library ang AltBeacon para sa pagtatrabaho sa BLE beacons sa Android.
Sa Android, ang pagtatrabaho sa iBeacon ay may tatlong pangunahing limitasyon: ang background scanning ay limitado ng mga manufacturer (Xiaomi, Huawei, Samsung ay madalas na pumapatay ng background processes), ang accuracy ng RSSI ay mas mababa kaysa sa iOS dahil sa mga pagkakaiba sa BLE stacks, at para sa pag-scan ay kinakailangan ang pahintulot na ACCESS_FINE_LOCATION simula sa Android 6.0 at BLUETOOTH_SCAN simula sa Android 12.
Eddystone — bukas na protocol ng BLE beacons mula sa Google, ipinakilala noong 2015. Hindi tulad ng iBeacon, sinusuportahan ng Eddystone ang apat na uri ng packet: Eddystone-UID (nakapirming identifier), Eddystone-URL (paghahatid ng URL para sa Physical Web), Eddystone-TLM (telemetry ng beacon — antas ng baterya, temperatura) at Eddystone-EID (naka-encrypt na identifier para sa proteksyon laban sa cloning). Kahit na itinigil ng Google ang pag-unlad ng Physical Web noong 2022, ang protocol na Eddystone ay patuloy na ginagamit sa corporate solutions.
| Parameter | iBeacon | Eddystone |
|---|---|---|
| May-ari | Apple | Google (bukas) |
| Mga uri ng packet | 1 (UID) | 4 (UID, URL, TLM, EID) |
| Data | UUID+Major+Minor | ID/URL + telemetry |
| Native na suporta sa iOS | Oo (CoreLocation) | Hindi (sa pamamagitan ng CoreBluetooth) |
| Physical Web | Hindi | Oo (Eddystone-URL) |
| Seguridad | Walang encryption | EID na may key rotation |
Ang pagpili sa pagitan ng iBeacon at Eddystone ay depende sa target platform at sitwasyon ng paggamit. Ang iBeacon ay ginustong para sa iOS apps dahil sa native na integration sa CoreLocation at region monitoring sa background. Ang Eddystone ay mas angkop para sa Android-oriented projects at Physical Web scenarios, kung saan ang beacon ay nagpapadala ng URL nang hindi nag-i-install ng app. Para sa cross-platform projects, madalas na ginagamit ang AltBeacon na sumusuporta sa parehong protocol.
Sa pagpapatupad ng iBeacon, ang mga developer ay nahaharap sa serye ng mga limitasyon na dapat isaalang-alang sa yugto ng disenyo ng arkitektura. Ang hindi tamang pagsasaalang-alang sa mga factor na ito ay humahantong sa hindi matatag na pag-andar ng nabigasyon, maling pag-trigger, at mas mabilis na pag-discharge ng baterya ng beacon kaysa sa inaasahan.
Ang antas ng signal na RSSI ay napapailalim sa makabuluhang pagbabago dahil sa reflection mula sa dingding, metal structures, presensya ng tao at iba pang wireless device sa 2.4 GHz band. Sa loob ng gusali, ang pagkalat ng RSSI para sa isang beacon ay maaaring umabot ng 10-15 dBm bawat minuto, na ginagawang hindi tumpak ang pagkalkula ng distansya nang walang paggamit ng mga filter (smoothing sa moving average, Kalman filtering).
Sinusuportahan ng iOS ang pagsubaybay ng hindi hihigit sa 20 rehiyon nang sabay-sabay para sa isang app. Para sa mga proyektong nangangailangan ng malawak na sakop na teritoryo (paliparan, istadyum), ito ay hindi sapat. Solusyon — dynamic na paglipat ng rehiyon: kapag pumapasok sa isang rehiyon, ang mga kalapit ay isinaaktibo at ang mga malayo ay deactivated.
Ang pagkaantala sa pagitan ng pagpasok sa rehiyon at pagtanggap ng notification ay maaaring mula 1 hanggang 30 segundo depende sa kondisyon. Ang iOS ay nag-scan ng mga beacon pana-panahon upang makatipid ng baterya, kaya hindi inaasahan ang agarang reaksyon. Para sa mga sitwasyong kritikal sa oras (pagbubukas ng pinto kapag lumalapit), inirerekomenda ang paggamit ng Immediate ranging, ngunit ito ay gumagana lamang sa aktibong mode ng app.
Mga Madalas Itanong
iBeacon — ay protocol ng Apple para sa Bluetooth Low Energy beacons na nagpapahintulot sa mga iOS at Android device na matukoy ang kanilang lokasyon sa loob ng gusali na may katumpakan hanggang sentimetro batay sa pagsusuri ng antas ng signal (RSSI) ng mga natanggap na BLE packet.
Bluetooth — ay isang pangkalahatang protocol ng wireless communication para sa paghahatid ng data sa pagitan ng mga device na nangangailangan ng pagpapares. iBeacon — isang specialized protocol sa ibabaw ng BLE, na nilayon lamang para sa pagsasahimpapawid ng mga identifier nang hindi nagtatatag ng koneksyon. Ang mga iBeacon beacon ay hindi nagpapadala ng data — sila ay nag-uulat lamang ng kanilang presensya.
iBeacon ay gumagana sa Advertising mode — ang beacon ay patuloy na nagpapadala ng mga broadcast BLE packet na may ID information. Ang device ay tumatanggap ng packet ngunit hindi kumokonekta sa beacon. Ito ay nagtitipid ng baterya ng beacon (hanggang 2-3 taon ng operasyon mula sa isang CR2032) at nagpapahintulot ng passive detection ng mga beacon nang walang aktibong pag-scan.
Hindi, ang iBeacon ay hindi dinisenyo para sa paghahanap ng mga device. Ang mga iBeacon beacon ay mga nakatigil na transmitter, at ang iPhone ay gumaganap bilang receiver. Ang iPhone ay hindi nagpapadala ng iBeacon signals (maliban sa Find My function na gumagamit ng ibang protocol na nakabatay sa BLE). Para sa paghahanap ng telepono, ginagamit ang iba pang teknolohiya (Find My network, UWB).
Ang saklaw ng iBeacon ay depende sa mga setting ng beacon at kondisyon ng kapaligiran. Karaniwang saklaw: Immediate — hanggang 0.5 m, Near — hanggang 3 m, Far — hanggang 30-50 m. Sa paggamit ng mga beacon na may signal amplifier at sa bukas na espasyo, ang saklaw ay maaaring umabot ng 70 m, ngunit ang katumpakan ng pagtukoy ng distansya sa ganoong distansya ay minimal.
Buod
Gagawa kami ng mobile application na turnkey
Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.
Basahin din