NotifiableClient constructor
NotifiableClient({
- required String publicKey,
- Logger? logger,
- Object? push = _platform,
- KeyValueStore? storage,
- Object? device = _platform,
- List<
DeepLink> ? deepLinks, - void onDeepLink(
- String url
- HttpTransport? transport,
Implementation
NotifiableClient({
required String publicKey,
Logger? logger,
Object? push = _platform,
KeyValueStore? storage,
Object? device = _platform,
this.deepLinks,
this.onDeepLink,
HttpTransport? transport,
}) : publicKey = publicKey.trim(),
logger = logger ?? const SilentLogger() {
if (this.publicKey.isEmpty) {
throw NotifiableError(
NotifiableErrorCode.invalidConfig,
'publicKey is required',
);
}
final resolvedDevice = identical(device, _platform)
? FlutterDevicePort()
: device as DevicePort?;
if (resolvedDevice == null) {
throw NotifiableError(
NotifiableErrorCode.invalidConfig,
'Notifiable could not read this device.',
);
}
final resolvedPush = identical(push, _platform)
? FlutterPushPort()
: push as PushPort?;
this.push = resolvedPush;
this.device = resolvedDevice;
_storage = storage ?? SharedPreferencesStorage();
_api = SdkApi(
HttpClient(
baseUrl: notifiableApiUrl,
publicKey: this.publicKey,
transport: transport ?? const IoHttpTransport(),
),
);
logger?.debug('Notifiable client created', {
'hasPush': resolvedPush == null ? 'false' : 'true',
});
}