Skip to content

Commit 94c3561

Browse files
ckcz123imzyy
authored andcommitted
getDynamicLink Android
1 parent 22ae5a4 commit 94c3561

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

packages/firebase_dynamic_links/android/src/main/java/io/flutter/plugins/firebasedynamiclinks/FirebaseDynamicLinksPlugin.java

+27
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ public void onMethodCall(MethodCall call, Result result) {
9292
builder.setLongLink(url);
9393
buildShortDynamicLink(builder, call, createShortLinkListener(result));
9494
break;
95+
case "FirebaseDynamicLinks#getDynamicLink":
96+
handleGetDynamicLink(result, Uri.parse(call.argument("url")));
97+
break;
9598
case "FirebaseDynamicLinks#getInitialLink":
9699
handleGetInitialDynamicLink(result);
97100
break;
@@ -114,6 +117,30 @@ private Map<String, Object> getMapFromPendingDynamicLinkData(
114117
return dynamicLink;
115118
}
116119

120+
private void handleGetDynamicLink(final Result result, Uri uri) {
121+
FirebaseDynamicLinks.getInstance()
122+
.getDynamicLink(uri)
123+
.addOnSuccessListener(new OnSuccessListener<PendingDynamicLinkData>() {
124+
@Override
125+
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
126+
if (pendingDynamicLinkData != null) {
127+
Uri link = pendingDynamicLinkData.getLink();
128+
if (link != null) {
129+
result.success(link.toString());
130+
return;
131+
}
132+
}
133+
result.success(null);
134+
}
135+
})
136+
.addOnFailureListener(new OnFailureListener() {
137+
@Override
138+
public void onFailure(@NonNull Exception e) {
139+
result.error(e.getClass().getSimpleName(), e.getMessage(), null);
140+
}
141+
});
142+
}
143+
117144
private void handleGetInitialDynamicLink(final Result result) {
118145
// If there's no activity, then there's no initial dynamic link.
119146
if (registrar.activity() == null) {

packages/firebase_dynamic_links/lib/src/firebase_dynamic_links.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class FirebaseDynamicLinks {
4444
if (reply == null) {
4545
return null;
4646
}
47-
return Uri.tryParse(reply['url']);
47+
return Uri.tryParse(reply);
4848
}
4949

5050
PendingDynamicLinkData getPendingDynamicLinkDataFromMap(

0 commit comments

Comments
 (0)