2016-06-04 11 views
6

Ich verwende dynamische Links für meine App.Firebase Dynamische Links wurden immer zurückgewiesen. CANCELED

Ich habe das Tutorial Schritt für Schritt befolgt und kann die App öffnen, indem ich auf den Link auf Facebook klicke.

Aber wenn ich getInvitation aufrufen, habe ich immer als Status von AppInviteInvitationResult CANCELED.

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."); 
        } 
       } 
      }); 

In debug, kann ich sehen, dass result.getStatus() zurückkehrt ABGESAGT, aber der Klick auf lecken die App richtig öffnen.

Wo liege ich falsch?

EDIT: Der Link, den ich verwende ist: https://wft4z.app.goo.gl/?link=https://aqld.it/testlink/112972&al=aqld://test/about?params%3D17363&apn=com.project.mydeeplink

Der Filter auf manifest:

+0

Wie sieht Ihre URL aus (geöffnete URL in voller Größe)? Wenn Sie das zu Ihrer Frage hinzufügen würden, wäre es einfacher zu analysieren, was falsch sein könnte. Außerdem, wann/wo rufen Sie die Einladung ein? – diidu

+0

Ich bearbeite meine Frage. – CeccoCQ

+0

apn ist zweimal in Ihrer URL, ich frage mich, ob das irgendwelche Auswirkungen hat? Ich hätte auch nach intent-filter fragen sollen, aber wenn Ihr app-Paket com.project.deeplink ist und die Daten in Ihrem intent-Filter im Manifest so aussehen: sie sollten in Ordnung sein. Wenn sich der Intent-Filter stark unterscheidet, ist dies wahrscheinlich ein Problem. – diidu

Antwort

0

Der Status wird aufgehoben, wenn keine Absicht empfangen wurde. Ich habe mich gleich gefragt und es stellte sich heraus, dass meine in der Firebase-Webseite erstellten Links falsch waren. Ich habe einige Ideen geschrieben, wie man das URL-Problem als Antwort auf eine andere Frage debuggen kann. Wenn Sie das gleiche Problem haben wie ich, sollen sie hilfreich sein:

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

+0

Ich habe es versucht, funktioniert nicht. – CeccoCQ

+0

könnten Sie bitte die Initialisierung von mGoogleApiClient zeigen. Haben Sie AppInvite.API hinzugefügt? –

0

nicht direkt Ihre Frage beantworten, aber man kann mit Hilfe dieser Seite schlecht gebildet Urls als Ursache beseitigt Feuerbasis dynamisch erstellen Links für iOS und Android: http://fdl-links.appspot.com/

+0

Ich habe es versucht, funktioniert nicht. Ich versuche es mit einer App, die nicht im Play Store verfügbar ist. Dies könnte das Problem sein? – CeccoCQ

+0

Ich habe das gleiche Problem. Die App startet nach dem Öffnen des Links, aber der Rückruf wird immer abgebrochen. Meine App befindet sich jedoch auf dem Playstore. –

0

Überprüfen Sie einfach, ob Sie die SHA-1 in der Firebase-Konsole hinzugefügt haben und die hinzugefügte SHA-1 entspricht der SHA1 der generierten APK. Ich sah das gleiche Problem - result.getStatus() gab vorher CANCELED zurück, aber nach dem Hinzufügen der SHA-1 auf der Firebase-Konsole, begann es gut zu funktionieren. :)

+0

Hallo, danke für deine Antwort. Ich habe überprüft und die SHA1 wurden korrekt hinzugefügt. – CeccoCQ

Verwandte Themen