Universal Link ์„ค์ •

Universal ๊ธฐ๋ณธ ์„ค์ •

  • Universal Link๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด XCODE ํ”„๋กœ์ ํŠธ Capabilities์— Associated Domains๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ์„ธ์š”.

associated Domains์— WiseTracker ์„œ๋น„์Šค ๋„๋ฉ”์ธ์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค

  • ์ผ๋ฐ˜ ์–ดํŠธ๋ฆฌ๋ทฐ์…˜๋งํฌ > applinks:app.wisetracker.co.kr

  • ๋‹จ์ถ•๋งํฌ ์‚ฌ์šฉ์‹œ > applinks:wtl.im

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

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "paths": ["/ul/์ ์šฉํ•  ์„œ๋น„์Šค๋ฒˆํ˜ธ/*"], // ex) ["/ul/102/*"]
        "appID": "TeamID.BundleID" // ex) "P8KRZA7924.com.wisetracker.RW"
      }
    ]
  }
}

์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •

ํ”„๋กœ์ ํŠธ ๋‚ด appDelegate.m ํŒŒ์ผ์— continueUserActivity๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š” application ํ•จ์ˆ˜์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ ์šฉ์ด ๋˜๋ฉด ์œ ๋‹ˆ๋ฒ„์…œ ๋งํฌ๋ฅผ ํ†ตํ•œ ๊ด‘๊ณ ๋ถ„์„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    // ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ ์šฉํ•ด์ฃผ์„ธ์š”
    if let uniLink = userActivity.webpageURL?.absoluteString {
        DOT.setDeepLink(uniLink)
        let landingUri :String = DOT.parseAttributionLink(toGetDeeplinkUrl: uniLink)
       
         // ๋ฆฌํ„ด๋ฐ›์€ landingUri๊ฐ’(DeepLink Sheme)์œผ๋กœ ํ™”๋ฉด ์ง„์ž… ๋กœ์ง ๊ตฌํ˜„(๊ธฐ์กด open url์—์„œ ์‚ฌ์šฉํ•˜๋˜ ํ™”๋ฉด ์ด๋™ ๋กœ์ง๊ณผ ๋™์ผํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด ๋จ)
    }
    //
    return false;
 }

Last updated

Was this helpful?