Back to Guides

Google Login Auth Integration

Done in just 5 minutes!

Overview

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.

💙 Flutter Project
1Add this file to your project

📁 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 (_) {}
  }
}
2Add one line to Google login code

⚠️ 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

🤖 Android (Kotlin) Project
1Add this class file

📁 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() }
        })
    }
}
2Add one line to Google login code

⚠️ 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

🎮 Unity Project
1Add this file to your project

📁 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();
    }
}
2Add one line to Google login code

⚠️ 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

FAQ

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.

🔧 Technical Details (For Developers)

Below is how Google login auth works internally. Beginners can skip this.

How It Works

  1. 1

    Tester logs in with Google on app

  2. 2

    App sends email to LaunchPad server

    POST appId + testerEmail

  3. 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
}