Examples of how to bind Estimote SDKs to Xamarin
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Estimote.Android.Proximity
Estimote.iOS.Proximity
ExampleApps
.gitignore
.gitmodules
Estimote-Xamarin-Bindings.sln
LICENSE.txt
README.md

README.md

Estimote Xamarin Bindings

Xamarin bindings for Estimote SDKs.

Visit https://developer.estimote.com to learn more about the variety of Estimote SDKs, and for the integration tutorials. (The documentation is mostly in Swift and Java, but the Xamarin/C# APIs are almost 1:1 with the native APIs, so the docs should still be quite useful.)

Use it in your own app

You can get all the Estimote.* packages on NuGet.

We also recommend cloning this repo and checking out the ExampleApps—for example, to see how to request the necessary Location permission on Android.

Here's a list of a few extra things that you need to configure in your projects:

iOS

  • In your Info.plist file, you need to add

    • NSLocationWhenInUseUsageDescription and NSLocationAlwaysAndWhenInUseUsageDescription

    • UIBackgroundModes => bluetooth-central

Android

  • In your AndroidManifest.xml, you need to add

    • this <uses-permission> definition inside the <manifest> tag:

      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    • this <service> definition inside the <application> tag:

      <service
          android:name="com.estimote.scanning_plugin.packet_provider.service.PacketProviderWrapperService"
          android:enabled="true"
          android:exported="false" />
    • here's a full example from the bundled Example.Android.Proximity app:

      <?xml version="1.0" encoding="utf-8"?>
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                android:versionCode="1"
                android:versionName="1.0"
                package="com.estimote.example.Proximity">
      
          <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />
          <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
          <application android:allowBackup="true" android:label="@string/app_name">
              <service
                  android:name="com.estimote.scanning_plugin.packet_provider.service.PacketProviderWrapperService"
                  android:enabled="true"
                  android:exported="false" />
          </application>
      
      </manifest>

Contact & feedback

Let us know your thoughts and feedback on forums.estimote.com.