evothings / phonegap-estimotebeacons Goto Github PK
View Code? Open in Web Editor NEWThis repository is no longer maintained - new maintainer is welcome!
License: MIT License
This repository is no longer maintained - new maintainer is welcome!
License: MIT License
Hello,
Thanks for all your work. We've been following your progress on the development. I've added this plugin to my project, and ran it via xcode. I'm getting the error displayed in the screenshot.
Is this an XCODE error due to the latest version?
I am using:
iPhone 5s IOS 7.1
Xcode 5.1
Current plugin - march 20 (from repo)
I am successfully adding the plugin to phonegap, and building for IOS. Not build errors in xcode until i run it on the device. The app crashes at this point (see screenshot).
I'm not an expert at xcode, so please be patient. :)
Thank you!
I would love to be able to use this with an app on PhoneGap:Build. I hate building locally.
It sounds like plugman is working for you, so maybe it's as simple as submitting it? If you need help, let me know. I'll do my best!
Hi, i just updated Estimote SDK to newest lib and EstimoteBeacons.m does not compile. Any plans to update it ?
Hi,
I successfully manage to connect to my Estimotes using your library,
But when I use the method getConnectedBeacon, I successfully get the informations about the beacon, but the value of the RSSI field is always 0, while the distance field stays at -1.
I tried this with 3 different estimotes, moving back and forward from them, but nothing change.
However, when i'm not connected, I get a correct RSSI value while RangingBeaconsInRegion..
Thank you for your help,
Vincent.
awesome ideia to make this plugin, i use phonegap a lot to make apps, and now i bought Estimote Beacons and tried to run the example app with xcode, but after doing all the steps that are on the readMe file on the examples folder it always say:
"CDVPlugin class EstimoteBeacons (pluginName: estimotebeacons) does not exist"
any ideia? thanks in advance
Hi,
I'm trying the beacon-finder example.
In the monitoring section I see the beacon and those are the information displayed:
State: inside
Major: undefined
Minor: undefined
Identifier: EstimoteSampleRegion
UUID: myUUID
(the UUID is well displayed, this is an example)
Why can't I see the Major/Minor number?
I've test the app on Android 4.4.4 (Nexus5) and iOS 7.0.3 (Ipad Mini) but this issue remains.
It seems a lot of these libraries are for Estimote beacons only, what technical differences are there that stop it working with other iBeacons, I presumed they all used the same BTLE protocols?
Hey, is there any way to use create a virtual beacon using this plugin? The startVirtualBeacon
function is commented out, but I can't find any explanation what that means. I've naively removed the comments for it from the in EstimoteBeacons.js
as well as EstimoteBeacons.h
, but I guess it's not enough.
I'm happy to contribute with a little guidance to make it work or at least to get a HELL NO from one of the devs. Thanks!
Do you have a notification example?
I'm running the example on my iPhone from terminal. The "Scan Beacons" button is working. The "Range Nearables" button takes me to a blank screen, but the app does not terminate.
Pressing "Range Beacons" or "Monitor Regions" is terminating the app.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CLBeaconRegion inMotion]: unrecognized selector sent to instance 0x1610fa00'
What's this all about?
There is a currently a known problem with monitoring nearables with the plugin, see this bug report: Estimote/iOS-Fleet-Management-SDK#174
Does this have a dependancy on specific phonegap versions?
I have been unable to get the example app to detect a virtual estimote, should virtual estimotes work?
We are using your plugin and are very pleased by it, but we would like to use more security for our App. When do you plan on supporting the new Secure UUID mode and the latest SDK ?? https://community.estimote.com/hc/en-us/articles/204233603-What-is-Secure-UUID-and-how-does-it-work-
Based on what we see, implementing Secure UUID should be rather straightforward: update the SDK, add support for setting App ID and Tokens, and finally, a "secure" flag on beacon regions.
Any thoughts ? Also, we would be more than happy to help testing it !
Thank you
When running one of the plugin's functions on Android while the device's Bluetooth is turned off, there is no notification about that Bluetooth needs to be turned on.
In Estimote's Android-SDK Demo application there will be a dialogue asking whether the user wants to turn on Bluetooth, when a function requiring this is run, e.g. when running its "Distance Demo" activity, which shows that this functionality is available in the SDK.
Hi kdzwinel,
is it possible to update major/minor through the plugin?
In general, are there plans for keep supporting the plugin and adding new methods?
Thank you
Thanks for the great plugin. I've got it working in Cordova 3.3 in 7.0 and 7.1.
However, the app I'm building is targeted for iOS 5.1 and above (iBeacons are not central to the overall app). Any attempt to run the app on anything less than 7 results in a fatal error on startup:
dyld: Symbol not found: OBJC_CLASS$_CLBeaconRegion
Obviously, iBeacons aren't supported in anything less than 7.0, but do you know of a way to conditionally load the plugin? I have code in onDeviceReady handlers to detect iOS version and not execute any of the iBeacon code, but it fails before it even gets to any of my code.
Hi kdzwinel,
First of all thank you for your work,
Unfortunately I didn't manage to use your library successfully, and this after many trials.
I don't think I have installation problems since I succesfully use others BLE libraries.
However, when I put, for example, "EstimoteBeacons.startRangingBeaconsInRegion(app.display("hello")); " in the app structure of my file index.js ; it does compile well but nothing happens with this call and the following ones.
Do you have any idea ?
Thank you.
Vincent.
Hi,
I have been trying to use this plugin with Estimote beacons,android device and cordova/phonegap. There are not errors in the download process and I have followed all the troubleshooting steps.
However when I run the example project provided. Nothing is displayed other than "Connecting to Device","Device Ready","Searching for Beacons".
The demo app provided in the PlayStore works fine and I am able to see the detected beacons.
I have not changed the code in the examples project.
Is this plugin compatible with android? Had anyone used it with an android device?
If no are the other plugins which would work with an android device??
I would really appreciate any advice, help
Hi kdzwinel,
I'm currently using your library to display infos about estimote beacons.
Everything worked fine before but since I did the update to ios 7.1 it doesn't work anymore.
The problem comes when I call the function EstimoteBeacons.getBeacons, the calling is successful but the function doesn't find no beacons, althought there are..
I tried to print both newBeacons.length and beacons.length, they stay at the value 0.
Have you heard about a similar issue ?
Thanks.
Line 107 in EstimoteBeacons.m:
if([region.identifier compare:regionid]) {
Causes an NSInvalidArgumentException:
-[__NSCFString identifier]: unrecognized selector sent to instance 0x16dde690
I followed the instructions to build the beacon-finder example for Android. After the build we're supposed to enter the command
adb install -r platforms/android/ant-build/BeaconFinder-debug.apk
However, this file does not exist after building. Instead I tried using the file that was listed in the build output:
[echo] Debug Package: /home/sam/phonegap-estimotebeacons/examples/beacon-finder/platforms/android/ant-build/CordovaApp-debug.apk
This produces the message below, and sits there until I kill it manually.
error: device not found
- waiting for device -
I've also tried omitting this step altogether. When I skip this and proceed with cordova emulate android
, the app runs, but my beacons don't show up when I click Scan. The beacons show up in the BLE scanner that I downloaded on my android phone.
Does this have anything to do with not being able to install the debug package? If not, what else might be behind this?
Are there any good techniques for determining a reasonably reliable and consistent distance? I'm seeing a lot of random fluctuations from meters away to cm away. I've tried averaging out the 10 most recent distances returned for a specific beacon but even that fluctuates over time...
Despite the effect on the battery, would increasing the power of the beacon (setPowerOfConnectedBeacon) improve distance accuracy?
Hi, I've recently updated the plugin version on my project from 0.4~ to 0.6.0. With this I have had to update to support the new estimote.beacon calls which makes sense with the nearable additions.
Upon testing I have discovered that if you try to start monitoring for a region whilst bluetooth is turned OFF, the App will completely crash out.
Xcode log:
-[CLBeaconRegion inMotion]: unrecognized selector sent to instance 0x1536be00
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CLBeaconRegion inMotion]: unrecognized selector sent to instance 0x1536be00'
*** First throw call stack:
(0x23e7949f 0x31633c8b 0x23e7e8b9 0x23e7c7d7 0x23dae058 0x25d6a5 0x256963 0x194d0b 0x195747 0x25afe3 0x245390d5 0x24533c2b 0x2452d9a1 0x23e3fd7d 0x23e3f041 0x23e3db7b 0x23d8b3c1 0x23d8b1d3 0x2b1890a9 0x273997b1 0xfda07 0x31bb3aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException
Any ideas?
This also happens when updating to version 0.7.0
In older versions of the plugin, you can determine the location permission status and then act with ranging/monitoring which would cause a bluetooth dialog to display if not enabled. In the latest version of the plugin when you try to determine the location permission status it asks the user to turn on their bluetooth which can get very annoying (I check this in a backgroundFetch so the App is asking the user to turn on their bluetooth every 10 minutes or so even when not using the App!).
How can I implement didEnterRegion event in javascript?
Don't know if it's possible, but I'm trying to run a "estimotetest" using the "phonegap serve" command.
This is supposed to work or will work just if I use Xcode?
Thanks a lot and congratz on the plugin.
Some methods may crash the app when submitted data is invalid.
I am new to estimote beacons and phone gap. My question is:
Can we use this to open an application (working in the background) when the phone realizes a beacon? I mean something as in the estimote advertisement videos where some guys go to restaurant and gets notification from an application.
Dear kdzwinel!
I tried to install your extension for phonegap, but got the following error message:
https://www.dropbox.com/s/zbvgf06hc7s3ze5/Screenshot%202014-02-07%2014.59.44.png
I followed the installation guide, also saw that the latest 1.2.0 EstimoteSDK has some issues (so i used 1.1.0 as you suggested), but can't get rid of this error message.
Do you have any suggestions how to fix it?
Thanks in advance!
Hello,
Help is appreciated!
I have the problem, that the plugin does not work at all - it keeps returning Invalid action when called like this:
EstimoteBeacons.startRangingBeaconsInRegion(
{}, // region - hier könnte man die zu empfangenden Beacons einschränken
startRangingBeaconsInRegionCallback,
onError
);
I also built the beacon-finder to verify, whether it is my code that is making problems, but this also doesn't work..
Any hints?
Kind regards
Christoph
getBeacons receive same proximityUUID - how change this parameter when launching virtual beacon?
each time when i launch virtual beacon with major, minor and id, i receive same beacons with proximityUUID = B9407F30-F5F8-466E-AFF9-25556B57FE6D and i don't see here parameter id!
You played with this PhoneGap plugin and heard that searching for beacons works when your app is in the background? Read on.
It is possible to show a push message (or do something else) whenever someone enters or leaves a region. If your app requests startMonitoringForRegion
it will receive didEnterRegion
and didExitRegion
events even when working in the background.
startMonitoringForRegion
will work in the background. startEstimoteBeaconsDiscoveryForRegion
or startRangingBeaconsInRegion
won't.didEnterRegion
/didExitRegion
if it was killed, closed or never opened by the user.didEnterRegion
/didExitRegion
events to fire. You can however change power of the beacons.This plugin does have a partial, undocumented support for startMonitoringForRegion
(https://github.com/kdzwinel/phonegap-estimotebeacons/blob/master/www/EstimoteBeacons.js#L80). I'm still working on this ( #2 ) and all help will be apreciated. However, the big issue is that native app receives didEnterRegion
and didExitRegion
events but it's not passing them to the PhoneGap / JavaScript app. I'm not sure what's the reason for this (maybe webview doesn't work in the background?), so again, all help that can help me fix that will be appreciated. In the POC app that my company made, we decided to bake notifications support into the plugin (you can add it to EstimoteBeacons.m
> didEnterRegion
).
Add support for (entering and leaving) regions.
I have installed the latest version but it does not work on android < 4.3, the app crashes during starting. Is it compatible with this versions? The iOS version works normally.
Hello,
First of all, thanks a lot for this great plugin.
I've been able to install it using phonegap CLI and I can get startRangingBeaconsInRegion working properly.
But It seems I can't find a way to have the startMonitoringForRegion working when the app is in background and therefore can not send push notifications when people enter a region. I set the app in Xcode to work on background and checked all bluetooth and notification related items.
I read the point 8 you mentioned, but I'm not sure I did understand every points, wether it is already doable or not.
I tried to find a way to use getBeacon within the setInterval and link an action when a specific beacon is in range, but the setInterval doesn't work when the app is in background.
Do you know if there's already a way to have this plugin running on background and what function I should use ?
Thanks a lot for your help
R.
JB
Hi,
We are trying to build a Cordova app using your plugin but at build time we get the following errors:
/projects/helloworld1/helloworld1/Plugins/EstimoteBeacons.m:248:35: error: no visible @interface for 'ESTBeacon' declares the selector 'writeBeaconFrequency:withCompletition:'
[self.connectedBeacon writeBeaconFrequency:[frequency shortValue] withCompletition:^(unsigned int value, NSError *error) {
~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/projects/helloworld1/helloworld1/Plugins/EstimoteBeacons.m:299:35: error: no visible @interface for 'ESTBeacon' declares the selector 'writeBeaconPower:withCompletition:'
[self.connectedBeacon writeBeaconPower:powerLevel withCompletition:^(unsigned int value, NSError *error) {
~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/projects/helloworld1/helloworld1/Plugins/EstimoteBeacons.m:319:31: error: no visible @interface for 'ESTBeacon' declares the selector 'updateBeaconFirmwareWithProgress:andCompletition:'
[self.connectedBeacon updateBeaconFirmwareWithProgress:^(NSString *value, NSError *error) {
~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Is there anything we are doing wrong? Or is it an issue?
Also, could you provide details on how is the plugin used?
Thanks for your help,
Jordi
The actual object to be used for these calls is a lowercase "e" in "estimoteBeacons" and not the uppercase class/function name "EstimoteBeacons".
Since Android SDK is already available, support for Android should be added to PhoneGap plugin.
Hi, in your documentation.md files it states what can be access in iOS and Android.
Is there a way to access the other ESTBeacon classes shown here?
https://estimote.github.io/iOS-SDK/Classes/ESTBeacon.html#//api/name/delegate
If not, do you plan on including them in future versions?
Cheers
Hi
Not sure if you are working adding support for the new iOS 8 core location changes. I had to update my local version to make my app work. Be happy to provide you the code, although not tested (very much).
Let me know
Joe
Hi there,
First of, thanks for the code :)
I grab the code two month ago, it works great on my ios7 device with the estimote virtual beacon, and my app can open on ios5 device as well (yes, i know ibeacon require ios 7).
However, when i download the latest version of estimote virtual beacon, it seems not working anymore, i suppose i need to update the app with the latest version 1.2
i redo the same procedure, the problem see is that app crash on ios5 device.
Hi,
When I try this, getBeacons does not find any beacons when I use startRangingBeaconsInRegion. However if I specify my own beaconregion with the uuid of one of the beacons it does work.
static NSString * uuid = @"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; <-- my beacon UUID is here
static NSString * beaconID = @"com.XXX.XXXX";
static NSString *resultMsg=@"Starting";
This part finds the beacon... but when I use your code getBeacons - does not return any beacons.
Any ideas?
Thanks
Mike
Hi, I've been trying to implement this for sometime now and have debug statement everywhere!
I've narrowed it down to when the initial window.EstimoteBeacons.startRangingBeaconsInRegion() function is called in BeaconManager. This seems to do nothing.
I've no errors in either console (browser / XCode).
Have bluetooth & Location services on.
The beacon is showing up on the estimote app.
Here is a screenshot of my app hierarchy
Thanks
Hi! First of all, thanks for your work on the phonegap plugin.
I tried to use your plugin, but could not get it to work. I built the ios version, opened the xcodeproject and added the estimote sdk. When I try to build it, the linker gives me this error:
ld: symbol(s) not found for architecture i386
I'm totally clueless of how to solve this problem... Can you give me any pointers?
Hi Konrad,
first of all, thanks for the plugin .. it is working pretty well for me and I was able to get it working right out of the box.
I'm actually not sure if it's an issue or behaving correctly, but if I have setInterval polling for the beacons and I walk away from them, the plugin appears to hang and never recovers.
have you seen this behavior before?
tx, Chris
Hi, i've installed as per instructions but have having errors:
For both of these lines: Error - Unused Entity Issue
NSString* regionid = [command.arguments objectAtIndex:0];
ESTBeaconRegion* regionFound = nil;
Can you advise? Thanks
Hi,
Thank you all for your efforts in making this wonderful software. Is there an option available for push notifications even when the app is not running? This feature is available as 'enter' and 'exit' range option in the ios SDK.
Thanks
Hi,
I just got my beacons and i'm playing with this phonegap example. I saw that from time to time not all my beacons are discovered. Some times it only discover one or two. I would say its one per ten times. Beacons are placed next to each other (1-2 meters from my phone). Is it expected behaviour ? I have too old phone ? (iphone 4s). Is it connected with too frequent ranging ? Or maybe i should play with startEstimoteBeaconsDiscoveryForRegion method ?
Please advice !
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.