initialize method
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;
}