Estimote Beacons激活cordova / phonegap应用程序中的后台监控

时间:2015-09-16 09:51:16

标签: android ios cordova estimote

我正在使用Estimote的信标。 Evothings的cordova / phonegap插件很棒!

目前,如果应用程序处于后台,我会尝试监控这些区域。这种方法效果很好,而应用程序只打开一次,之后就不会被杀死。

目前,当设备准备就绪时,我会调用“startMonitoring”功能。我也尝试在初始化过程之外编写函数,但它根本不起作用。

所以我正在寻找一个解决方案,即使应用程序被杀死也会向进入我某个地区的用户发送通知。

目前我正在Android设备上进行测试。我想为Android和iOS构建应用程序。

这是我的代码:

var app = (function()
{
    // Application object.
    var app = {};

    // Dictionary of beacons.
    var beacons = {};

     app.initialize = function()
    {
        document.addEventListener('deviceready', onDeviceReady, false);
    };

    function onDeviceReady()
    {
        // Start tracking beacons in background
        startMonitoring();
    }

     function startMonitoring(){
        var myregion =
        {
            identifier: 'MyRegion',
            uuid: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXX5772XXXX',
            major : '12345',
            minor : '12346'
        };

        estimote.beacons.startMonitoringForRegion(
            myregion,
            function(state) {
                 console.log('Region state: ' + JSON.stringify(state));
                 $('#devRegion').html(state.state + ' ' + state.identifier);
            },
            function(errorMessage) {
                 console.log('Monitoring error: ' + errorMessage);
            }
        );
    }
    return app;
})();

app.initialize();

是否有使用cordova / phonegap运行后台服务的功能?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下Cordova / PhoneGap插件在Android和iOS上获取背景通知:

https://github.com/katzer/cordova-plugin-local-notifications

但是,如果您使用Cordova 5构建,请注意此插件尚不支持Cordova 5。

这是一个支持Cordova 5的插件的修补(但更旧)版本(注意分支是evothings-master):

https://github.com/evothings/cordova-plugin-local-notifications/tree/evothings-master

要添加此插件,请使用以下命令:

cordova plugin add https://github.com/evothings/cordova-plugin-local-notifications#evothings-master

这是一个可能有帮助的教程,它使用通用的iBeacon插件,但也应该与使用Estimote插件的应用程序相关:

https://evothings.com/hands-on-guide-to-building-a-native-javascript-ibeacon-app-using-cordova/

希望这有帮助!