initialize method

  1. @override
Future<String?> initialize(
  1. String sdkKey,
  2. String sdkSecretKey, {
  3. String languageId = 'en',
  4. Map<String, dynamic> extraData = const {},
})
override

Implementation

@override
Future<String?> initialize(
  String sdkKey,
  String sdkSecretKey, {
  String languageId = 'en',
  Map<String, dynamic> extraData = const {},
}) async {
  if (sdkKey.trim().isEmpty || sdkSecretKey.trim().isEmpty) {
    if (languageId == 'en') {
      return Future.value('{"result": false, "errorMessage": "Please provide your SDK App credentials"}');
    } else {
      return Future.value('{"result": false, "errorMessage": "يرجى تمرير معرّف و كلمة سر تطبيقك"}');
    }
  }
  if (languageId != 'en' && languageId != 'ar') {
    if (languageId == 'en') {
      return Future.value(
        '{"result": false, "errorMessage": "Invalid language code, supported languages currently are "en" for English and "ar" for Arabic."}',
      );
    } else {
      return Future.value('{"result": false, "errorMessage": "اللغات المدعومة حالياً هي الإنجليزية و العربية فقط"}');
    }
  }
  _selectedLanguage = languageId;
  final initializeResponse = await methodChannel.invokeMethod<String>('initialize', {
    'sdkKey': sdkKey,
    'sdkSecretKey': sdkSecretKey,
    'languageId': languageId,
    'extraData': extraData,
  });
  return initializeResponse;
}