수색…


소개

딥 링크는 사용자를 앱의 특정 콘텐츠로 바로 연결하는 URL입니다. 인 텐트 필터를 추가하고 들어오는 인 텐트에서 데이터를 추출하여 앱에서 올바른 화면으로 사용자를 유도하여 딥 링크를 설정할 수 있습니다.

매개 변수

<data> 특성 세부
계획 URI의 스키마 부분 (대소 문자 구분). 예 : http , https , ftp
숙주 URI의 호스트 부분 (대소. 자 구분). 예 : google.com , example.org
포트 URI의 포트 부분. 예 : 80 , 443
통로 URI의 경로 부분입니다. / 시작해야합니다. 예 : / , /about
pathPrefix URI의 패스 부분의 접두사. 예 : /item , /article
경로 패턴 URI의 경로 부분에 일치시킬 패턴입니다. 예 : /item/.* , /article/[0-9]*
mimeType 일치시킬 MIME 유형입니다. 예 : image/jpeg , audio/*

비고

<intent-filter>

<action> 요소와 <category> 요소의 조합은 사용자가 다른 애플리케이션의 링크를 클릭 할 때 특정 활동이 시작되어야한다는 것을 Android 시스템에 알려주는 역할을합니다.

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data ... />

</intent-filter>

여러 개의 <data> 태그

<intent-filter> 지원하는 딥 링크 세트는 해당 인 텐트 필터에 정의한 모든 <data> 요소의 외적입니다. 다중 도메인, 다중 경로 및 다중 구성표 예제는이를 보여줍니다.

자원

간단한 딥 링크

AndroidManifest.xml :

<activity android:name="com.example.MainActivity" >
    
    <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:scheme="http"
              android:host="www.example.com" />

    </intent-filter>

</activity>

이렇게하면 MainActivity 를 시작하기위한 딥 링크로 http://www.example.com 으로 시작하는 모든 링크가 허용됩니다.

단일 도메인의 다중 경로

AndroidManifest.xml :

<activity android:name="com.example.MainActivity" >
    
    <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:scheme="http"
              android:host="www.example.com" />

        <data android:path="/" />
        <data android:path="/about" />
        <data android:path="/map" />

    </intent-filter>

</activity>

사용자가 다음 링크 중 하나를 클릭하면 MainActivity 가 실행됩니다.

  • http://www.example.com/
  • http://www.example.com/about
  • http://www.example.com/map

다중 도메인 및 다중 경로

AndroidManifest.xml :

<activity android:name="com.example.MainActivity" >

    <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:scheme="http"
              android:host="www.example.com" />
    
        <data android:scheme="http"
              android:host="www.example2.com" />
    
        <data android:path="/" />
        <data android:path="/map" />
    
    </intent-filter>

</activity>

사용자가 다음 링크 중 하나를 클릭하면 MainActivity가 실행됩니다.

  • http://www.example.com/
  • http://www.example2.com/
  • http://www.example.com/map
  • http://www.example2.com/map

동일한 도메인의 http와 https 모두

AndroidManifest.xml :

<activity android:name="com.example.MainActivity" >

    <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:scheme="http" />
        <data android:scheme="https" />
    
        <data android:host="www.example.com" />
    
        <data android:path="/" />
        <data android:path="/map" />
    
    </intent-filter>

</activity>

사용자가 다음 링크 중 하나를 클릭하면 MainActivity가 실행됩니다.

  • http://www.example.com/
  • https://www.example.com/
  • http://www.example.com/map
  • https://www.example.com/map

쿼리 매개 변수 검색

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    
        Intent intent = getIntent();
        Uri data = intent.getData();

        if (data != null) {
            String param1 = data.getQueryParameter("param1");
            String param2 = data.getQueryParameter("param2");
        }
    }

}

사용자가 http://www.example.com/map?param1=FOO&param2=BAR 의 링크를 클릭하면 param1 의 값은 "FOO" 이고 param2 의 값은 "BAR" 됩니다.

pathPrefix 사용하기

AndroidManifest.xml :

<activity android:name="com.example.MainActivity" >

    <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:scheme="http"
              android:host="www.example.com"
              android:path="/item" />
    
    </intent-filter>

</activity>

이렇게하면 사용자가 http://www.example.com/item 시작하는 링크를 클릭 할 때 MainActivity가 실행됩니다. 예 :

  • https://www.example.com/item
  • http://www.example.com/item/1234
  • https://www.example.com/item/xyz/details


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow