chrisriesgo/Android-AltBeacon-Library

2.10.0

chrisriesgo opened this issue · 10 comments

Upgrade to Library Version 2.10.0

Project
Milestone

Tasks

  • Update the binding library to consume the 2.10.0 native library - #28
  • Port unit tests from the root project's repo to C# - #26
  • C#-ify some APIs - #31
  • Generate 2.10.0 stable NuGet - #29
  • Port the reference app samples from the root project's repo to C# - #27
  • Generate Xamarin Component - #30

I've started updating the library! It's not done yet, but I just published a first-look alpha release of 2.10.0.

Download the attached .DLL, try it out, and let me know if you have any issues.

Hi Chris,

Thanks a lot for updating. This indeed fix the issue Under Android 7!
The alpha 2.10 lib is highly compatible with existing code, just a few basic changes to make client code compile.
Considering our first tests everything runs correctly with our Lib usage.

Thanks again for your implication.

Fred.

Thanks for that compatibility report, @FredyFLU! Very glad to hear that the 2.10 lib seems to be working :-)

I have some more testing to do, but I hope to publish a beta release on NuGet in the next week. 🤞

Yes, works well! I will do more tests ...
Thanks @chrisriesgo !!

I just published that same first prerelease on NuGet. Check it out!

The pre-release2 is giving me a bit of grief with an Method 'AltBeaconOrg.BoundBeacon.BeaconManager.AddMonitorNotifier' not found error.

I'm aware the notifiers have changed to an array, so I've changed my addRangerNotifier and AddMonitorNotifier accordingly but seems the methods don't exist when the code is hit.

@Minneth - Thanks for the heads up. If I have a moment, I'll see if I can check into this.

If you have a little sample showing how it breaks, it might help me get to the bottom of the problem faster. Either way -- thanks!

@Minneth - After testing, I didn't have any trouble using the AddMonitorNotifier api. Here's an example of how I used it:

I added the IBeaconConsumer and IMonitorNotifier interfaces to my MonitoringActivity class. Then implemented the interfaces as follows:

public void OnBeaconServiceConnect()
{
	beaconManager.AddMonitorNotifier(this);
	beaconManager.StartMonitoringBeaconsInRegion(new Region("myMonitoringUniqueId", null, null, null));
}

public void DidDetermineStateForRegion(int state, Region region)
{
	Console.WriteLine($"{TAG}: I have just switched from seeing/not seeing beacons: {state}");
}

public void DidEnterRegion(Region region)
{
	Console.WriteLine($"{TAG}: I just saw an beacon for the first time!");
}

public void DidExitRegion(Region region)
{
	Console.WriteLine($"{TAG}: I no longer see an beacon");
}

Worked without any issues. I adapted the Monitoring Sample from the AltBeacon docs to work using C# idioms.

Hi Chris,

We've been enjoying the binding you've created for the AltBeacon library for about half a year now, but are running into some issues that we'd like to investigate against the most recent version of AltBeacon. When may we expect a stable, production-ready version of version 2.10 of the library (if not the current 2.12). I know it's kind of like looking a gift horse in the mouth, but if your NuGet is no longer being actively maintained, we may need to look into alternative strategies for our dependency on the AltBeacon library.

Thanks for all your work on the excellent binding so far, and thanks in advance for your response,

All the best,
Alexander.

Hello. Sorry, my english is bad. I'm having problems with the AltBeacon library. The point is that I want to start my service in a separate process from the application.
In order to use AltBeacon, I need to take a minimal version of AltBeacon 2.11. I tried myself to wrap the Altbeacon in the shell of Xamarin, but unfortunately I have a problem ranging the beacons. I start my service - in the class BluethoothScanner, the client connects - BluetoothLeScanner onClientRegistered () - status = 0 clientIf = 5 mClientIf = 0. After each cycle of the by-pass (BaconManager.Bind and BaconManager.Unbind) the number of clients increases by 1, then reaches 32 and the scan stops working, onClientRegistered () - status = 133. After that, ranging does not work. Tags are not find. As far as I understand, there is no unBinding of the client. But I do not understand how to fix this. Maybe you're in the know? Thank you.