Beacon eddystone background scanning - android

I have beacon from Kontakt.io.
I try to write Android app that show me a notification every time when I go to the beacon area. App must run on background and wake up my app.
I try to use Google Nearby API but no beacon found.
Oficial Google sample app also no beacon found.
My own app found beacon but not working on background.
I try switch between Eddystone and iBeacon profil, but it is still the same.
Official app by konkakt.io find beacon.
My own app which list beacons in area also works.
These applications don´t use Google Nearby, but I can write app with background scanning beacons with Google Nearby .
At the beginning I proceeded according to this manual:
https://developers.google.com/nearby/messages/android/get-started#step_1_get_google_play_services
Link to Google sample:
https://github.com/googlesamples/android-nearby/tree/master/messages/NearbyBackgroundBeacons
In google sample is BackgroundSubscribeIntentService. In MainActivityFragment I set up all and run the servise. But there is no incoming intent to this service. I have no idea what to do. It occurred to me somehow register a beacon to the application but I don´t know how.
I have Oneplus One and Samsung Galaxy S6 with Android 6 and bluetooth 4.
Thank you.

You need to understand What is iBeacon and Eddystone
If you want to use beacon as a eddystone you need to update the beacon configuration through Kontakt.io web panel ( Kontak io Web Panel ) and you have to use Kontakt io Android App ( Kontakt io Google Play Store ) for update the beacon, because beacon will update via Bluetooth.
If you want use you beacon in Google Nearby Panel then you have configure your beacon as a eddystone. Once you done with all configuration with kontakt io then you need to Work on google Developer beacon Panel Google Beacon Dashboard.
Now you have to setup some setting in Android phone.
Open you Chrome app.
Go to chrome settings.
Click on Privacy.
There is one Item Name as Physical web you have turn it on.
If you are using below 6.0 version Android Phone Then you have to find Google Setting in your phone and turn on Nearby. If you using above 5.0 then go to Phone Setting find google -> NearBy -> and turn on.
Thanks
I hope this will help you.

Related

Google "Eddysone" Beacons - which capabilities for prompting users on devices?

I am trying to read up on beacon technologies (new area for me) - and select one or two technologies to use for Android and iOS. I have begun investigating Google Beacons "EddyStone" and Google's related technologies Proximity Beacon, Nearby Notifications and Nearby Messages.
...
If I understand it correctly, using "Google Beacons" you can register and associate beacon IDs to your app ID. If the Android user then walks by with bluetooth/BLE enabled (but not app installed) they can get a prompt to download the app. I can understand how this works on Android since Google controls Android OS (and Chrome) and can maintain a server with registered Beacons and their associated actions and app IDs. So far so good.
...
However, I do not understand if and how this will also work on iOS. My research indiciates it may work if the iOS user has Chrome installed or other apps that respond to Eddystone beacons - however, it will not be supported "out of the box" on most iOS phones - is that correctly understood?
...
However, assuming the user has an Eddystone beacon enabled app running in background - can my beacon prompt to download the app? (Or alternatively prompt an URL to a page that detects user agent and opens Google Play / iTunes store app link which I already have to handle QR code scans)
...
Using above Google technologies and Eddystone, can I take it a step further:
If the user passes by a beacon with BLE enabled and my app is not running/started, but installed can I have my app:
Launched on Android (yes?)
Launched on iOS (no?)
Launched on iOS if already running in background (yes?)
Monitoring for beacons on android (no?)
Monitoring for beacons on android if already running in background (yes?)
Monitoring for beacons on ios (no?)
Monitoring for beacons on ios if already running in background (yes, but less precision?)
In parentheses I have inserted answers I found through Eddystone FAQ: https://kontakt.io/blog/eddystone-faq/
This would mean that a present, it would not be possible to use Eddystone beacons to automatically notify users with offers / text messages as they walk around a shop - at least not on iOS - and at least not without the user already having started the app?
Your analysis us essentially correct. A few specific clarifications:
On iOS before your custom app is installed, a user may be prompted to install only if they have installed Chrome (rare), activated the Chrome Today iOS widget (rarer still) and then opted in to beacon notifications.
On iOS there is no mechanism for Eddystone to launch a non-running app. For that you must use iBeacon.
On iOS background detections on Eddystone are slow (many minutes) vs seconds under ideal conditions with iBeacon.
On iOS you cannot automatically bring an app to the foreground from the background. The closest you can get is to send a local notification to the user, and if the user taps the notification it will bring the app to the foreground.
On Android it is possible to monitor for Eddystone beacons even if your app is not running (from a visible user perspective at least) by using a third party tool like the open source Android Beacon Library manage background scanning.

Technical capabilities of iBeacon

