Integrating Chatbot in Android App

Requirements

  • Android Studio
  • Minimum Android SDK Version: 15
  • Compile SDK Version: 29
  • Targeted SDK Version: 29

Integrating SDK

Download AmplifyReach Android SDK from AmplifyReach Dashboard -> Channels -> Android SDK -> Download Tab.

Please follow the instruction to add build Dependencies: https://developer.android.com/studio/build/dependencies.html#library_dependency_configurations

Framework

  • archatbotsdk-release.aar: A Library/Module to integrate AmplifyReach Chatbot in Android app.

The following data is required for completing AmplifyReach Chatbot integration

  • clientId: client identification number (Long)
  • botId: bot identification number (String)
  • authToken: authentication token (String)
  • host: host server name provided by AmplifyReach example: “apps.amplifyreach.com”
  • icon: you can pass header image.

Permissions

The following permission are required for SDK integration

  • INTERNET
  • ACCESS_NETWORK_STATE

AndroidManifest.xml

<uses-permission android:name=”android.permission.INTERNET” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=”android.permission.RECORD_AUDIO” />
<uses-permission android:name=”android.permission.MODIFY_AUDIO_SETTINGS” />
<uses-permission android:name=”android.permission.READ_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.MANAGE_DOCUMENTS” />

Activity

To launch the AmplifyReach Chatbot through Android Activity, please following the below steps.

  • Declare ARActivity in AndroidManifest.xml. This activity is present in the ARChatSDK.

AndroidManifest.xml

<activity android:name=”ar.amplifyreach.archatbotsdk.ARActivity”
android:configChanges=”orientation|screenSize”></activity>
Load chat widget in new activity using following code snippet

...
button.setOnClickListener(new View.OnClickListener() {
	public void onClick(View v) {
		//This is code for Activity Integration
		Intent intent = new Intent(MainActivity.this, ARActivity.class);
		Bundle bundle = new Bundle();

		//set host server
		bundle.putString("host","chat.amplifyreach.com");

		//Set client ID
		bundle.putLong("clientId",CLINET_ID);

		//Set Bot ID
		bundle.putString("botId",BOT_ID);

		//set ActionBar icon
		bundle.putInt("icon",R.drawable.header_icon);

		//set Authentication Token
		bundle.putString("authToken",AUTH_TOKEN);

		intent.putExtras(bundle);
		MainActivity.this.startActivity(intent);
	}
});

To get permission add following code snippet in your main activity.

private void requestPermission() {
	ActivityCompat.requestPermissions(this, new String[]    {RECORD_AUDIO,
		MODIFY_AUDIO_SETTINGS,MANAGE_DOCUMENTS, READ_EXTERNAL_STORAGE},
		PERMISSION_REQUEST_CODE);
}