initialize method

Future<Zone> initialize(
  1. String apiToken, {
  2. String? baseUrl,
})

Implementation

Future<Zone> initialize(String apiToken, {String? baseUrl}) async {
  _apiToken = apiToken;
  if (baseUrl != null) {
    Api.setBaseUrl(baseUrl);
  } else {
    Api.resetBaseUrl();
  }

  // Start log capture so print() and FlutterError output is buffered.
  // The returned Zone must wrap the caller's app for print() interception.
  // Use it directly: `zone.run(() => runApp(MyApp()))`, or use the
  // convenience method [initializeAndRun] which does both in one call.
  final zone = logCapture.install();

  App appData = await _createAppData();
  Device deviceData = await _createDeviceData();
  AppInstall response = await Api.ping(
    PingRequest(apiToken: _apiToken!, app: appData, device: deviceData),
  ).catchError((Object error) {
    print('Ping to critic failed: $error');
    return Future<AppInstall>.error(false);
  });
  _appId = response.id;
  return zone;
}