Skip to content

Commit 90bea4e

Browse files
authored
refactor(app_check)!: remove deprecated activate provider parameters (#18779)
* refactor(app_check)!: remove deprecated activate provider parameters webProvider, androidProvider, and appleProvider are replaced by providerWeb, providerAndroid, and providerApple. * docs(app_check): correct provider samples for the new activate parameters Debug providers take a named debugToken, and the samples now name the provider classes that replace the removed enums. * style(app_check): match the CI Dart formatter Apply the formatting diff from the Flutter 3.47.7 format job so the check stops rewriting these files.
1 parent 128c7c6 commit 90bea4e

14 files changed

Lines changed: 669 additions & 1460 deletions

File tree

‎docs/app-check/debug-provider.md‎

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ To use the debug provider while running your app in a simulator interactively
3838
await Firebase.initializeApp();
3939
await FirebaseAppCheck.instance.activate(
4040
// Set providerApple to use AppleDebugProvider
41-
providerApple: AppleDebugProvider('123a4567-b89c-12d3-e456-789012345678'),
41+
providerApple: AppleDebugProvider(
42+
debugToken: '123a4567-b89c-12d3-e456-789012345678',
43+
),
4244
);
4345
runApp(App());
4446
}
@@ -90,9 +92,11 @@ Future<void> main() async {
9092
WidgetsFlutterBinding.ensureInitialized();
9193
await Firebase.initializeApp();
9294
await FirebaseAppCheck.instance.activate(
93-
webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
95+
providerWeb: ReCaptchaV3Provider('recaptcha-v3-site-key'),
9496
// Set providerAndroid to use AndroidDebugProvider
95-
providerAndroid: AndroidDebugProvider('123a4567-b89c-12d3-e456-789012345678'),
97+
providerAndroid: AndroidDebugProvider(
98+
debugToken: '123a4567-b89c-12d3-e456-789012345678',
99+
),
96100
);
97101
runApp(App());
98102
}
@@ -174,11 +178,15 @@ Future<void> main() async {
174178
WidgetsFlutterBinding.ensureInitialized();
175179
await Firebase.initializeApp();
176180
await FirebaseAppCheck.instance.activate(
177-
webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
181+
providerWeb: ReCaptchaV3Provider('recaptcha-v3-site-key'),
178182
// Set providerAndroid with debug token
179-
providerAndroid: AndroidDebugProvider('123a4567-b89c-12d3-e456-789012345678'),
183+
providerAndroid: AndroidDebugProvider(
184+
debugToken: '123a4567-b89c-12d3-e456-789012345678',
185+
),
180186
// Set providerApple with debug token
181-
providerApple: AppleDebugProvider('123a4567-b89c-12d3-e456-789012345678'),
187+
providerApple: AppleDebugProvider(
188+
debugToken: '123a4567-b89c-12d3-e456-789012345678',
189+
),
182190
);
183191
runApp(App());
184192
}

