Add and initialize the Android SDK
Add the OpenWeb SDK to your Android app
To add a Conversation to your app, you must import the OpenWeb Android SDK and then configure your project.
Implementation
- From within Android Studio, open your app.
- In the project build.gradle file, add the JitPack repository:
https://jitpack.io
.
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
- In the app build.gradle file, add the
com.github.SpotIM.spotim-android-sdk:spotim-sdk:1.17.0
andandroidx.multidex:multidex:2.0.1
dependencies.
Be sure to use the correct code sample below. For Android 12 and above, a dependency constraint is required.
dependencies {
...
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.github.SpotIM.spotim-android-sdk:spotim-sdk:1.17.0'
constraints {
implementation('androidx.work:work-runtime:2.7.1') {
because '''androidx.work:work-runtime:2.1.0 pulled from
play-services-ads has a bug using PendingIntent without
FLAG_IMMUTABLE or FLAG_MUTABLE and will fail in Apps
targeting S+.
'''
}
}
dependencies {
...
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'com.github.SpotIM.spotim-android-sdk:spotim-sdk:1.17.0'
}
- Also in the app build.gradle file, set
minSdkVersion
to19
or greater. If you setminSdkVersion
to19
-20
, you must also setmultiDexEnabled true
.
android {
defaultConfig {
...
minSdkVersion 19
multiDexEnabled true
}
- In the AndroidManifest.xml file, add the permissions to use the Internet and to enable users to add images to comments from a camera or photo library.
<manifest ... >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
...
</manifest>
- In
onCreate()
of the application class, initialize the OpenWeb SDK with yourSpot_ID
. You can also initialize the OpenWeb SDK with a callback. The callback indicates if the initialization has been successful.
SpotIm.init(
this,
"SPOT_ID"
)
SpotIm.init(
this,
"SPOT_ID",
object: SpotVoidCallback {
override fun onSuccess(fragment: Fragment) {
// All good...
}
override fun onFailure(exception: SpotException) {
when(exception) {
is SPServerErrorException -> { } // do something
is SPNoInternetConnectionException -> { } // do something
is SPSdkDisabeledException -> { } // do something
else -> { } // do something
}
}
}
)
Updated 22 days ago