File tree Expand file tree Collapse file tree 2 files changed +24
-0
lines changed
packages/firebase_dynamic_links Expand file tree Collapse file tree 2 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -99,6 +99,20 @@ - (void)handleMethodCall:(FlutterMethodCall *)call result:(FlutterResult)result
99
99
} else {
100
100
result (dict);
101
101
}
102
+ } else if ([@" FirebaseDynamicLinks#getDynamicLink" isEqualToString: call.method]) {
103
+ NSURL *shortLink = [NSURL URLWithString: call.arguments[@" url" ]];
104
+ FIRDynamicLinkUniversalLinkHandler completion =
105
+ ^(FIRDynamicLink *_Nullable dynamicLink, NSError *_Nullable error) {
106
+ if (error) {
107
+ result (getFlutterError (error));
108
+ } else if (dynamicLink && dynamicLink.url ) {
109
+ result ([dynamicLink.url absoluteString ]);
110
+ } else {
111
+ result (null);
112
+ }
113
+ };
114
+ [[FIRDynamicLinks dynamicLinks ] handleUniversalLink: shortLink
115
+ completion: completion];
102
116
} else {
103
117
result (FlutterMethodNotImplemented);
104
118
}
Original file line number Diff line number Diff line change @@ -37,6 +37,16 @@ class FirebaseDynamicLinks {
37
37
return getPendingDynamicLinkDataFromMap (linkData);
38
38
}
39
39
40
+ Future <Uri > getDynamicLink (Uri url) async {
41
+ final String reply = await FirebaseDynamicLinks .channel.invokeMethod <String >(
42
+ 'FirebaseDynamicLinks#getDynamicLink' ,
43
+ < String , dynamic > {'url' : url.toString ()});
44
+ if (reply == null ) {
45
+ return null ;
46
+ }
47
+ return Uri .tryParse (reply['url' ]);
48
+ }
49
+
40
50
PendingDynamicLinkData getPendingDynamicLinkDataFromMap (
41
51
Map <dynamic , dynamic > linkData) {
42
52
if (linkData == null ) return null ;
You can’t perform that action at this time.
0 commit comments