1
votes

Comment obtenir un lien URL court dans Android à l'aide de Firebase Dynamic Links?

J'essaie de partager un lien qui redirigerait un utilisateur vers un lien YouTube s'il était cliqué sur un navigateur de bureau et redirigerait vers l'application si vous cliquez sur Android.Les liens fonctionnent bien mais j'obtiens le lien profond au lieu du lien court

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

Existe-t-il un moyen d'obtenir le lien court dans Android?


5 commentaires

vous voulez dire que vous voulez partager un lien court au lieu d'un lien profond? Pouvez-vous fournir plus d'informations?


Je suis capable de partager un lien court, mais lorsque je clique sur ce lien et que je lance l'application Android pour analyser ce lien en utilisant getIntent().getData() j'obtiens le lien profond. Existe-t-il également un moyen d'obtenir le lien court?


Comment générez-vous un lien court? Partagez également un extrait de code.


Je ne génère pas de lien court à partir du code. J'utilise la section des liens dynamiques de la console Firebase.


Ce n’est pas ainsi. Vous allez dans la mauvaise direction alors. Il existe une API REST distincte de Firebase pour créer des liens courts. firebase.google.com/docs/reference/dynamic-links/link-shorte‌ ner


3 Réponses :


0
votes

Je viens de trouver une solution de contournement à ce problème en passant des paramètres dans mon lien profond. Pour par exemple

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

Ainsi, le lien profond dans l'URL ci-dessus est

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

et le paramètre que je veux passer est ajouté par &deeplinkparam=somevalue


0 commentaires

-1
votes

Que diriez-vous d'essayer ceci pour obtenir le lien dans votre application Android.

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) }


2 commentaires

J'obtiens le lien profond et non le lien court.


alors il est sûr que vous ne pouvez pas récupérer le lien court depuis le lien profond de firebase.



0
votes

vous pouvez obtenir le lien court en utilisant

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


0 commentaires