2017-06-22 6 views
1

このfirebase機能のダイナミックリンクについて知りました。私は私のアプリで同じものを使用しようとしていたが、私は自分のアプリでリンクを取得していない。 コンソールからダイナミックリンクを作成しましたが、ダイナミックリンクを取得しようとしていましたが、nullが戻ってきました。ここでログに動的リンクが表示されない

は、私のダイナミックリンクの詳細です:

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 

私は私のランチャー活動にインテントフィルタをも追加しました:

<!-- [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] --> 

は今、私は、ダイナミックリンクを取得しようとしていますが、それは私を与えています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] 

私が間違っていることを誰かに教えてもらえますか?

+0

を保つ私がしたいです私が間違って学んだことをもう1つ追加してください。ユーザーを特定の画面にリダイレクトするには、ホスト:ProgramDetailのようにマニフェストファイルにアクティビティ名をホストとして入れます。 firebaseコンソールのリンクにも、https:// ProgramDetail?shortcode = abcのように同じ名前を付ける必要があります。 –

+0

効果がありました!私は同じ問題で退屈しているので、deeplinkからアクティビティを開始できません –

+0

@UditKapahiはい、それは私のために働いた。 .com拡張子なしでダイナミックリンクに置かれたマニフェストにホストとしての活動名を入れてみてください。 –

答えて

1

にフィルター部分にあなたのAndroid.manifestに変更してみてください:「https://で」なし

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

私は自分のコードを修正しておりますので、それまでに、残り

関連する問題