
Showcases SDK integration, release tracking and issue intake for a reciprocal community testing service; includes AI-assisted quickstart, deep-link session flow, schema registration, and event tracking.
Public Android showcase repository for Testogethr SDK integration, release tracking, and issue intake.
Testogethr helps mobile teams run collaborative testing before release and ship with confidence.
It is designed for teams that need reciprocal testing support for Google Play Closed Testing and pre-production validation before moving to production.
With the SDK, you can:
Use the official docs AI-assisted quick start:
You can copy the AI prompt from docs and generate project-specific integration steps in minutes.
This repository is for:
This repository does not include Testogethr SDK source code. SDK source remains private.
You must generate the SDK access token from the Testogethr mobile app:
Critical: SDK initialization will fail without a valid token from Profile -> API Key Manager.
dependencies {
implementation("com.testogethr:sdk:<version>")
}Replace <version> with the latest stable release from the release badge above.
Use the Swift package repository URL:
https://github.com/Moozart/testogethr-sdk-ios-spm
Then select the release version you want. Use the Latest release badge in that repository to choose the current stable tag.
Initialize early (typically in Application.onCreate).
import android.app.Application
import android.util.Log
import com.testogethr.sdk.TestogethrConfig
import com.testogethr.sdk.TestogethrSdk
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
TestogethrSdk.initialize(
sdkAccessToken = "YOUR_SDK_ACCESS_TOKEN",
config = TestogethrConfig(applicationContext),
debugLogger = { level, tag, message, throwable ->
Log.d("Testogethr", "[$level] $tag: $message", throwable)
}
)
}
}Add an intent filter:
<activity android:name=".MainActivity" ...>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="${applicationId}" android:host="testogethr" />
</intent-filter>
</activity>Extract sessionToken and start session:
private fun handleIntent(intent: Intent?) {
val sessionToken = intent?.data?.getQueryParameter("sessionToken")
if (sessionToken != null) {
TestogethrSdk.get().startSession(sessionToken)
}
}import com.testogethr.sdk.TestogethrSdk
import com.testogethr.shared.models.api.sdk.DeclaredEvent
val bossEvent = DeclaredEvent(
name = "boss_defeated",
description = "Fired when the final alien boss is beaten"
)
TestogethrSdk.get().registerSchema(
isDiscoveryMode = true,
events = listOf(bossEvent)
)TestogethrSdk.get().trackEvent(event = bossEvent)You can also track by name:
TestogethrSdk.get().trackEvent(eventName = "boss_defeated")For full iOS integration:
vMAJOR.MINOR.PATCH
.github/SUPPORT.md
Public Android showcase repository for Testogethr SDK integration, release tracking, and issue intake.
Testogethr helps mobile teams run collaborative testing before release and ship with confidence.
It is designed for teams that need reciprocal testing support for Google Play Closed Testing and pre-production validation before moving to production.
With the SDK, you can:
Use the official docs AI-assisted quick start:
You can copy the AI prompt from docs and generate project-specific integration steps in minutes.
This repository is for:
This repository does not include Testogethr SDK source code. SDK source remains private.
You must generate the SDK access token from the Testogethr mobile app:
Critical: SDK initialization will fail without a valid token from Profile -> API Key Manager.
dependencies {
implementation("com.testogethr:sdk:<version>")
}Replace <version> with the latest stable release from the release badge above.
Use the Swift package repository URL:
https://github.com/Moozart/testogethr-sdk-ios-spm
Then select the release version you want. Use the Latest release badge in that repository to choose the current stable tag.
Initialize early (typically in Application.onCreate).
import android.app.Application
import android.util.Log
import com.testogethr.sdk.TestogethrConfig
import com.testogethr.sdk.TestogethrSdk
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
TestogethrSdk.initialize(
sdkAccessToken = "YOUR_SDK_ACCESS_TOKEN",
config = TestogethrConfig(applicationContext),
debugLogger = { level, tag, message, throwable ->
Log.d("Testogethr", "[$level] $tag: $message", throwable)
}
)
}
}Add an intent filter:
<activity android:name=".MainActivity" ...>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="${applicationId}" android:host="testogethr" />
</intent-filter>
</activity>Extract sessionToken and start session:
private fun handleIntent(intent: Intent?) {
val sessionToken = intent?.data?.getQueryParameter("sessionToken")
if (sessionToken != null) {
TestogethrSdk.get().startSession(sessionToken)
}
}import com.testogethr.sdk.TestogethrSdk
import com.testogethr.shared.models.api.sdk.DeclaredEvent
val bossEvent = DeclaredEvent(
name = "boss_defeated",
description = "Fired when the final alien boss is beaten"
)
TestogethrSdk.get().registerSchema(
isDiscoveryMode = true,
events = listOf(bossEvent)
)TestogethrSdk.get().trackEvent(event = bossEvent)You can also track by name:
TestogethrSdk.get().trackEvent(eventName = "boss_defeated")For full iOS integration:
vMAJOR.MINOR.PATCH
.github/SUPPORT.md