Marketplace

Integrar juegos del marketplace con WebView.

Las campanas con juegos del marketplace se ejecutan en un WebView con un bridge de comunicacion via postMessage.

Uso

if (campaign.isMarketplaceGame) {
  Navigator.push(context, MaterialPageRoute(
    builder: (_) => SouthGamesGameView(
      campaign: campaign,
      externalUserId: 'user_123',
      onResult: (result) {
        print(result.won ? 'Ganaste!' : 'No ganaste');
        Navigator.pop(context);
      },
      onClose: () => Navigator.pop(context),
      onError: (error) => print('Error: $error'),
    ),
  ));
}

Parametros de SouthGamesGameView

ParametroTipoDescripcion

Como funciona

  1. El SDK carga campaign.embedUrl en un WebView sandboxeado
  2. El juego HTML5 se comunica via postMessage con el SDK
  3. Al terminar, el SDK envia el resultado al backend y llama onResult

Detectar juegos de marketplace

final campaigns = await SouthGamesSDK.getCampaigns();

for (final c in campaigns) {
  if (c.isMarketplaceGame) {
    // Usar SouthGamesGameView
  } else {
    // Renderizar UI nativa (spin wheel, scratch card, etc.)
  }
}