Skip to main content


This plugin provides functions for working with iBeacons.

The plugin's API closely mimics the one exposed through the CLLocationManager introduced in iOS 7.

Stuck on a Cordova issue?

Don't waste precious time on plugin issues.

If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.


$ npm install cordova-plugin-ibeacon $ npm install @ionic-native/ibeacon $ ionic cap sync

Supported Platforms#

  • Android
  • iOS



Learn more about using Ionic Native components in React


import { IBeacon } from '@ionic-native/ibeacon/ngx';
constructor(private ibeacon: IBeacon) { }

// Request permission to use location on iOSthis.ibeacon.requestAlwaysAuthorization();// create a new delegate and register it with the native layerlet delegate = this.ibeacon.Delegate();
// Subscribe to some of the delegate's event handlersdelegate.didRangeBeaconsInRegion()  .subscribe(    data => console.log('didRangeBeaconsInRegion: ', data),    error => console.error()  );delegate.didStartMonitoringForRegion()  .subscribe(    data => console.log('didStartMonitoringForRegion: ', data),    error => console.error()  );delegate.didEnterRegion()  .subscribe(    data => {      console.log('didEnterRegion: ', data);    }  );
let beaconRegion = this.ibeacon.BeaconRegion('deskBeacon','F7826DA6-ASDF-ASDF-8024-BC5B71E0893E');
this.ibeacon.startMonitoringForRegion(beaconRegion)  .then(    () => console.log('Native layer received the request to monitoring'),    error => console.error('Native layer failed to begin monitoring: ', error)  );