Reputation: 191
When I create dynamic links which contain UTM parameters and share it, I was able to retrieve the data and encoded queries from the link. But when I try to create a short link of a dynamic link using firebase recommended method, I can only able to retrieve the path, but not the encoded queries. how do I solve it?
METHOD FOR CREATING DYNAMIC LINK :
public void buildReferral() {
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(Uri.parse("sample link"))
.setDynamicLinkDomain("sample domain")
.setAndroidParameters(
new DynamicLink.AndroidParameters.Builder("com.package.my")
.build())
.setGoogleAnalyticsParameters(
new DynamicLink.GoogleAnalyticsParameters.Builder()
.setSource("referral")
.setContent("content")
.setMedium("Android")
.build())
.buildDynamicLink();
buildShortUrl(dynamicLink);
}
METHOD FOR CREATING SHORT LINK :
public void buildShortUrl(DynamicLink dynamicLink) {
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLongLink(Uri.parse(dynamicLink.getUri().toString()))
.buildShortDynamicLink()
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
// Short link created
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
} else {
// Error
// ...
}
}
});
}
Upvotes: 2
Views: 511
Reputation: 750
You can use appendQueryParameter()
to add multiple parameters to the link, and by using getQueryParameter()
you can retrieve parameters from link. You can see this answer how you can achieve it.
Upvotes: 1