I am new to beacons, but I am trying to understand the pros and cones of iBeacons for an app on iOS and Android:
I understand that on iOS:
Apps in the background can monitor for BLE/bluetooth
Apps in the background can be opened through a local notification which the user can press and thereby open the app.
But this still leaves two important use cases I am unsure about:
1)
When the app is installed, but not running at all, is it possible to have the app launched or at least a message asking to open the app on:
iOS?
Android?
2)
If the app is not installed - is it possible to prompt the user to download an app like EddyStone beacons on:
iOS?
Android?
Yes, when an app is not running, you can detect beacons and have them send notifications to a user on both iOS and Android. Tapping on the notification will bring the app to the foreground. There are a couple of platform-specific distinctions:
Android: A third party library such as the open source Android Beacon Library must be used to trigger background scanning even when the app has not been launched by the user. (Technically the app is running when doing this scanning, but only the beacon scanning parts of it.) On an Android device only, you can fully launch the app to the foreground on beacon detection instead of just sending a notification. Background detection works well with both iBeacon and Eddystone.
iOS: Background detection works much more quickly with iBeacon than Eddystone.
It is not possible to use beacons to prompt users to install your app on iOS using either iBeacon or Eddystone.
On Android, it is possible to use Google Nearby to prompt a user to install your app on newer Android 4.4+ devices. (This works with both iBeacon and Eddsystone, if you have your beacons properly configured with Google.) That said, a number of conditions must be satisfied for this to work:
Google Nearby must be enabled in Google settings
Location must be enabled
Bluetooth must be on
Google Play Services v.10.0 must be installed on the phone (earlier version 9.8 available through November 2016 had Nearby notifications disabled.) Note that most phones in China and many other countries do not have Google Play Services at all.
You must register your beacons with google and set up Nearby app intents.
Read more about the basics of Nearby here and more about using App Intents to send users to the Google Play Store to install your app here.
http://developer.radiusnetworks.com/2015/07/22/how-to-push-messages-without-an-app.html

I can't see a nearby notification in association with a beacon

My device got yesterday the update of the google services app.
I have tested the google nearby notifications on Android with two beacons, one iBeacon and one Eddystone-UID.
These beacons are active, and are correctly registered in the platform.
(I see them as registred in the Android Beacon Tool app).
I added to them an url nearby notification attachment from the Google Beacons Dashboard.
My device does not receive any notifications in relation with these beacons
while my device correctly receives the one from a physical web beacon (emitting an Eddystone-url) with the new nearby notification system (not the Chrome one)
Is the nearby notification ready with iBeacon and Eddystone-UID ?
Yes, the nearby notification is ready with eddystone UID.
The process is:
Get eddystone supported beacons
Configure your beacons to a namespace ID and an instance ID(usually this is done with the help of an app which is provided by the device manufacturer)
Register your eddystone UID beacon with the help of beacon tools app. (Make sure you have created a project before doing so)
Once the beacon(eddystone UID is registered), open Google beacon dashboard.
Select the registered device, toward top left, you will find a drop down, select nearby notification from there.
Fill the appropriate fields. Try to create multiple notifications using different URL's like facebook.com, Google.com etc.
Now bring your beacon near your android phone, switch on bluetooth and location.
You should see a notification which reads as "website for this location found""
If still after following the above process, you cannot find the notification.
Go to you Google settings from the apps drawer and see if you can find an option called nearby discoveries.
If nearby discoveries is present that would mean your play services is updated to 9.2.55 and nearby notifications should work.
Also, do let me know your Android phone model.
Thank You
My problem seems to be a language management bug in the google proximity platform.
My mobile is in french.
I added an attachement with as language "fr". I can't get it.
If I put an attachement with as language "en", I can see it on my phone in the "nearby discoveries" page (while my phone is in french)

Android send notification message to device without client app installed on the device

I would like to know is there any way to send notification from a server to an Android device without a client app installed on the device. Does android OS has such functionality. Based on the answer here Does Android support near real time push notification? Google Cloud Messaging do similar things, but it seems the client app need to be installed on user mobile.
Basically what I want do when an android device comes in range of an iBeacon
I need to send the notification messages to the user mobile.
Is there any way to achieve it. Any possible solution?
Edit:
The real scenario is like,
I have the beacon placed in somewhere, when the a device comes in range of the beacon, some how I have to detect the device(if the device Bluetooth is on) and get some id of the device send notification from cloud server. Where as the device(Android phone) don't know the beacon is there, or there is no app installed on the device to detect the beacon.
I am not sure whether it's possible to achieve the above goal in such a scenario.
Please let me know your valuable feedback.
Chrome 42 or higher for Android supports push notifications from websites, which allows you to send notifications without installing an app.
If you're specifically looking to start notifications from a beacon, Chrome 49 added support for beacons

Android Nearby.MESSAGES_API to just detect beacons

I was earlier using the AltBeacon Library for detecting beacons and it works perfectly without any problems.
Then i came across
https://developers.google.com/beacons/overview?hl=en
Which suggest
The Google Proximity Beacon API can be used to register any beacon that supports one of the following specifications: (They mentioned register may be i was mistaken to assume it may detect as well)
Eddystone
iBeacon
AltBeacon
So i was interested and started using the subscribe API after creating the Project in Google Console and using the googleApiClient along with Nearby.MESSAGES_API and strategy BLE_ONLY for detecting beacons. And was unsuccessful.
After that reading the API docs completely (should have done before investing time) it mentions
In order to work with Google APIs, beacons must first be provisioned with some initial settings (namespace ID, instance ID, frame format, and so on), and then registered using the Google Proximity Beacon API.
So does this mean i have to compulsorily configure the beacons individually before using just any random beacon with my app to detect and get message? It might seem obvious i just don't want to go with a custom 3rd party implementation like AltBeacon if GooglePlayService.Nearby_Message_API supports listening to any beacon.
In case its possible and if someone has already tried just listening to beacons enter and exit events without the need to configure do let me know i can share the code and take it forward. Or i should leave the Nearby API and go back to good old AltBeacon.
BR,
Jayshil

Categories

Resources