Getting started with the SDK#
The following section describes how to integrate the mobile SDKs and the main methods that are required to operate with Harbor Lockers.
Using Expo#
Integrate SDK with React-Native#
npm i @harborlockers/react-native-sdk'
or
yarn add @harborlockers/react-native-sdk
And then import the SDK in whichever file you want to use it in.
import HarborLockersSDK from '@harborlockers/react-native-sdk';
Integrate SDK with iOS#
The iOS SDK is available through Cocoapods. Add the following line to your Podfile:
pod "HarborLockersSDK"
You can also specify the version of the SDK, for example:
pod "HarborLockersSDK", '1.0.10'
Then run pod install
to install the pods.
To start using the HarborSDK, you must import it into your files
@import HarborLockersSDK
#import <HarborLockersSDK/HarborLockersSDK.h>
#import <HarborLockersSDK/HarborLockersSDK-Swift.h>
The iOS SDK requires Bluetooth access, in your info.plist
add the following entries:
NSBluetoothAlwaysUsageDescription
-> A description of why your app needs access to Bluetooth.NSBluetoothPeripheralUsageDescription
-> Same description as before. This is needed only if your app targets iOS 12 or earlier.
Integrate SDK with Android#
The Android SDK is distributed through Jitpack. It can be integrated through gradle
, maven
, sbt
, and leiningen
as following:
How to Integrate Harbor Android SDK in Different Build Systems#
Gradle#
In your root build.gradle, add the JitPack repository at the end of repositories:
allprojects {
repositories {
// Other repositories...
maven { url 'https://jitpack.io' }
}
}
Then, include the Harbor Android SDK as a dependency:
dependencies {
implementation 'com.github.Harbor-Lockers:harbor-android-sdk:<version>'
}
Maven#
To integrate with Maven, add the JitPack repository to your build file:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Next, include the Harbor Android SDK as a dependency:
<dependency>
<groupId>com.github.Harbor-Lockers</groupId>
<artifactId>harbor-android-sdk</artifactId>
<version>version_number</version>
</dependency>
SBT#
For SBT integration, add the JitPack resolver to your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Then, add the Harbor Android SDK as a library dependency:
libraryDependencies += "com.github.Harbor-Lockers" % "harbor-android-sdk" % "Tag"
Leiningen#
To integrate with Leiningen, update your project.clj by adding the JitPack repository at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Then, include the Harbor Android SDK as a dependency:
:dependencies [[com.github.Harbor-Lockers/harbor-android-sdk "Tag"]]
Add the following entries to your AndroidManifest.xml
:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>
The android:required
value in the last line depends on wether you want your app to be listed to users that doesn’t have BLE support on their devices. This might be the case if all your app does is control lockers with Harbor SDK and can’t do anything useful without BLE support.
Once you have everything set up, We can get an access token