# @ovok/native/next/background-sync

Canonical page: https://docs.ovok.com/native-sdk/reference/next-background-sync

Background sync helpers for `@ovok/native/next`.

Import from `@ovok/native/next/background-sync`.

## Functions [#functions]

### cancelOfflineMeasurementBackgroundSync() [#cancelofflinemeasurementbackgroundsync]

```ts
function cancelOfflineMeasurementBackgroundSync(): Promise<void>;
```

Cancels recurring offline measurement sync.

#### Returns [#returns]

`Promise`\<`void`\>

***

### registerOfflineMeasurementBackgroundTask() [#registerofflinemeasurementbackgroundtask]

```ts
function registerOfflineMeasurementBackgroundTask(restoreClient): void;
```

Defines the task at app entry-point load so it exists after process restart.
The callback must restore the app-owned client and its secure session.

#### Parameters [#parameters]

| Parameter | Type |
| ------ | ------ |
| `restoreClient` | () => `Promise`\<[`OfflineMeasurementBackgroundSyncClient`](#offlinemeasurementbackgroundsyncclient)\> |

#### Returns [#returns-1]

`void`

***

### runOfflineMeasurementBackgroundSync() [#runofflinemeasurementbackgroundsync]

```ts
function runOfflineMeasurementBackgroundSync(client): Promise<OfflineMeasurementFlushResult>;
```

Flushes the Core offline measurement queue for a restored client.

#### Parameters [#parameters-1]

| Parameter | Type |
| ------ | ------ |
| `client` | [`OfflineMeasurementBackgroundSyncClient`](#offlinemeasurementbackgroundsyncclient) |

#### Returns [#returns-2]

`Promise`\<`OfflineMeasurementFlushResult`\>

***

### scheduleOfflineMeasurementBackgroundSync() [#scheduleofflinemeasurementbackgroundsync]

```ts
function scheduleOfflineMeasurementBackgroundSync(options?): Promise<void>;
```

Schedules recurring offline measurement sync through WorkManager or BGTaskScheduler.

#### Parameters [#parameters-2]

| Parameter | Type |
| ------ | ------ |
| `options?` | [`OfflineMeasurementBackgroundSyncOptions`](#offlinemeasurementbackgroundsyncoptions) |

#### Returns [#returns-3]

`Promise`\<`void`\>

## Type Aliases [#type-aliases]

### OfflineMeasurementBackgroundSyncClient [#offlinemeasurementbackgroundsyncclient]

```ts
type OfflineMeasurementBackgroundSyncClient = Pick<Ovok, "measurements">;
```

Core client surface used by the background queue flush.

***

### OfflineMeasurementBackgroundSyncOptions [#offlinemeasurementbackgroundsyncoptions]

```ts
type OfflineMeasurementBackgroundSyncOptions = object;
```

Options for recurring offline measurement sync.

#### Properties [#properties]

##### minimumIntervalMinutes? [#minimumintervalminutes]

```ts
minimumIntervalMinutes?: number;
```

Minimum repeat interval in minutes (15 or higher); defaults to 15.

## References [#references]

### ANDROID\_HEALTH\_CONNECT\_BACKGROUND\_TASK [#android_health_connect_background_task]

Re-exports [ANDROID_HEALTH_CONNECT_BACKGROUND_TASK](/native-sdk/reference/background-sync#android_health_connect_background_task)

***

### AndroidBluetoothForegroundService [#androidbluetoothforegroundservice]

Re-exports [AndroidBluetoothForegroundService](/native-sdk/reference/background-sync#androidbluetoothforegroundservice)

***

### AndroidBluetoothForegroundServiceOptions [#androidbluetoothforegroundserviceoptions]

Re-exports [AndroidBluetoothForegroundServiceOptions](/native-sdk/reference/background-sync#androidbluetoothforegroundserviceoptions)

***

### AndroidHealthConnectBackgroundSyncOptions [#androidhealthconnectbackgroundsyncoptions]

Re-exports [AndroidHealthConnectBackgroundSyncOptions](/native-sdk/reference/background-sync#androidhealthconnectbackgroundsyncoptions)

***

### AndroidHealthConnectBackgroundTask [#androidhealthconnectbackgroundtask]

Re-exports [AndroidHealthConnectBackgroundTask](/native-sdk/reference/background-sync#androidhealthconnectbackgroundtask)

***

### AndroidHealthConnectSyncRunOptions [#androidhealthconnectsyncrunoptions]

Re-exports [AndroidHealthConnectSyncRunOptions](/native-sdk/reference/background-sync#androidhealthconnectsyncrunoptions)

***

### BackgroundSafeClientStorage [#backgroundsafeclientstorage]

Re-exports [BackgroundSafeClientStorage](/native-sdk/reference/background-sync#backgroundsafeclientstorage)

***

### BackgroundSafeSecureStore [#backgroundsafesecurestore]

Re-exports [BackgroundSafeSecureStore](/native-sdk/reference/background-sync#backgroundsafesecurestore)

***

### BackgroundSafeStorageOptions [#backgroundsafestorageoptions]

Re-exports [BackgroundSafeStorageOptions](/native-sdk/reference/background-sync#backgroundsafestorageoptions)

***

### cancelAndroidHealthConnectSync [#cancelandroidhealthconnectsync]

Re-exports [cancelAndroidHealthConnectSync](/native-sdk/reference/background-sync#cancelandroidhealthconnectsync)

***

### createBackgroundSafeClientStorage [#createbackgroundsafeclientstorage]

Re-exports [createBackgroundSafeClientStorage](/native-sdk/reference/background-sync#createbackgroundsafeclientstorage)

***

### getPushNotificationPermission [#getpushnotificationpermission]

Re-exports [getPushNotificationPermission](/native-sdk/reference/background-sync#getpushnotificationpermission)

***

### isAndroidBatteryOptimizationIgnored [#isandroidbatteryoptimizationignored]

Re-exports [isAndroidBatteryOptimizationIgnored](/native-sdk/reference/background-sync#isandroidbatteryoptimizationignored)

***

### PushNotificationContent [#pushnotificationcontent]

Re-exports [PushNotificationContent](/native-sdk/reference/background-sync#pushnotificationcontent)

***

### PushNotificationPermissionStatus [#pushnotificationpermissionstatus]

Re-exports [PushNotificationPermissionStatus](/native-sdk/reference/background-sync#pushnotificationpermissionstatus)

***

### registerAndroidHealthConnectBackgroundTask [#registerandroidhealthconnectbackgroundtask]

Re-exports [registerAndroidHealthConnectBackgroundTask](/native-sdk/reference/background-sync#registerandroidhealthconnectbackgroundtask)

***

### requestAndroidBatteryOptimizationExemption [#requestandroidbatteryoptimizationexemption]

Re-exports [requestAndroidBatteryOptimizationExemption](/native-sdk/reference/background-sync#requestandroidbatteryoptimizationexemption)

***

### requestPushNotificationPermission [#requestpushnotificationpermission]

Re-exports [requestPushNotificationPermission](/native-sdk/reference/background-sync#requestpushnotificationpermission)

***

### runAndroidHealthConnectSync [#runandroidhealthconnectsync]

Re-exports [runAndroidHealthConnectSync](/native-sdk/reference/background-sync#runandroidhealthconnectsync)

***

### scheduleAndroidHealthConnectSync [#scheduleandroidhealthconnectsync]

Re-exports [scheduleAndroidHealthConnectSync](/native-sdk/reference/background-sync#scheduleandroidhealthconnectsync)

***

### showPushNotification [#showpushnotification]

Re-exports [showPushNotification](/native-sdk/reference/background-sync#showpushnotification)

***

### startAndroidBluetoothForegroundService [#startandroidbluetoothforegroundservice]

Re-exports [startAndroidBluetoothForegroundService](/native-sdk/reference/background-sync#startandroidbluetoothforegroundservice)

***

### stopAndroidBluetoothForegroundService [#stopandroidbluetoothforegroundservice]

Re-exports [stopAndroidBluetoothForegroundService](/native-sdk/reference/background-sync#stopandroidbluetoothforegroundservice)
