App Link ์„ค์ •

App Link๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  Android Studio์˜ App Links Assistant๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด Digital Asset Links file ์„ ์ƒ์„ฑํ•œ ํ›„ ์ฝ”๋“œ๋ฅผ ์™€์ด์ฆˆํŠธ๋ž˜์ปค ์„œ๋น„์Šค์— ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Android Studio์˜ Tools ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•œ ํ›„ App Links Assistant๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์šฐ์ธก์— App Links Assistant ํŒจ๋„์ด ์˜คํ”ˆ๋œ ๊ฒƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • ์šฐ์ธก ํŒจ๋„์—์„œ Open URL Mapping Editor ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ Host์™€ Path๋“ฑ์„ ์•„๋ž˜์˜ ์ด๋ฏธ์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. Path์˜ 102 ๋Œ€์‹  ์•ฑ ๋งํฌ๋ฅผ ์‚ฌ์šฉํ•  ์„œ๋น„์Šค์˜ ์„œ๋น„์Šค๋ฒˆํ˜ธ๋ฅผ ๋„ฃ์–ด์ฃผ์„ธ์š”.

  • OK๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  main/AndroidManifest.xmlํŒŒ์ผ์— ์ž…๋ ฅํ•œ ์ •๋ณด๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ์ž…๋ ฅ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

<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="app.wisetracker.co.kr"
       android:pathPattern="/ul/102/"
      /> 
</intent-filter>
  • ์šฐ์ธก ํŒจ๋„์—์„œ Open Digital Asset Links File Generator ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ ํ›„ Preview์˜์—ญ์— ์ œ๊ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณต์‚ฌํ•œ ์ฝ”๋“œ๋ฅผ ์™€์ด์ฆˆํŠธ๋ž˜์ปค ์„œ๋น„์Šค ์„ค์ • > ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • > ๋ฒ”์šฉ ๋งํฌ ์„ค์ •์˜ ์•ˆ๋“œ๋กœ์ด๋“œ App Link์— ์ฒจ๋ถ€๋œ ์ด๋ฏธ์ง€์™€ ๊ฐ™์ด ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค.

  • ์•ฑ ๋งํฌ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” Activity์˜ onCreate ํ•จ์ˆ˜์—์„œ SDK์— ์‹คํ–‰๋œ url์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  parseAppLinkToGetDeeplinkUr ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋™ํ•  ๋”ฅ๋งํฌ ๊ฒฝ๋กœ๋ฅผ ๋ฐ˜ํ™˜๋ฐ›์•„ ํ™”๋ฉด ์ด๋™์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

@Override
protected void onCreate(Bundle savedInstanceState) {
     if( getIntent() != null ){
         // ์•ฑ ์‹คํ–‰ ๊ฒฝ๋กœ ์„ค์ • 
         DOT.setDeepLink(getApplicationContext(),getIntent());
         Uri uri = getIntent().getData();
         if(uri != null){
             // ์•ฑ ๋งํฌ๋ฅผ ํ†ตํ•ด์„œ ์•ฑ์ด ์‹คํ–‰๋œ ๊ฒฝ์šฐ์— ์ด๋™ํ•  ๋”ฅ๋งํฌ ์ฃผ์†Œ ๋ฐ˜ํ™˜ 
             String deepLinkUrlFromApplink = DOT.parseAttributionLinkToGetDeeplinkUrl(uri.toString());
             if(deepLinkUrlFromApplink != null && !deepLinkUrlFromApplink.equals("")){
                 // deepLinkUrlFromApplink ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜๋œ ์œ„์น˜๋กœ ์•ฑ ํ™”๋ฉด ์ด๋™ ์ฒ˜๋ฆฌ. 
             }
         } 
     }
}

Last updated

Was this helpful?