광고 연동하기

    광고 연동하기


    The content is currently unavailable in Ja - 日本語. You are viewing the default Korean version.
    記事の要約

    여러 매체의 광고를 거치게 될때, 딥링크 또는 웹 링크 주소에 쿼리 파라미터를 추가하여 지속적으로 광고를 트래킹 할 수 있습니다.
    아래 예제는 딥링크로 부터 유입된 https://xxxx/yyyy?ak={ACCESS_KEY}&ck={CAMPAIGN_KEY}&utm_source={SOURCE}&utm_medium={MEDIUM}&utm_campaign={CAMPAIGN}&utm_content={CONTENT} 를 가정합니다.

    ShopLive SDK에 쿼리 파라미터 추가하기

    class SceneDelegate: UIResponder, UIWindowSceneDelegate { 
        func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
            guard let urlContext = URLContexts.first else { return }
            let url = urlContext.url
            handleUrl(url : url)
        }
        
        func handleUrl(url : URL) {
            // 1. URLComponents로 URL을 분해
            guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false),
                  let queryItems = components.queryItems else {
                print("No query parameters found.")
                return
            }
    
            // 2. [String: String] 형태로 변환
            let params: [String: String] = queryItems.reduce(into: [:]) { result, item in
                result[item.name] = item.value ?? ""
            }
          
            // 3. 광고 연동에 필요한 query를 ShopLive SDK에 세팅 
            for (key,value) in params {
                 if key == "utm_source" {
                     ShopLiveCommon.setUtmSource(utmSource: value)
                 }
                 else if key == "utm_medium" {
                     ShopLiveCommon.setUtmMedium(utmMedium: value)
                 }
                 else if key == "utm_campaign" {
                     ShopLiveCommon.setUtmCampaign(utmCampaign: value)
                 }
                 else if key == "utm_content" {
                     ShopLiveCommon.setUtmContent(utmContent: value)
                 }
                 else {
                     ShopLive.addParameter(key: key, value: value)
                 }
            }
            ShopLive.play()
        }
    }