/
platform_interface_firebase_in_app_messaging.dart
70 lines (56 loc) 路 2.62 KB
/
platform_interface_firebase_in_app_messaging.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// ignore_for_file: require_trailing_commas
import 'package:firebase_core/firebase_core.dart';
import 'package:meta/meta.dart';
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
import '../method_channel/method_channel_firebase_in_app_messaging.dart';
abstract class FirebaseInAppMessagingPlatform extends PlatformInterface {
/// Create an instance using an [app].
FirebaseInAppMessagingPlatform(this.app) : super(token: _token);
static final Object _token = Object();
static FirebaseInAppMessagingPlatform? _instance;
/// The [FirebaseApp] this instance was initialized with
final FirebaseApp? app;
/// Create an instance using [app] using the existing implementation
factory FirebaseInAppMessagingPlatform.instanceFor(
{required FirebaseApp app}) {
return FirebaseInAppMessagingPlatform.instance.delegateFor(app: app);
}
/// The current default [FirebaseInAppMessagingPlatform] instance.
///
/// It will always default to [MethodChannelFirebaseInAppMessaging]
/// if no other implementation was provided.
static FirebaseInAppMessagingPlatform get instance {
return _instance ??= MethodChannelFirebaseInAppMessaging.instance;
}
/// Sets the [FirebaseInAppMessagingPlatform.instance]
static set instance(FirebaseInAppMessagingPlatform instance) {
PlatformInterface.verifyToken(instance, _token);
_instance = instance;
}
/// Enables delegates to create new instances of themselves if a none default
/// [FirebaseApp] instance or region is required by the user.
@protected
FirebaseInAppMessagingPlatform delegateFor({FirebaseApp? app}) {
throw UnimplementedError('delegateFor() is not implemented');
}
/// Programmatically trigger a contextual trigger.
Future<void> triggerEvent(String eventName) {
throw UnimplementedError('triggerEvent() is not implemented');
}
/// Enable or disable suppression of Firebase In App Messaging messages.
///
/// When enabled, no in app messages will be rendered until either you either
/// disable suppression, or the app restarts, as this state is not preserved
/// over app restarts.
Future<void> setMessagesSuppressed(bool suppress) {
throw UnimplementedError('setMessagesSuppressed() is not implemented');
}
/// Determine whether automatic data collection is enabled or not.
Future<void> setAutomaticDataCollectionEnabled(bool enabled) {
throw UnimplementedError(
'setAutomaticDataCollectionEnabled() is not implemented');
}
}