2017-06-22 4 views
1

Ich habe gerade über diese dynamische Funktion der Firebase-Funktion kennengelernt. Ich habe versucht, das gleiche in meiner App zu verwenden, aber ich bekomme den Link in meiner App nicht. Ich habe eine dynamische Verbindung von der Konsole erstellt, und ich habe versucht, die dynamische Verbindung zu erhalten, aber es gibt mir Null zurück.Keine dynamische Verbindung in den Protokollen

Hier sind meine dynamischen Link-Details:

Deep link 
https://mobiefit.com 

Android app 
com.firstrun.prototyze 

Long Dynamic Link 

https://t9nxs.app.goo.gl/?link=https://mobiefit.com&apn=com.firstrun.prototyze&afl=https://mobiefit.com 

Short Dynamic Link 

https://t9nxs.app.goo.gl/rY6Y 

Ich habe auch die Absicht Filter in meiner Abschuss Aktivität:

<!-- [START link_intent_filter] --> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW"/> 
       <category android:name="android.intent.category.DEFAULT"/> 
       <category android:name="android.intent.category.BROWSABLE"/> 
       <data 
        android:host="https://t9nxs.app.goo.gl/rY6Y" 
        android:scheme="https"/> 
      </intent-filter> 
      <!-- [END link_intent_filter] --> 

Jetzt versuche ich, die dynamische Verknüpfung zu bekommen, aber es mir ist zu geben null

// [START get_deep_link] 
     FirebaseDynamicLinks.getInstance() 
       .getDynamicLink(getIntent()) 
       .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() { 
        @Override 
        public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) { 
         // Get deep link from result (may be null if no link is found) 
         Uri deepLink = null; 
         if (pendingDynamicLinkData != null) { 
          deepLink = pendingDynamicLinkData.getLink(); 
         } 


         // Handle the deep link. For example, open the linked 
         // content, or apply promotional credit to the user's 
         // account. 
         // ... 

         // [START_EXCLUDE] 
         // Display deep link in the UI 
         if (deepLink != null) { 
          Log.e("deepLink",deepLink.toString()); 
         } else { 
          Log.d(TAG, "getDynamicLink: no link found"); 
         } 
         // [END_EXCLUDE] 
        } 
       }) 
       .addOnFailureListener(this, new OnFailureListener() { 
        @Override 
        public void onFailure(@NonNull Exception e) { 
         Log.w(TAG, "getDynamicLink:onFailure", e); 
        } 
       }); 
     // [END get_deep_link] 

Kann mir jemand sagen, was ich falsch mache?

+0

Da ich meinen Code festgelegt haben, möchte ich füge noch eine Sache hinzu, die ich aus meinem Fehler gelernt habe. Um den Benutzer zu einem bestimmten Bildschirm umzuleiten, legen Sie den Namen der Aktivität als Host in die Manifest-Datei, wie host: ProgramDetail. Sie sollten auch den gleichen Namen in den Link in der Firebase-Konsole wie https: // ProgramDetail? Shortcode = abc eingeben. –

+0

Hat es funktioniert? Ich bin bei dem gleichen Problem stecken nicht in der Lage, die Aktivität aus dem Deeplink –

+0

@UditKapahi zu starten ja, es funktionierte für mich. Versuchen Sie, Ihren Aktivitätsnamen als Host in Manifest ohne .com-Erweiterung zu setzen und setzen Sie den dynamischen Link. –

Antwort

1

Versuchen Sie, auf Ihre Android.manifest Wechsel auf dem Filterteil:

android:host="t9nxs.app.goo.gl/rY6Y" 

ohne das ‚https: //‘, bevor es und halten den Rest

Verwandte Themen