Ionic Nativeでは、ネイティブプラグイン経由でiBeaconsを使用する可能性があります:https ://ionicframework.com/docs/native/ibeacon
サンプルコードは、AngularJSでIonicを使用する人向けに書かれていますが、私はVueJSを使用しており、これを機能させる方法を理解できません。
サンプルコードのAngularバージョン:
import { IBeacon } from '@ionic-native/ibeacon/ngx';
constructor(private ibeacon: IBeacon) { }
...
// Request permission to use location on iOS
this.ibeacon.requestAlwaysAuthorization();
// create a new delegate and register it with the native layer
let delegate = this.ibeacon.Delegate();
// Subscribe to some of the delegate's event handlers
delegate.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)
);
しかし、私が動作すると期待していたのは、VueJSで次のことでした。
それをインポートする私のコンポーネントの上に: import { IBeacon } from '@ionic-native/ibeacon/ngx';
次のように使用します。
foobar() {
let _ibeacon = IBeacon.Delegate()
alert('Hi iBeacon');
_ibeacon.didStartMonitoringForRegion()
.subscribe(
data => console.log('didStartMonitoringForRegion: ', data),
error => console.error()
);
}
ただし、アラートも表示されません。VueとionicでiBeaconプラグインを使用する正しい方法は何ですか?