2016-06-04 5 views
6

내 앱에 동적 링크를 사용하고 있습니다.Firebase 동적 링크가 항상 반환되었습니다. 취소됨

나는 자습서를 단계별로 따라 갔고 페이스 북에 게시 된 링크를 클릭하여 응용 프로그램을 열 수 있습니다.

하지만 getInvitation을 호출하면 항상 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."); 
        } 
       } 
      }); 

, 나는 result.getStatus()가 반환 취소 된 것을 볼 수 있지만, 소량의 클릭이 제대로 응용 프로그램을 엽니 다.

내가 틀렸어?

편집 : 내가 사용 링크는 다음과 같습니다 매니페스트에 https://wft4z.app.goo.gl/?link=https://aqld.it/testlink/112972&al=aqld://test/about?params%3D17363&apn=com.project.mydeeplink

필터 :

+0

귀하의 URL은 어떻게 보이나요 (전체 크기의 열린 URL)? 귀하의 질문에 그것을 추가했다면 나는 틀린 것을 분석하기가 더 쉬울 것입니다. 또한 언제/어디서 초대장을 받으시겠습니까? – diidu

+0

내 질문을 편집합니다. – CeccoCQ

+0

apn이 URL에 두 번 나타나면 그게 효과가 있는지 궁금합니다. intent-filter도 요청해야하지만, 앱 패키지가 com.project.deeplink이고 매니페스트의 인 텐트 필터에있는 데이터가 다음과 유사합니다. 그들은 잘되어야합니다. 인 텐트 필터가 심각하게 다른 경우 문제가 될 수 있습니다. – diidu

답변

0

어떤 의도가 수신되지 않은 경우 상태가 취소됩니다. 나는 똑같은 것을 궁금해했고 firebase 웹 페이지에서 만든 내 링크가 틀렸다는 것이 밝혀졌습니다. 나는 다른 문제에 대한 대답으로 URL 문제를 디버깅하는 방법에 대한 아이디어를 썼다. 당신은 내가했던 것과 같은 문제가 있다면, 그들은 도움이 될해야합니다

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

+0

나는 노력했지만 작동하지 않았다. – CeccoCQ

+0

mGoogleApiClient 초기화를 보여 주시겠습니까? AppInvite.API를 추가 했습니까? –

0

직접 귀하의 질문에 대답하지 않습니다하지만 당신은 중포 기지 동적 만들려면이 페이지를 사용하여 근본 원인으로 잘못된 형식의 URL을 제거 할 수 http://fdl-links.appspot.com/

+0

시도해 보았지만 작동하지 않습니다. Play 스토어에없는 앱으로 시도하고 있는데 문제가 될 수 있나요? – CeccoCQ

+0

동일한 문제가 있습니다. 앱을 열면 링크가 열리지 만 콜백은 항상 취소됩니다. 그러나 내 응용 프로그램은 플레이 스토어에 있습니다. –

0

firebase 콘솔에 SHA-1을 추가했는지 확인하고 추가 된 SHA-1이 생성 된 APK의 SHA1과 일치하는지 확인하십시오. result.getStatus()가 이전에 CANCELED를 반환했지만 firebase 콘솔에 SHA-1을 추가 한 후에도 문제가 발생했습니다. :)

+0

안녕하세요, 귀하의 답변에 감사드립니다. 내가 확인하고 SHA1 올바르게 추가됩니다. – CeccoCQ