How to get short URL link in android using Firebase Dynamic Links?

问题描述 投票:0回答:4

我正在尝试分享一个链接,如果在桌面浏览器上单击,该链接会将用户重定向到 YouTube 链接,如果在 Android 上单击,则会重定向到该应用程序。链接工作正常,但我得到的是深层链接而不是短链接

Uri uri = getIntent().getData();
String path = uri.getPath();

有没有办法在android中获取短链接?

android firebase firebase-dynamic-links
4个回答
0
投票

我刚刚找到了解决这个问题的方法,这个问题在我的深层链接中传递参数。 例如

https://www.youtube.com/watch?v=y0brSA1cyzw&deeplinkparam=somevalue

所以,上面 url 中的深层链接是

https://www.youtube.com/watch?v=y0brSA1cyzw

我想传递的参数附加了

&deeplinkparam=somevalue


0
投票

你试试这个在你的安卓应用程序中获取链接怎么样?

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(intent)
        .addOnSuccessListener(this) { pendingDynamicLinkData ->
            var deepLink: Uri? = null
            if (pendingDynamicLinkData != null) {
                deepLink = pendingDynamicLinkData.link
                Log.d("LINK :: ", deepLink)
            }
        }
        .addOnFailureListener(this) { e -> Log.d("Error", e) }

0
投票

您可以使用以下方法获取短链接

Bundle dynamicLinkBundle = pendingDynamicLinkData.zzc();                          
String shortLink = bundle1.getBundle("scionData")
    .getBundle("dynamic_link_app_open")
    .getString("dynamic_link_link_id");

0
投票

我在 Kotlin 上找到了这个解决方案

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnSuccessListener(this) { pendingDynamicLinkData ->
            
            val gson = Gson()
            val json: String = Gson().toJson(pendingDynamicLinkData)
            val element: JsonElement = gson.fromJson(json, JsonElement::class.java)
            val jsonObj: JsonObject = element.asJsonObject
            val dynamicLinkData = jsonObj.getAsJsonObject("dynamicLinkData")
            val shortLink = dynamicLinkData.get("dynamicLink").asString
           
        }.addOnFailureListener(this) { e ->

        }
© www.soinside.com 2019 - 2024. All rights reserved.