buildGlobalInstance method

Future<void> buildGlobalInstance()

Implementation

Future<void> buildGlobalInstance() async {
  if (_clientId == null) {
    throw OsmosException(
      errorCode: OsmosErrorCodes.missingParameter,
      details: 'Client ID is required',
    );
  }

  final config = OsmosConfig(
    clientId: _clientId!,
    debug: _debug,
    shareAdvertisingId: _shareAdvertisingId,
    displayAdsHost: _displayAdsHost ?? Constants.defaultDisplayAdsHost,
    productAdsHost: _productAdsHost ?? Constants.defaultProductAdsHost,
    eventTrackingHost: _eventTrackingHost ?? Constants.defaultEventTrackingHost,

    enableBatchProcessing: _enableBatchProcessing,
    maxEventsPerBatch: _maxEventsPerBatch ?? Constants.maxEventsPerBatch,
    maxTimeInterval: _maxTimeInterval ?? Constants.maxTimeInterval,
    maxRetryCount: _maxRetryCount ?? Constants.maxRetryCount
  );

  await MethodHandler.invokeNativeMethod('buildGlobalInstance',
      arguments: config.toMap());

  OsmosSDK._sdkInstance ??= OsmosSDK._(config);
}