diff --git a/docs/dynamic-links/receive.md b/docs/dynamic-links/receive.md
index fd4c55b5a6ff..362a95bd4942 100644
--- a/docs/dynamic-links/receive.md
+++ b/docs/dynamic-links/receive.md
@@ -73,7 +73,7 @@ start the activity with this intent filter to handle the link.
1. On the Signing & Capabilities page, enable **Associated Domains** and
add the following to the Associated Domains list:
-
+
```
applinks:example.page.link
```
@@ -180,3 +180,8 @@ FirebaseDynamicLinks.instance.onLink.listen((dynamicLinkData) {
// Handle errors
});
```
+
+### Testing A Dynamic Link On iOS Platform
+
+To test a dynamic link on iOS, it is required that you use an actual device. You will also need to run the app in release mode (i.e. `flutter run --release`.),
+if testing a dynamic link from a terminated (i.e. app has been swiped closed.) app state.
diff --git a/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Podfile b/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Podfile
index f7d6a5e68c3a..707b581a5329 100644
--- a/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Podfile
+++ b/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '9.0'
+platform :ios, '10.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -28,6 +28,8 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe
flutter_ios_podfile_setup
target 'Runner' do
+ use_frameworks!
+ use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
diff --git a/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Runner/Info.plist b/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Runner/Info.plist
index 674f580c9c59..e06f59c07238 100644
--- a/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Runner/Info.plist
+++ b/packages/firebase_dynamic_links/firebase_dynamic_links/example/ios/Runner/Info.plist
@@ -58,9 +58,7 @@
UIViewControllerBasedStatusBarAppearance
- FirebaseDynamicLinksCustomDomains
-
- https://reactnativefirebase.page.link/**
-
+ CADisableMinimumFrameDurationOnPhone
+
diff --git a/packages/firebase_dynamic_links/firebase_dynamic_links/example/lib/firebase_options.dart b/packages/firebase_dynamic_links/firebase_dynamic_links/example/lib/firebase_options.dart
index cea1537e1d1f..b5967a0867db 100644
--- a/packages/firebase_dynamic_links/firebase_dynamic_links/example/lib/firebase_options.dart
+++ b/packages/firebase_dynamic_links/firebase_dynamic_links/example/lib/firebase_options.dart
@@ -1,5 +1,5 @@
// File generated by FlutterFire CLI.
-// ignore_for_file: lines_longer_than_80_chars
+// ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
import 'package:flutter/foundation.dart'
show defaultTargetPlatform, kIsWeb, TargetPlatform;
@@ -22,7 +22,6 @@ class DefaultFirebaseOptions {
'you can reconfigure this by running the FlutterFire CLI again.',
);
}
- // ignore: missing_enum_constant_in_switch
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return android;
@@ -33,35 +32,43 @@ class DefaultFirebaseOptions {
'DefaultFirebaseOptions have not been configured for macos - '
'you can reconfigure this by running the FlutterFire CLI again.',
);
+ case TargetPlatform.windows:
+ throw UnsupportedError(
+ 'DefaultFirebaseOptions have not been configured for windows - '
+ 'you can reconfigure this by running the FlutterFire CLI again.',
+ );
+ case TargetPlatform.linux:
+ throw UnsupportedError(
+ 'DefaultFirebaseOptions have not been configured for linux - '
+ 'you can reconfigure this by running the FlutterFire CLI again.',
+ );
+ default:
+ throw UnsupportedError(
+ 'DefaultFirebaseOptions are not supported for this platform.',
+ );
}
-
- throw UnsupportedError(
- 'DefaultFirebaseOptions are not supported for this platform.',
- );
}
static const FirebaseOptions android = FirebaseOptions(
- apiKey: 'AIzaSyCdRjCVZlhrq72RuEklEyyxYlBRCYhI2Sw',
- appId: '1:406099696497:android:40da41183cb3d3ff3574d0',
- messagingSenderId: '406099696497',
- projectId: 'flutterfire-e2e-tests',
- databaseURL:
- 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app',
- storageBucket: 'flutterfire-e2e-tests.appspot.com',
+ apiKey: 'AIzaSyCuu4tbv9CwwTudNOweMNstzZHIDBhgJxA',
+ appId: '1:448618578101:android:1be54ee660fd87d2ac3efc',
+ messagingSenderId: '448618578101',
+ projectId: 'react-native-firebase-testing',
+ databaseURL: 'https://react-native-firebase-testing.firebaseio.com',
+ storageBucket: 'react-native-firebase-testing.appspot.com',
);
static const FirebaseOptions ios = FirebaseOptions(
- apiKey: 'AIzaSyDooSUGSf63Ghq02_iIhtnmwMDs4HlWS6c',
- appId: '1:406099696497:ios:e666f0a995aa455a3574d0',
- messagingSenderId: '406099696497',
- projectId: 'flutterfire-e2e-tests',
- databaseURL:
- 'https://flutterfire-e2e-tests-default-rtdb.europe-west1.firebasedatabase.app',
- storageBucket: 'flutterfire-e2e-tests.appspot.com',
+ apiKey: 'AIzaSyAHAsf51D0A407EklG1bs-5wA7EbyfNFg0',
+ appId: '1:448618578101:ios:3e76955ab6d49ecaac3efc',
+ messagingSenderId: '448618578101',
+ projectId: 'react-native-firebase-testing',
+ databaseURL: 'https://react-native-firebase-testing.firebaseio.com',
+ storageBucket: 'react-native-firebase-testing.appspot.com',
androidClientId:
- '406099696497-tvtvuiqogct1gs1s6lh114jeps7hpjm5.apps.googleusercontent.com',
+ '448618578101-a9p7bj5jlakabp22fo3cbkj7nsmag24e.apps.googleusercontent.com',
iosClientId:
- '406099696497-nqjkqmm0fm17cdksju0o817aj226ooqb.apps.googleusercontent.com',
- iosBundleId: 'io.flutter.plugins.firebase.dynamiclinksexample',
+ '448618578101-4km55qmv55tguvnivgjdiegb3r0jquv5.apps.googleusercontent.com',
+ iosBundleId: 'io.invertase.testing',
);
}