Google Login Auth Integration
Done in just 5 minutes!
If your app already has Google login, just send the email to LaunchPad server after successful login!
Simple Integration
Just one line of code
All Platforms
Flutter, Unity, Kotlin, etc.
Auto Status Update
No screenshot verification needed
One-line Summary
When a tester logs in with Google on your app, the status automatically changes to "Verified".
👇 Choose one below that matches your project: Flutter / Kotlin / Unity!
⚠️ Prerequisite
This method requires Google login to be already implemented in your app. If you don't have Google login, use SDK Auto Detection or Screenshot Verification.
📁 lib/launchpad_helper.dart
import 'dart:convert';
import 'package:http/http.dart' as http;
class LaunchpadHelper {
/// Call this after Google login success!
static Future<void> verifyTester(String appId, String googleEmail) async {
try {
await http.post(
Uri.parse('https://apptesters.cc/api/verify-tester'),
headers: {'Content-Type': 'application/json'},
body: jsonEncode({
'appId': appId,
'testerEmail': googleEmail,
}),
);
} catch (_) {}
}
}⚠️ Find where Google login is handled in your app and add just one line below!
// Add this after Google login code
LaunchpadHelper.verifyTester('YOUR_APP_ID', user.email);import 'launchpad_helper.dart';
// Google login code
final user = await GoogleSignIn().signIn();
if (user != null) {
// Add this line!
LaunchpadHelper.verifyTester('abc123', user.email);
}💡 You can find 'Your_App_ID' in the My Apps menu after registering your app!
Done! Build your app to finish
📁 LaunchpadHelper.kt
import okhttp3.*
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody
import org.json.JSONObject
object LaunchpadHelper {
private val client = OkHttpClient()
/** Call this after Google login success! */
fun verifyTester(appId: String, googleEmail: String) {
val json = JSONObject().apply {
put("appId", appId)
put("testerEmail", googleEmail)
}
val request = Request.Builder()
.url("https://apptesters.cc/api/verify-tester")
.post(json.toString().toRequestBody("application/json".toMediaType()))
.build()
client.newCall(request).enqueue(object : Callback {
override fun onFailure(call: Call, e: java.io.IOException) {}
override fun onResponse(call: Call, response: Response) { response.close() }
})
}
}⚠️ Find where Google login is handled in your app and add just one line below!
// Add after Google login success
LaunchpadHelper.verifyTester("YOUR_APP_ID", account.email)Done! Build your app to finish
📁 LaunchpadHelper.cs
using UnityEngine;
using UnityEngine.Networking;
using System.Collections;
public class LaunchpadHelper : MonoBehaviour {
private static LaunchpadHelper _instance;
public static void VerifyTester(string appId, string googleEmail) {
if (_instance == null) {
var go = new GameObject("LaunchpadHelper");
_instance = go.AddComponent<LaunchpadHelper>();
DontDestroyOnLoad(go);
}
_instance.StartCoroutine(_instance.SendVerification(appId, googleEmail));
}
private IEnumerator SendVerification(string appId, string email) {
var json = "{\"appId\":\"" + appId + "\",\"testerEmail\":\"" + email + "\"}";
using var request = new UnityWebRequest("https://apptesters.cc/api/verify-tester", "POST");
request.uploadHandler = new UploadHandlerRaw(System.Text.Encoding.UTF8.GetBytes(json));
request.downloadHandler = new DownloadHandlerBuffer();
request.SetRequestHeader("Content-Type", "application/json");
yield return request.SendWebRequest();
}
}⚠️ Find where Google login is handled in your app and add just one line below!
// After Google login success
LaunchpadHelper.VerifyTester("YOUR_APP_ID", userEmail);Done! Build your app to finish
Q: Where can I find the App ID?
After registering your app, you can find and copy the App ID in the My Apps menu.
Q: How is this different from SDK auto detection?
SDK auto detection uses Install Referrer API to verify "installed via LaunchPad link". Google login auth simply verifies the logged-in email.
Q: Which method is better?
SDK auto detection is more accurate! It verifies installation via LaunchPad link. Google login auth is simpler to implement, but since "login = verified", there's potential for abuse.
Below is how Google login auth works internally. Beginners can skip this.
How It Works
- 1
Tester logs in with Google on app
- 2
App sends email to LaunchPad server
POST appId + testerEmail
- 3
Server matches email and updates status
If testerEmail matches, exchange status changes to "Verified"
API Reference
Endpoint: POST https://apptesters.cc/api/verify-tester
Request Body:
{
"appId": "abc123",
"testerEmail": "[email protected]"
}Response:
{
"success": true,
"message": "Tester verified",
"exchangeUpdated": true
}