2016-06-04 13 views
6

Uso i collegamenti dinamici per la mia app.Firebase Collegamenti dinamici sempre restituiti ANNULLATO

Ho seguito il tutorial passo dopo passo e sono in grado di aprire l'app cliccando sul link postato su facebook.

Ma quando invoco getInvitation, ho sempre ANNULLATO come stato di 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."); 
        } 
       } 
      }); 

Into di debug, vedo che result.getStatus() ritorna annullato, ma il click sul leccare aprire correttamente l'applicazione.

Dove mi sbaglio?

EDIT: Il legame che sto usando è: https://wft4z.app.goo.gl/?link=https://aqld.it/testlink/112972&al=aqld://test/about?params%3D17363&apn=com.project.mydeeplink

Il filtro sul manifesto:

+0

Come appare il tuo URL (aperto, URL a dimensione intera)? Se l'hai aggiunto alla tua domanda, sarebbe più facile analizzare cosa potrebbe essere sbagliato. Inoltre, quando/dove invochi ricevi l'invito? – diidu

+0

Modifica la mia domanda. – CeccoCQ

+0

apn è due volte nel tuo url, mi chiedo se questo ha qualche effetto? Avrei dovuto chiedere anche filter-intent, ma se il tuo pacchetto dell'app è com.project.deeplink ei dati nel tuo filtro intent nel manifest appaiono in questo modo: dovrebbero andare bene. Se il filtro intent è molto diverso, probabilmente è un problema. – diidu

risposta

0

Lo stato viene annullata quando è stato ricevuto alcun intento. Mi stavo chiedendo la stessa cosa e ho scoperto che i miei collegamenti creati nella pagina web di Firebase erano sbagliati. Ho scritto alcune idee su come eseguire il debug del problema dell'URL come risposta a un'altra domanda. Se avete lo stesso problema come ho fatto io, che dovrebbero essere utili:

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

+0

Ho provato, non funziona. – CeccoCQ

+0

potresti mostrare l'inizializzazione di mGoogleApiClient. Hai aggiunto AppInvite.API? –

0

non risponde direttamente alla tua domanda, ma si poteva eliminare gli URL male formata come causa principale utilizzando questa pagina per creare Firebase dinamica collegamenti per entrambi i iOS e Android: http://fdl-links.appspot.com/

+0

Ho provato, non funziona. Sto provando con un'app che non è su Play Store, questo potrebbe essere il problema? – CeccoCQ

+0

Ho lo stesso problema. L'app si avvia dopo l'apertura del collegamento, ma la richiamata viene sempre annullata. Tuttavia la mia app è in playstore. –

0

Basta fare doppio controllare se è stato aggiunto l'SHA1 nella console Firebase e SHA1 aggiunto corrisponde al SHA1 del APK generato. Stavo vedendo lo stesso problema - result.getStatus() restituendo CANCELED prima di questo, ma dopo aver aggiunto SHA-1 sulla console di Firebase, ha iniziato a funzionare correttamente. :)

+0

Ciao, grazie per la tua risposta. Ho verificato e gli SHA1 sono stati aggiunti correttamente. – CeccoCQ

Problemi correlati