initialize static method

Future<bool> initialize(
  1. StepLoggerConfig config
)

initialize Initializes the background service.

This must be called before any other methods can be used.

The autoStart parameter specifies whether the service should be started automatically when the app is launched. If not specified, this defaults to false.

The notificationChannelId, initialNotificationTitle, and initialNotificationContent parameters customize the notification that is displayed while the service is running. If not specified, these default to "step_tracker_channel", "Step Tracker", and "Tracking your steps", respectively.

The foregroundServiceNotificationId parameter specifies the ID of the notification that is displayed while the service is running. If not specified, this defaults to 1.

Returns true if the service is initialized successfully, false otherwise.

Implementation

static Future<bool> initialize(StepLoggerConfig config) async {
  try {
    await _service.configure(
      androidConfiguration: AndroidConfiguration(
        onStart: onStart,
        autoStart: false,
        isForegroundMode: true,
        notificationChannelId: 'step_tracker_channel',
        initialNotificationTitle:
            config.trackingNotificationTitle ?? 'Step Tracker',
        initialNotificationContent:
            config.trackingNotificationContent ?? 'Tracking your steps',
        foregroundServiceNotificationId: 1,
      ),
      iosConfiguration: IosConfiguration(),
    );

    final prefs = await SharedPreferences.getInstance();
    await prefs.setString(
        'bg_service_config',
        jsonEncode({
          'title': config.trackingNotificationTitle,
          'content': config.trackingNotificationContent,
        }));
    return true;
  } catch (e) {
    return false;
  }
}