‎docs/app-check/default-providers.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ Future<void> main() async {
7979
await Firebase.initializeApp();
8080
await FirebaseAppCheck.instance.activate(
8181
// You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
82-
// argument for `webProvider`
83-
webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
82+
// argument for `providerWeb`
83+
providerWeb: ReCaptchaV3Provider('recaptcha-v3-site-key'),
8484
// Default provider for Android is the Play Integrity provider. You can use the "providerAndroid" parameter to choose
8585
// your preferred provider. Choose from:
8686
// 1. AndroidDebugProvider for debug environments
@@ -91,7 +91,7 @@ Future<void> main() async {
9191
// 1. AppleDebugProvider for debug environments
9292
// 2. AppleDeviceCheckProvider
9393
// 3. AppleAppAttestProvider
94-
// 4. AppleAppAttestProviderWithDeviceCheckFallback (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
94+
// 4. AppleAppAttestWithDeviceCheckFallbackProvider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
9595
providerApple: AppleAppAttestProvider(),
9696
);
9797
runApp(App());

‎packages/firebase_app_check/firebase_app_check/lib/src/firebase_app_check.dart‎

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ class FirebaseAppCheck extends FirebasePlugin implements FirebaseService {
2424
/// If called and no [_delegatePackingProperty] exists, it will first be
2525
/// created and assigned before returning the delegate.
2626
FirebaseAppCheckPlatform get _delegate {
27-
_delegatePackingProperty ??= FirebaseAppCheckPlatform.instanceFor(
28-
app: app,
29-
);
27+
_delegatePackingProperty ??= FirebaseAppCheckPlatform.instanceFor(app: app);
3028

3129
return _delegatePackingProperty!;
3230
}
@@ -61,7 +59,7 @@ class FirebaseAppCheck extends FirebasePlugin implements FirebaseService {
6159
///
6260
/// ## Platform Configuration
6361
///
64-
/// **Web**: Provide the reCAPTCHA v3 Site Key using `webProvider`, which can be
62+
/// **Web**: Provide the reCAPTCHA v3 Site Key using `providerWeb`, which can be
6563
/// found in the Firebase Console.
6664
///
6765
/// **Android**: The default provider is "play integrity". Use `providerAndroid`
@@ -86,42 +84,16 @@ class FirebaseAppCheck extends FirebasePlugin implements FirebaseService {
8684
/// first be registered in the Firebase Console under
8785
/// *App Check → Apps → Manage debug tokens*.
8886
///
89-
/// ## Migration Notice
90-
///
91-
/// The `androidProvider` and `appleProvider` parameters will be deprecated
92-
/// in a future release. Use `providerAndroid` and `providerApple` instead,
93-
/// which support the new provider classes including `AndroidDebugProvider`
94-
/// and `AppleDebugProvider` for passing debug tokens directly.
95-
///
9687
/// For more information, see [the Firebase Documentation](https://firebase.google.com/docs/app-check)
9788
Future<void> activate({
98-
@Deprecated(
99-
'Use providerWeb instead. '
100-
'This parameter will be removed in a future major release.',
101-
)
102-
WebProvider? webProvider,
10389
WebProvider? providerWeb,
104-
@Deprecated(
105-
'Use providerAndroid instead. '
106-
'This parameter will be removed in a future major release.',
107-
)
108-
AndroidProvider androidProvider = AndroidProvider.playIntegrity,
109-
@Deprecated(
110-
'Use providerApple instead. '
111-
'This parameter will be removed in a future major release.',
112-
)
113-
AppleProvider appleProvider = AppleProvider.deviceCheck,
11490
AndroidAppCheckProvider providerAndroid =
11591
const AndroidPlayIntegrityProvider(),
11692
AppleAppCheckProvider providerApple = const AppleDeviceCheckProvider(),
11793
WindowsAppCheckProvider providerWindows = const WindowsDebugProvider(),
11894
}) {
11995
return _delegate.activate(
120-
webProvider: providerWeb ?? webProvider,
121-
// ignore: deprecated_member_use
122-
androidProvider: androidProvider,
123-
// ignore: deprecated_member_use
124-
appleProvider: appleProvider,
96+
providerWeb: providerWeb,
12597
providerAndroid: providerAndroid,
12698
providerApple: providerApple,
12799
providerWindows: providerWindows,

‎packages/firebase_app_check/firebase_app_check_platform_interface/lib/src/method_channel/method_channel_firebase_app_check.dart‎

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,7 @@ class MethodChannelFirebaseAppCheck extends FirebaseAppCheckPlatform {
9696

9797
@override
9898
Future<void> activate({
99-
WebProvider? webProvider,
100-
@Deprecated(
101-
'Use providerAndroid instead. '
102-
'This parameter will be removed in a future major release.',
103-
)
104-
AndroidProvider? androidProvider,
105-
@Deprecated(
106-
'Use providerApple instead. '
107-
'This parameter will be removed in a future major release.',
108-
)
109-
AppleProvider? appleProvider,
99+
WebProvider? providerWeb,
110100
AndroidAppCheckProvider? providerAndroid,
111101
AppleAppCheckProvider? providerApple,
112102
WindowsAppCheckProvider? providerWindows,
@@ -115,18 +105,12 @@ class MethodChannelFirebaseAppCheck extends FirebaseAppCheckPlatform {
115105
await _pigeonApi.activate(
116106
app.name,
117107
defaultTargetPlatform == TargetPlatform.android || kDebugMode
118-
? getAndroidProviderString(
119-
legacyProvider: androidProvider,
120-
newProvider: providerAndroid,
121-
)
108+
? getAndroidProviderString(providerAndroid)
122109
: null,
123110
defaultTargetPlatform == TargetPlatform.iOS ||
124111
defaultTargetPlatform == TargetPlatform.macOS ||
125112
kDebugMode
126-
? getAppleProviderString(
127-
legacyProvider: appleProvider,
128-
newProvider: providerApple,
129-
)
113+
? getAppleProviderString(providerApple)
130114
: null,
131115
_getDebugToken(
132116
providerAndroid: providerAndroid,

‎packages/firebase_app_check/firebase_app_check_platform_interface/lib/src/method_channel/utils/provider_to_string.dart‎

Lines changed: 6 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,62 +2,15 @@
22
// for details. All rights reserved. Use of this source code is governed by a
33
// BSD-style license that can be found in the LICENSE file.
44

5-
import 'package:firebase_app_check_platform_interface/src/android_provider.dart';
65
import 'package:firebase_app_check_platform_interface/src/android_providers.dart';
7-
import 'package:firebase_app_check_platform_interface/src/apple_provider.dart';
86
import 'package:firebase_app_check_platform_interface/src/apple_providers.dart';
97

10-
/// Converts [AndroidAppCheckProvider] to [String] with backwards compatibility
11-
String getAndroidProviderString({
12-
AndroidProvider? legacyProvider,
13-
AndroidAppCheckProvider? newProvider,
14-
}) {
15-
if (newProvider != null && legacyProvider != null) {
16-
if (legacyProvider != AndroidProvider.playIntegrity) {
17-
// Legacy provider is explicitly set to something other than default
18-
return getLegacyAndroidProviderString(legacyProvider);
19-
}
20-
}
21-
return newProvider?.type ?? 'playIntegrity';
8+
/// Converts [AndroidAppCheckProvider] to the native provider name.
9+
String getAndroidProviderString(AndroidAppCheckProvider? provider) {
10+
return provider?.type ?? 'playIntegrity';
2211
}
2312

24-
/// Converts [AppleAppCheckProvider] to [String] with backwards compatibility
25-
String getAppleProviderString({
26-
AppleProvider? legacyProvider,
27-
AppleAppCheckProvider? newProvider,
28-
}) {
29-
if (newProvider != null && legacyProvider != null) {
30-
if (legacyProvider != AppleProvider.deviceCheck) {
31-
// Legacy provider is explicitly set to something other than default
32-
return getLegacyAppleProviderString(legacyProvider);
33-
}
34-
}
35-
return newProvider?.type ?? 'deviceCheck';
36-
}
37-
38-
/// Converts [AndroidProvider] enum to [String]
39-
String getLegacyAndroidProviderString(AndroidProvider? provider) {
40-
switch (provider) {
41-
case AndroidProvider.debug:
42-
return 'debug';
43-
case AndroidProvider.playIntegrity:
44-
default:
45-
return 'playIntegrity';
46-
}
47-
}
48-
49-
/// Converts [AppleProvider] enum to [String]
50-
String getLegacyAppleProviderString(AppleProvider? provider) {
51-
switch (provider) {
52-
case AppleProvider.debug:
53-
return 'debug';
54-
case AppleProvider.appAttest:
55-
return 'appAttest';
56-
case AppleProvider.deviceCheck:
57-
return 'deviceCheck';
58-
case AppleProvider.appAttestWithDeviceCheckFallback:
59-
return 'appAttestWithDeviceCheckFallback';
60-
default:
61-
return 'deviceCheck';
62-
}
13+
/// Converts [AppleAppCheckProvider] to the native provider name.
14+
String getAppleProviderString(AppleAppCheckProvider? provider) {
15+
return provider?.type ?? 'deviceCheck';
6316
}

‎packages/firebase_app_check/firebase_app_check_platform_interface/lib/src/platform_interface/platform_interface_firebase_app_check.dart‎

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ abstract class FirebaseAppCheckPlatform extends PlatformInterface {
5555
///
5656
/// ## Platform Configuration
5757
///
58-
/// **Web**: Provide the reCAPTCHA v3 Site Key using `webProvider`, which can be
58+
/// **Web**: Provide the reCAPTCHA v3 Site Key using `providerWeb`, which can be
5959
/// found in the Firebase Console.
6060
///
6161
/// **Android**: The default provider is "play integrity". Use `providerAndroid`
@@ -80,26 +80,9 @@ abstract class FirebaseAppCheckPlatform extends PlatformInterface {
8080
/// first be registered in the Firebase Console under
8181
/// *App Check → Apps → Manage debug tokens*.
8282
///
83-
/// ## Migration Notice
84-
///
85-
/// The `androidProvider` and `appleProvider` parameters will be deprecated
86-
/// in a future release. Use `providerAndroid` and `providerApple` instead,
87-
/// which support the new provider classes including `AndroidDebugProvider`
88-
/// and `AppleDebugProvider` for passing debug tokens directly.
89-
///
9083
/// For more information, see [the Firebase Documentation](https://firebase.google.com/docs/app-check)
9184
Future<void> activate({
92-
WebProvider? webProvider,
93-
@Deprecated(
94-
'Use providerAndroid instead. '
95-
'This parameter will be removed in a future major release.',
96-
)
97-
AndroidProvider? androidProvider,
98-
@Deprecated(
99-
'Use providerApple instead. '
100-
'This parameter will be removed in a future major release.',
101-
)
102-
AppleProvider? appleProvider,
85+
WebProvider? providerWeb,
10386
AndroidAppCheckProvider? providerAndroid,
10487
AppleAppCheckProvider? providerApple,
10588
WindowsAppCheckProvider? providerWindows,

0 commit comments

Comments
 (0)