2016-06-04 3 views
6

J'utilise des liens dynamiques pour mon application.Firebase Liens dynamiques toujours renvoyés ANNULÉ

J'ai suivi le tutoriel étape par étape et je suis en mesure d'ouvrir l'application en cliquant sur le lien posté sur facebook. Mais quand j'appelle getInvitation, j'ai toujours ANNULE comme statut de AppInviteInvitationResult.

AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, false).setResultCallback(
      new ResultCallback<AppInviteInvitationResult>() { 
       @Override 
       public void onResult(@NonNull AppInviteInvitationResult result) { 
        if (result.getStatus().isSuccess()) { 
         // Extract deep link from Intent 
         Intent intent = result.getInvitationIntent(); 
         String deepLink = AppInviteReferral.getDeepLink(intent); 

         // [END_EXCLUDE] 
        } else { 
         Log.d("StartActivity", "getInvitation: no deep link found."); 
        } 
       } 
      }); 

Dans debug, je peux voir que les rendements result.getStatus() ANNULÉS, mais cliquez sur lèchent ouvrir l'application correctement.

Où est-ce que je me trompe?

EDIT: Le lien que j'utilise est: https://wft4z.app.goo.gl/?link=https://aqld.it/testlink/112972&al=aqld://test/about?params%3D17363&apn=com.project.mydeeplink

Le filtre manifeste:

+0

Comment votre url ressemble-t-elle (ouverte, pleine taille)? Si vous ajoutiez cela à votre question, je serais plus facile d'analyser ce qui pourrait être faux. Aussi, quand/où invoquez-vous obtenir une invitation? – diidu

+0

Je modifie ma question. – CeccoCQ

+0

apn est deux fois dans votre URL, je me demande si cela a un effet? J'aurais dû demander l'intention-filtre aussi, mais si votre paquet d'application est com.project.deeplink et les données dans votre filtre d'intention dans le manifeste ressemble à ceci: ils devraient être bien. Si le filtre d'intention diffère sérieusement, c'est probablement un problème. – diidu

Répondre

0

Le statut est annulé si aucun intention n'a été reçu. Je me demandais la même chose et il s'est avéré que mes liens créés dans la page Web Firebase étaient faux. J'ai écrit quelques idées sur la façon de déboguer le problème url comme une réponse à une autre question. Si vous avez le même problème que moi, ils devraient être utiles:

https://stackoverflow.com/a/37615175/4025606

+0

J'ai essayé, pas fonctionne. – CeccoCQ

+0

pourriez-vous s'il vous plaît montrer l'initialisation de mGoogleApiClient. Avez-vous ajouté AppInvite.API? –

0

Ne répond directement à votre question, mais vous pourriez éliminer urls mal formés comme une cause racine en utilisant cette page pour créer firebase dynamique liens pour ios et Android: http://fdl-links.appspot.com/

+0

J'ai essayé, ça ne marche pas. J'essaie avec une application qui n'est pas sur Play Store, cela pourrait être le problème? – CeccoCQ

+0

J'ai le même problème. L'application démarre après l'ouverture du lien, mais le rappel est toujours annulé. Cependant, mon application est sur le Playstore. –

0

Vérifiez simplement si vous avez ajouté le SHA-1 dans la console de base de données et que le SHA-1 ajouté correspond au SHA1 du fichier APK généré. Je voyais le même problème - result.getStatus() renvoyant CANCELED avant cela, mais après avoir ajouté la console SHA-1 sur la base de données Firebase, il a commencé à fonctionner correctement. :)

+0

Salut, merci pour votre réponse. J'ai vérifié et les SHA1 sont ajoutés correctement. – CeccoCQ