How to Start and Join a Popin Conference using the Android SDK
This guide explains how to start and join a Popin conference using the Popin Capture API and the Popin Android SDK. You’ll first capture a customer using an API call, then use the SDK to initialize and start a conference between the customer and your agent.
⚙️ Prerequisites
Make sure you’re using Popin Android SDK version 1.7.3 or higher.
🏗 Step 1: Add Popin SDK to Your Android Project
1️⃣ Add JitPack Repository
In your settings.gradle file, add the following inside dependencyResolutionManagement:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}2️⃣ Add Popin SDK Dependency
In your module-level build.gradle file:
dependencies {
implementation 'com.github.Springr-Creatives:PopinAndroidSDK:1.7.3'
}💡 Use version 1.7.3 or above for the latest fixes and features.
📜 Step 2: Configure AndroidManifest.xml
Add the following entries to your AndroidManifest.xml:
<meta-data
android:name="to.popin.androidsdk.POPIN_TOKEN"
android:value="<your_token_here>" />
<activity
android:name="to.popin.androidsdk.call.CallActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboardHidden"
android:excludeFromRecents="true"
android:exported="true"
android:launchMode="singleTask"
android:showWhenLocked="true"
android:supportsPictureInPicture="true" />🔁 Replace <your_token_here> with your Popin API key (available in your Popin Dashboard).
This same key will be used in both API and SDK calls.
🧩 Step 3: Capture Customer via API
Use the Capture API to register a customer and generate a unique slug for the conference.
🔹 Endpoint
POST https://api.popin.to/api/capture
🔹 Example Request
{
"name": "Anubhav",
"email": "anubhav.jaiswal@popin.to",
"mobile": "9792521396",
"country": "+91",
"campaign": {
"utm_source": "google",
"pincode": "221007",
"frequency": "daily"
}
}🔹 Example Response
{
"status": 1,
"customer_id": "MjA2MTI3",
"slug": "3e21-a564",
"url": "https://live.popin.to/3e21-a564",
"message": "User captured successfully"
}📌 Note down the slug (e.g., "3e21-a564") — you’ll need it to start the conference.
📱 Step 4: Initialize and Start the Popin Conference
You can now initialize Popin and start the conference in one step.
Example Code
Popin.init(MainActivity.this, "ashwin", "9876543217", new PopinInitListener() {
@Override
public void onInitComplete() {
Popin.getInstance().startConference(
12973, // Agent ID from Popin Dashboard
"f470-6656", // Slug from Capture API response
"557305ad2bd531ddf9e50d75daed5947d79eb81a", // API Key from Popin Dashboard
new PopinConferenceEventListener() {
@Override
public void onConferenceJoined() {
Log.e("CONF", "JOINED");
}
@Override
public void onConferenceFailed() {
Log.e("CONF", "FAILED");
}
}
);
}
});Parameter Reference
Agent ID → Your agent’s unique ID from the Popin Dashboard
Slug → The value returned from the Capture API (
"3e21-a564", for example)API Key → Your Popin Dashboard API key
🔔 Step 5: Handle Conference Events
Use the PopinConferenceEventListener to handle join and failure events.
@Override
public void onConferenceJoined() {
Log.e("CONF", "JOINED");
// Triggered when the agent successfully joins the conference
}
@Override
public void onConferenceFailed() {
Log.e("CONF", "FAILED");
// Triggered when the conference fails to connect or initialize
}✅ Summary
1
Add Popin SDK to your Android project
2
Configure your AndroidManifest.xml
3
Capture customer via API and get slug
4
Initialize Popin and start the conference
5
Handle conference events
Last updated