subscribe static method

Future<void> subscribe({
  1. required String appToken,
  2. required GlobalKey<NavigatorState> navigatorKey,
  3. String friendlyIdentifier = '',
  4. String? attributionId,
  5. String? phoneNumber,
  6. String? email,
  7. bool blockDeepLink = false,
  8. Function? firebaseListenCallback,
  9. Map<String, dynamic>? customFields,
  10. InngageWebViewProperties? inngageWebViewProperties,
  11. bool requestAdvertiserId = false,
  12. bool requestGeoLocator = false,
  13. bool initFirebase = true,
})

Implementation

static Future<void> subscribe({
  required String appToken,
  required GlobalKey<NavigatorState> navigatorKey,
  String friendlyIdentifier = '',
  String? attributionId,
  String? phoneNumber,
  String? email,
  bool blockDeepLink = false,
  Function? firebaseListenCallback,
  Map<String, dynamic>? customFields,
  InngageWebViewProperties? inngageWebViewProperties,
  bool requestAdvertiserId = false,
  bool requestGeoLocator = false,
  bool initFirebase = true,
}) async {
  try {
    if (initFirebase) {
      defaultApp = await Firebase.initializeApp();
    }

    if (requestGeoLocator) {
      final result = await GeoLocal.handlePermission();
      InngageProperties.latitude = result.latitude.toString();
      InngageProperties.longitude = result.longitude.toString();
    }
  } catch (error) {
    if (InngageProperties.getDebugMode()) {
      debugPrint('Erro ao inicializar Firebase ou Geolocalização: $error');
    }
  }

  InngageUtils.requestAdvertiserId = requestAdvertiserId;
  await _configureProperties(
    appToken: appToken,
    navigatorKey: navigatorKey,
    friendlyIdentifier: friendlyIdentifier,
    attributionId: attributionId,
    phoneNumber: phoneNumber,
    email: email,
    blockDeepLink: blockDeepLink,
    customFields: customFields,
    inngageWebViewProperties: inngageWebViewProperties,
    firebaseListenCallback: firebaseListenCallback,
  );
}