<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/08bcd78f-acea-4107-8e5c-cce45804142d/0f86d7c0-aa06-4792-b28e-d0de10d97fa4/Bridgefy_Official_Icon_2021.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/08bcd78f-acea-4107-8e5c-cce45804142d/0f86d7c0-aa06-4792-b28e-d0de10d97fa4/Bridgefy_Official_Icon_2021.png" width="40px" /> The Bridgefy Software Development Kit (SDK) is a state-of-the-art, plug-and-play package that will let people use your mobile app when they don’t have access to the Internet, by using Bluetooth mesh networks.

Integrate the Bridgefy SDK into your Android and iOS app to reach the 3.5 billion people that don’t always have access to an Internet connection, and watch engagement and revenue grow!

</aside>

GitHub

https://github.com/bridgefy/sdk-android

Overview

Bridgefy creates mesh networks in which devices connect directly to each other in a decentralized manner. This allows users to communicate with nearby devices within a certain range, forming a network without the need for a centralized server or Internet access.

The Bridgefy SDK provides a set of tools and APIs that developers can use to incorporate offline messaging, data transfer, and real-time communication features into their applications. It allows users to send data directly to other nearby devices using Bluetooth Low Energy.

Setup

Bridgefy SDK is available in our public repository. To install it you must follow the instructions:

val bridgefy_release_maven_url = "<http://34.82.5.94:8081/artifactory/libs-release-local>"

allprojects {
    repositories {
        maven {
            url = java.net.URI(bridgefy_release_maven_url)
            isAllowInsecureProtocol = true
        }
    }
}

In the app module build.gradle :

/**
 * Declare dependencies
 * @see <http://www.gradle.org/docs/current/userguide/userguide_single.html#sec:how_to_declare_your_dependencies>
 */
dependencies {
    implementation (group = "me.bridgefy", name = "android-sdk", version = "1.1.1", ext = "aar") {
        isTransitive = true
    }
}

Compatibility

Supported on Android 6 (minSdk = 23) and above with compileSdk >= 31

Android Permissions

Android requires additional permissions declared in the manifest for an app to run a BLE scan since API 23 (6.0 / Marshmallow) and perform a Bluetooth Low Energy connection since API 31 (Android 12). These permissions currently assume scanning is only used when the App is in the foreground, and that the App wants to derive the user's location from Bluetooth Low Energy signal (on API >= 23). Below are a number of additions you can make to your AndroidManifext.xml for your specific use case.

Location permission for Bluetooth Low Energy Scanning

Bridgefy uses the uses-permission-sdk-23 tag to require location only on APIs >= 23, you can request the required permissions by adding the following to your AndroidManifest.xml:

<uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION"android:maxSdkVersion="30"tools:node="replace" />

<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION"android:maxSdkVersion="32"tools:node="replace" />

Scan in the background and support APIs 29 & 32