Add parameter to Firebase Dynamic Links

前端 未结 2 1404
孤城傲影
孤城傲影 2020-12-01 23:08

I want to let the user share a product from my app by clicking a button and sending other potential users links like

www.myapp.com/offer/123

there, \"123\"

2条回答
  •  执笔经年
    2020-12-01 23:26

    SHORT ANSWER: Using query parameters instead of path variables you could use the getQueryParameter method from the Uri object returned by pendingDynamicLinkData.getLink()


    What i've been doing is using query parameters instead of path variables.

    Instead of sending http://www.myapp.com/offer/123, i'm sending something like http://www.myapp.com/?offer=123

    To add parameters dynamically i'm just concatenating strings: "http://www.myapp.com/?offer=" + myValue

    This URL is in turn a query parameter of the dynamic link created in firebase:

    String url = "https://YourDynamicLinkIdentifier.app.goo.gl/?link=https://myapp.com?offer=" 
    + myOfferVar 
    + "&apn=com.your.apn"; // << Dont forget to change this too
    

    And this resulting URL is the one i send to the url shortener.

    Then in the callback onSuccess(PendingDynamicLinkData pendingDynamicLinkData) call getLink() of pendingDynamicLinkData as you're already doing.

    Now that you have a Uri object, you can easily get the parameter by calling the method getQueryParameter("offer").

    if (pendingDynamicLinkData != null) {
         deepLink = pendingDynamicLinkData.getLink();
         String offerKey = deepLink.getQueryParameter("offer");
    

    NOTE: In case you still prefer to use the path variable, you could get the last segment of the Uri path. See How to obtain the last path segment of an uri

提交回复
热议问题