2016-12-23 2 views
7

J'essaie d'implémenter Firebase Dynamic Links dans une application iOS. L'objectif est d'avoir une URL propre à des fins de marketing afin que les gens puissent partager des liens sur les médias sociaux. L'idée est que les gens partageront l'URL propre qui commence avec mon nom de domaine. Lorsque l'application est installée suite à un clic sur ce lien, nous voulons être en mesure de savoir qui a envoyé l'application en regardant la charge utile fournie par Firebase. Je pense que cet objectif est similaire à use case de Firebase pour convertir les utilisateurs Web aux utilisateurs d'applications mobiles.Comment raccourcir un lien dynamique Firebase en utilisant mon propre nom de domaine

Un exemple de lien, je voudrais assurer le partage sur les médias sociaux est: http://example.com/my-payload-here

J'ai essayé plusieurs cas, mais je ne suis pas en mesure d'obtenir le comportement que je suis à la recherche dans tous les cas. Quelqu'un at-il mis en œuvre avec succès avant?

Voici ma procédure de test:

  1. désinstaller l'application
  2. Envoyez le lien à tester dans un iMessage pour me
  3. Appuyez sur le lien sur mon appareil iOS (ne pas utiliser un simulateur)
  4. Installez l'application de l'App Store
  5. Lancez l'application après le téléchargement en appuyant sur le bouton « Ouvrir » dans l'App Store

Voici mes conclusions:

  1. Lien court généré à partir de la console Firebase (https://xyz.app.goo.gl/ABCD) - Ouvrire le lien dans l'App Store. J'installe l'application. Lorsque je lance l'application après l'installation, la charge utile n'est pas fournie. Si je quitte l'application, revenez au lien dans iMessage et relancez la charge utile.

  2. lien long identique à la "Long Dynamic Link" de la console Firebase pour le lien généré dans # 1 (https://xyz.app.goo.gl/?link=http://example.com/my-payload-here&isi=12345&ibi=com.example.MyApp) - le comportement est identique à # 1

  3. Lien court en utilisant mon domaine (http://example.com/redirect/my-payload-here, configuré pour rediriger 301 vers URL dans # 2) - Ouvre dans l'App Store. J'installe Lorsque je lance l'application après l'installation, la charge utile n'est pas fournie. Si je quitte l'application, revenez au lien dans iMessage et relancez le lien vers l'App Store.

Quelques questions que j'ai:

  1. Pourquoi ne pas la charge utile livrée lors du premier lancement pour les cas 1 et 2?
  2. Comment pouvons-nous faire en sorte que ce lancement de l'application et livrer la charge utile au lieu d'aller sur l'App Store?

J'ai aussi consulté le Firebase flowchart pour le lien profond dans le cas 2.

Répondre

3

Ce n'est pas possible actuellement avec Firebase. Si vous avez besoin d'URL étiquetées, vous devez soit build it yourself ou utiliser une plateforme de liens plus puissante comme Branch.io (divulgation complète: je fais partie de l'équipe de la Direction générale).

Pour répondre à vos questions spécifiquement:

  1. Je mis en œuvre Firebase Liens dynamiques dans une application testbed et peut confirmer que relier par l'installation la première fois ne travail pour les deux variantes d'URL longues et courtes. Il y a probablement quelque chose qui cloche avec votre AppDelegate config, donc nous pouvons jeter un oeil à ça si vous voulez partager du code. Firebase ne prend pas en charge les domaines personnalisés pour l'instant. En théorie (si vous pouvez résoudre le premier problème ci-dessus), vous pouvez obtenir ce travail pour la première installation en utilisant une redirection comme vous avez essayé. Cependant, vous ne serez jamais en mesure de l'obtenir pour lancer l'application avec les données de liaison Firebase une fois l'application installée. En effet, Universal Links fonctionne en fonction du domaine du lien et ne demande même pas la destination Web. Même si vous activez Universal Links manuellement sur votre propre domaine, l'application s'ouvrira immédiatement sans jamais appeler Firebase et les données de liaison ne seront jamais définies.
+0

Merci Alex. Je me suis inscrit à un compte de succursale et j'essaie d'obtenir cette configuration maintenant. Pouvez-vous me DM là? –

+0

Branch a une fantastique [équipe d'intégration] (https://support.branch.io/support/tickets/new). Si vous soumettez un billet, ils vous reviendront habituellement avec l'heure! –