Abrova
☰ Docs menu · Configuration
Coming soon. Abrova Push is coming soon. This page describes how it will work; it can’t be used yet.

Configuration

All configuration options for the Abrova Push SDK — apiKey, usePushKit, showServiceNotification, showNotificationInForeground, autoConnect, appGroup, autoRefresh, log levels. Web SDK options for service worker.

Last updated: 27 Oct 2026

All available configuration options for the AbrovaPush SDK.

Configuration Options#

OptionTypeDefaultDescription
apiKeystringrequiredYour API key from dashboard
notificationIconstringnullAndroid: Resource name of the small notification icon
usePushKitbooleantrue (Flutter, React Native), false (native iOS)iOS: Enable PushKit VoIP pushes (calling apps)
showServiceNotificationbooleantrueAndroid: Show foreground service notification
showNotificationInForegroundbooleantrueShow notifications while the app is in foreground (native iOS default: false)
autoConnectbooleantrueiOS: Connect when the app enters foreground
appGroupstringnulliOS: App Group shared with a Notification Service Extension, for background delivery confirmation
autoRefreshbooleantrueAll SDKs (Android, iOS, Flutter, React Native, Web): silently refresh a registered device on launch, at most once every 24h or sooner when the app version, SDK version, push token or user changed. Never prompts for permission

Call register() on every app launch. It keeps the device's token, app version and last-seen time current on the server. Log verbosity is set at runtime with setLogLevel() (see below).

Full Configuration Example#

dart
await AbrovaPush.init(AbrovaPushConfig(
  // Required - only apiKey needed, server config is auto-fetched
  apiKey: 'ab_live_your_api_key',

  // iOS Options
  usePushKit: false,  // Enable only for apps with calling features
  appGroup: 'group.com.yourcompany.yourapp',

  // Android Options
  notificationIcon: 'ic_notification',
  showServiceNotification: true,

  // Optional
  showNotificationInForeground: true,
  autoConnect: true,
));

Log Levels#

LevelDescription
noneNo logging output
errorOnly error messages
warningErrors and warnings
infoErrors, warnings, and info messages
debugAll messages (recommended for development)
verboseEverything including stack traces
dart
import 'package:flutter/foundation.dart';

// Set log level based on build mode
if (kReleaseMode) {
  await AbrovaPush.setLogLevel(AbrovaPushLogLevel.error);
} else {
  await AbrovaPush.setLogLevel(AbrovaPushLogLevel.debug);
}

Web#

The Web SDK requires only apiKey. Connection configuration is automatically fetched from the server; the realtime connection runs over TLS on port 443.

OptionTypeDefaultDescription
apiKeystringrequiredYour API key from dashboard
serviceWorkerPathstring/abrova-push-sw.jsPath to service worker file
autoRegisterServiceWorkerbooleantrueAuto-register service worker on init
maxReconnectAttemptsnumber0Max reconnection attempts (0 = keep retrying, backing off up to 60 s)
logLevelAbrovaPushLogLevelERRORLogging verbosity (NONE, ERROR, WARNING, INFO, DEBUG, VERBOSE)
appVersionstring-Your web app version, shown per device and usable as a segment filter
autoRefreshbooleantrueSilently re-register a browser that registered before, at most once every 24h or sooner when something changed. Never prompts

Web SDK Full Example

typescript
import AbrovaPush, { AbrovaPushLogLevel } from '@abrova/push-web';

const abrovaPush = new AbrovaPush({
  // Required
  apiKey: 'ab_live_your_api_key',

  // Optional - defaults shown
  serviceWorkerPath: '/abrova-push-sw.js',
  autoRegisterServiceWorker: true,
  maxReconnectAttempts: 0,
  logLevel: AbrovaPushLogLevel.ERROR,
  appVersion: '2.0.0',
  autoRefresh: true,
});

// Change log level at runtime
abrovaPush.setLogLevel(AbrovaPushLogLevel.ERROR);
Automatic Configuration.

The Web SDK automatically fetches connection credentials and VAPID keys from the server using your API key. You don't need to configure these manually.

Was this page helpful?
Report a problem