2017-02-13 3 views
1

현재 열린 앱에서 branch.io 링크를 사용하여 새로운 활동을 열어 봅니다. 다음 코드가 작동합니다. 여기서 문제는 브라우저가 열리고이 호출이 새로운 활동이라는 것입니다.동일한 앱에서 branch.io 링크 열기

Intent actionIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://sample.test-app.link/foo")); 
startActivity(actionIntent); 

는 내가 브라우저, branch.io의 웹 사이트를 방문 데이터를 얻을 intent://.... 같은 다른 링크를 부르는 것을 알고있다. 웹 링크 (https)에서 인 텐트 - 링크 (intent://)를 얻는 방법을 찾고 있습니다.

감사합니다. 활동의 의도 필터 넣어 아래의 매니페스트 파일에서

:

답변

1

해결책은 App links을 사용 설정하고 링크 설정에서 SHA256 지문을 추가하는 것입니다.

앱에서 http 요청을 수신 할 수 있도록 새로운 인 텐트 필터를 설정해야합니다.

<intent-filter android:autoVerify="true"> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="https" android:host="xxxx.test-app.link" /> 
</intent-filter> 

이제 앱이 링크를 수신하고 처리하므로 브라우저가 열리지 않습니다.

단계는 in the docs입니다.

0

나는 당신이 다음 단계로 그것을 달성 할 수 있다고 생각 이제 클릭 가능한 링크가 있어야한다

<data android:host="example.com" android:scheme="http" ></data> 

같은 :

http://example.com/tutor/

활동 내역에서 URL을 기반으로 모든 조건을 만들기 위해 코드를 수정할 수 있습니다.

Uri data = getIntent().getData(); 
    if(data!=null) { 
     List<String> params = data.getPathSegments(); 
     String first = params.get(0); // "status" 
     String second = params.get(1); 
    } 
+0

도움 주셔서 감사합니다. 당신 말이 맞아요,이 작동해야하지만, [branch.io] (https://branch.io/)와 몇 가지 솔루션이 필요합니다. 지금 해결책을 찾았습니다 ;-) – Fabi755

+0

잘 알고 있습니다 ... :) – Khushvinder

1

Branch SDK는 앱의 자체 웹보기에서 다시 앱으로 라우팅 할 수 있도록 설계되지 않았습니다. 즉, 뭔가 효과가 있으며 환상적이라고 들리는 것 같습니다.

지점 링크에서 생성 된 Intent 문자열을 가져 오는 가장 쉬운 방법은 앱이 설치된 기기에서 Chrome 주소 표시 줄에 지점 링크를 붙여넣고 Enter 키를 누릅니다. 의도 문자열은 주소 표시 줄과 결과 웹 페이지에 표시 될 오류 모두에 나타납니다.

이와 같이 의도 문자열을 검색하는 것은 Chrome이 주소 표시 줄에 인 텐트 문자열을 입력하여 앱을 여는 것을 지원하지 않기 때문에 작동합니다.

관련 문제