initAdNetwork static method

Future<void> initAdNetwork({
  1. Map<NetworkType, NetworkInterface>? adNetworks,
  2. List<NetworkType> initNetworks = const [],
})

Registers adNetworks for this session and initialises them.

initNetworks is the server's list of networks to start; when it is empty every registered network is initialised. Initialisation is not awaited, so a slow SDK never blocks app start.

Implementation

static Future<void> initAdNetwork({
  Map<NetworkType, NetworkInterface>? adNetworks,
  List<NetworkType> initNetworks = const [],
}) async {
  await DeviceService.instance.loadDeviceInfo();
  assert(adNetworks != null);

  final session = AdSession.instance;
  session.networks = adNetworks ?? {};

  final toInit = initNetworks.isEmpty
      ? session.networks.values
      : initNetworks.map((type) => session.networks[type]).nonNulls;
  for (final network in toInit) {
    unawaited(network.init());
  }
}