Skip to main content

Flutter SDK - One-page setup

Create your app and get the key​

  1. Log in to testernest.com and create an app.
  2. Copy the publicKey from your app settings.
  3. Copy the baseUrl from SDK Setup for your environment.

1) Install​

Add the SDK to your pubspec.yaml:

dependencies:
testernest_flutter: ^0.1.1

Then run:

flutter pub get

2) Permissions​

No extra permissions required.

3) Initialize​

Initialize once during app startup, typically in main() before runApp():

Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();

await TesterNestFlutter.init(
publicKey: 'YOUR_PUBLIC_KEY',
baseUrl: 'https://testernest.com',
);

runApp(const MyApp());
}

4) Connect tester (6-digit code)​

Add the connect prompt widget on your main screen so testers can enter a 6-digit code:

class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
const AppContent(),
TesterNestConnectPrompt(),
],
),
);
}
}

5) Track screens + events (minimal)​

Use named routes so screen names are stable in analytics.

Navigator.pushNamed(context, '/checkout');

Navigator.push(
context,
MaterialPageRoute(
settings: const RouteSettings(name: '/checkout'),
builder: (_) => const CheckoutPage(),
),
);

Avoid leaving all screen names as '/'.

6) Verify​

  • In the app, the prompt displays and accepts a 6-digit code.
  • In logs, you should see bootstrap and claim events after entering a code.
  • The TesterNest dashboard should show an active session.

Troubleshooting​

  • No prompt appears: Ensure TesterNestConnectPrompt is mounted and visible on top of your UI.
  • Invalid key: Confirm the publicKey matches the app in the dashboard.
  • Network errors: Verify device internet access and the configured baseUrl value.
  • Nothing in logs: Make sure initialization runs before the prompt renders.
  • Screen name shows as / in dashboard: Use named routes or set RouteSettings(name: '/your-screen').