Inicializacion

Configura el SDK antes de usarlo.

Llama a SouthGamesSDK.init() antes de cualquier otro metodo. Generalmente en main().

Basico

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  SouthGamesSDK.init(
    apiKey: 'sg_live_xxxxxxxxxxxxxxxx',
    orgId: 'mi-empresa',
  );

  runApp(const MyApp());
}

Con token automatico (recomendado)

Si usas Firebase Cloud Messaging, puedes enviar y refrescar el device token automaticamente:

import 'package:firebase_messaging/firebase_messaging.dart';

SouthGamesSDK.init(
  apiKey: 'sg_live_xxxxxxxxxxxxxxxx',
  orgId: 'mi-empresa',
  tokenProvider: () => FirebaseMessaging.instance.getToken(),
  onTokenRefresh: FirebaseMessaging.instance.onTokenRefresh,
);

Parametros de init()

ParametroTipoDescripcion
apiKey*StringTu API key (sg_live_ o sg_test_)
orgId*StringSlug o ID de tu organizacion
tokenProviderFuture<String?> Function()?Callback que retorna el device token
onTokenRefreshStream<String>?Stream de tokens nuevos

Limpieza

Libera los recursos cuando ya no necesites el SDK:

SouthGamesSDK.dispose();

Si usas el SDK sin llamar a init(), se lanza SouthGamesNotInitializedException.