Get Started
Quick Start
MeetTalk Android SDK provides all of the features available in the PowerTalk SDK, with the addition of voice and video call feature. This page presents a brief overview of the SDK’s structure and abilities, then lets you go through the preliminary steps of implementing the SDK in your own app.
Configure and Initialize TapTalk.io Android SDK
The first step to configure MeetTalk SDK will be the same as configuring PowerTalk SDK, if you have completed this step, you can skip to Step 2.
Step 1: Create a new application from your dashboard
1. Login to TapTalk.io Dashboard, then choose Development -> Apps

2. Click New App Button, input App Name and choose Platform, and then click Create New App Button.

3. A pop-up dialog will be shown with provided App Key ID & App Key Secret

Note: Please remember to save your App Key ID & your App Key Secret because it will only be shown once and will be used in TapTalk.io initialization
Step 2: Install MeetTalk SDK
To start, open your Android project and add the following repositories to your top-level build.gradle file.Project build.gradle
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
maven { url "https://github.com/jitsi/jitsi-maven-repository/raw/master/releases" }
}
}
Please also note that the minimum SDK version to install MeetTalk SDK is 23.
Then add the following dependency to your app-level build.gradle:
android {
...
defaultConfig {
...
minSdkVersion 23
}
}
dependencies {
implementation 'com.github.taptalk-io:meettalk-android:1.2.8'
}
Note: In the app build.gradle file, make sure that your project is using supported Java 8 language features like below
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Step 3: Initialize MeetTalk in your Application class
In order to use MeetTalk, you must first initialize an instance by passing the APP_ID
, APP_SECRET
, APP_ICON
, APP_BASE_URL
, and IMPLEMENTATION_TYPE
assigned to your application to the init
method as a parameter. Generally, initialization is implemented in the Application class in your project.
Note: To get BASE_URL you can follow our documentation on how to get Base URL on TapTalk.io
MeetTalk.init(
CONTEXT,
APP_KEY_ID,
APP_KEY_SECRET,
APP_ICON,
APP_NAME,
APP_BASE_URL,
IMPLEMENTATION_TYPE,
meetTalkListener);
Note: MeetTalk.init()
will also initialize a TapTalk instance, so If you have previously used PowerTalk in your application and initializing TapTalk instance with TapTalk.init()
, replace TapTalk.init()
with MeetTalk.init()
and put MeetTalkListener in the parameter instead of TapListener
Step 4: Authenticate to TapTalk.io
In order to use the abilities of the Android SDK in your client app, a TapTalk instance must be initiated in each client app through user authentication with TapTalk.io server. An authenticated user account allows the instance to communicate and interact with the server. To authenticate your user with the server, follow the instructions in Authentication page.
Setup FileProvider in your application
To enable file transfer through chat messages, you need to define FileProvider in your application's AndroidManifest.xml file, under the <application>
tag.
<application
android:name=".YourApplication"
...>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
If your project already has defined paths, make sure the following paths exist in your paths xml file:
<paths>
<files-path name="YourFilesPath" path="." />
<external-path name="YourExternalPath" path="." />
<cache-path name="YourCachePath" path="."/>
<external-files-path name="YourExternalFilesPath" path="."/>
<external-cache-path name="YourExternalCachePath" path="."/>
</paths>
Initialize Google Places API Key (Optional)
To enable location search result preview while sending location message, a Google Places API Key is required. To obtain the API key for your application, you can check the documentation provided by Google. To initialize, insert your obtained key using the initializeGooglePlacesApiKey()
method.
TapTalk.initializeGooglePlacesApiKey(GOOGLE_PLACES_API_KEY);
Your key also needs to be defined in your application's AndroidManifest.xml file, under the <application>
tag.
<application
android:name=".YourApplication"
...>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="GOOGLE_PLACES_API_KEY" />
</application>
Enable Cleartext Traffic
To enable some features, such as sending link preview in messages, please enable usesCleartextTraffic
in AndroidManifest.xml file.
<application
android:name=".YourApplication"
...
android:usesCleartextTraffic="true">
...
</application>
Initiate New Call
Initiating a call in MeetTalk requires data from TAPRoomModel. which will then be used to construct a conference data for the call. To initiate a call, use the initiateNewConferenceCall
method from MeetTalk class.
You may also customize the outgoing call using the provided parameters.
// Initiate a voice call (participants will enter call with video muted)
MeetTalk.initiateNewConferenceCall(ACTIVITY, ROOM);
// Initiate a call with custom audio/video state
MeetTalk.initiateNewConferenceCall(ACTIVITY, ROOM, START_WITH_AUDIO_MUTED, START_WITH_VIDEO_MUTED);
// Initiate a call with custom audio/video state and recipient display name
MeetTalk.initiateNewConferenceCall(ACTIVITY, ROOM, START_WITH_AUDIO_MUTED, START_WITH_VIDEO_MUTED, RECIPIENT_DISPLAY_NAME);
When this method is called in personal chat room, the active user will start and enter the call, and send a notification to the recipient, which will then receive an incoming call. The recipient will join the voice call once the incoming call is answered.
Participants will still be able to mute/unmute their microphone/camera during the call regardless of the START_WITH_AUDIO_MUTED and START_WITH_VIDEO_MUTED parameter.
Note: Initiating a call is currently only available in personal chat rooms.
Request Enable Notifications to User
In order for the recipient's device to receive incoming call from another device, the active user is required to enable notifications from the app. MeetTalk provides a helper method to direct the user to the app's Notification Settings page to request the user to enable the app's notifications to receive calls.
// Opens the app's general notification settings page
MeetTalk.openAppNotificationSettings(CONTEXT);
// Opens MeetTalk Incoming Call notification channel settings page
MeetTalk.openAppIncomingCallNotificationChannelSettings(CONTEXT);
Last updated
Was this helpful?