Skip to content

Commit 32d06e7

Browse files
fix(firebase_dynamic_links): pass through utmParameters on iOS and make property on PendingDynamicLinkData. (#8232)
1 parent 433a08e commit 32d06e7

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

packages/firebase_dynamic_links/firebase_dynamic_links/ios/Classes/FLTFirebaseDynamicLinksPlugin.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
if (dynamicLink.minimumAppVersion) {
2525
iosData[@"minimumVersion"] = dynamicLink.minimumAppVersion;
2626
}
27+
dictionary[@"utmParameters"] = dynamicLink.utmParametersDictionary;
2728
dictionary[@"ios"] = iosData;
2829
return dictionary;
2930
} else {

packages/firebase_dynamic_links/firebase_dynamic_links_platform_interface/lib/src/method_channel/method_channel_firebase_dynamic_links.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ class MethodChannelFirebaseDynamicLinks extends FirebaseDynamicLinksPlatform {
104104
link: Uri.parse(link),
105105
android: androidData,
106106
ios: iosData,
107+
utmParameters: linkData['utmParameters'],
107108
);
108109
}
109110

packages/firebase_dynamic_links/firebase_dynamic_links_platform_interface/lib/src/pending_dynamic_link_data.dart

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,13 @@ import 'pending_dynamic_link_data_ios.dart';
77

88
/// Provides data from received dynamic link.
99
class PendingDynamicLinkData {
10-
const PendingDynamicLinkData({required this.link, this.android, this.ios});
10+
const PendingDynamicLinkData(
11+
{required this.link,
12+
this.android,
13+
this.ios,
14+
this.utmParameters = const {},
15+
}
16+
);
1117

1218
/// Provides Android specific data from received dynamic link.
1319
///
@@ -24,11 +30,15 @@ class PendingDynamicLinkData {
2430
/// Deep link parameter of the dynamic link.
2531
final Uri link;
2632

33+
/// UTM parameters associated with a dynamic link.
34+
final Map<String, String> utmParameters;
35+
2736
/// Returns the current instance as a [Map].
2837
Map<String, dynamic> asMap() => <String, dynamic>{
2938
'ios': ios?.asMap(),
3039
'android': android?.asMap(),
3140
'link': link.toString(),
41+
'utmParameters': utmParameters
3242
};
3343

3444
@override

0 commit comments

Comments
 (0)