콘텐츠로 이동

iOS

iOS용 SDK에서 프로모션 기능을 사용하기 위한 설정을 안내합니다.

프레임워크 추가

프로젝트 디렉토리의 Podfile에 프레임워크를 추가합니다.

pod 'HivePromotion', $HIVE_SDK_VERSION # 프로모션 기능 사용을 위한 프레임워크

위와 같이 프레임워크를 추가한 Podfile을 저장한 후, 아래 명령어를 실행하여 프로젝트에 프레임워크를 설치합니다.

pod install

딥링크 사용하기

딥링크는 유저가 앱 실행하면 앱 특정 위치로 이동시키는 링크입니다. 프로모션 유저 인게이지먼트에서 딥링크 스킴에 대한 처리를 지원합니다.

  1. Xcode 프로젝트 창의 프로젝트 네비게이터에서 여러분의 프로젝트를 선택하세요.
  2. TARGETS 목록에서 여러분의 앱을 선택하세요.
  3. Info 탭을 클릭하세요.
  4. Info 탭 안의 URL Types 항목을 클릭하세요.
  5. + 아이콘을 클릭하여 Additional url type properties 항목을 생성하세요.
  6. Additional url type properties 항목 아래 Identifier 필드와 URL Schemes 필드에 여러분의 AppID를 입력하세요.

아래의 코드로 HTML 페이지를 생성 후 게임이 설치된 앱에서 해당 페이지를 띄우는 방식으로 URL Scheme 동작을 테스트 할 수 있습니다. 단, 링크의 주소는 딥링크 설정 시 설정한 URL과 동일한 값이어야 합니다.

<a href="com.com2us.myapp://">TEST</a>

유니버설 링크 사용하기

유니버설 링크를 사용하면 초대 페이지를 통한 앱 최초 설치 및 실행, 초대자 보상을 할 수 있습니다. SDK애서는 URI Scheme 기반 디퍼드 딥링크와 유니버셜 링크 기반 디퍼드 딥링크를 모두 지원합니다.

공통 설정

유니버설 링크를 사용하기 위한 공통 설정을 설명합니다.

서버 설정

  1. 아래 나열된 값을 긱 환경에 맞게 작성하여 apple-app-site-association 파일로 저장합니다.
    • TEAM ID: Apple 개발자 콘솔에서 조회한 TEAM ID
    • Bundle Identifier: 유니버셜 링크를 사용하려는 앱의 번들 ID
    • URL Path: 유니버셜 링크를 지원할 HTTP URL
  2. apple-app-site-association 파일을 웹 서버의 루트, 또는 .well-known의 서브 경로에 업로드합니다. apple-app-site-association 파일 형식은 JSON으로, 확장자를 만들지 않습니다.

    apple-app-site-association 파일 예시는 아래와 같습니다.

    {
        "applinks": {
                "apps": [],
                "details": [
                        {
                                "appID": "--TEAM ID.--Bundle Identifier",
                                "paths": ["--URL Path"]
                        }
                ]
        }
    }
    

    Apple에서 제공한 apple-app-site-association 파일 예시는 아래와 같습니다.

    {
        "applinks": {
                "apps": [],
                "details": [
                        {
                                "appID": "9JA89QQLNQ.com.apple.wwdc",
                                "paths": ["/wwdc/news/", "/videos/wwdc/2015/*"]
                        }, {
                                "appID": "ABCD1234.com.apple.wwdc",
                                "paths": ["*"]
                        }
                ]
        }
    }
    

iOS 앱 설정하기

Xcode 프로젝트에서 아래의 순서로 iOS 앱을 설정합니다.

  1. Xcode 프로젝트 네비게이터에서 유저 프로젝트를 선택합니다.
  2. TARGETS 목록에서 유저 앱을 선택힙니다.
  3. Signing & Capabilities 탭을 클릭합니다.
  4. Signing & Capabilities 탭 좌측 상단에 있는 + Capability 버튼을 클릭합니다.
  5. 목록에서 Associated Domains를 선택해 추가합니다.

    applinks:[apple-app-site-association]가 업로드된 도메인 예시: applinks:hive-ota.withhive.com
    6. Apple 개발자 콘솔에서 앱의 Capabilities에 Associated Domain을 활성화합니다.

UA 디퍼드 딥링크 사용하기

디퍼드 딥링크를 사용하면 유니버설 링크 기반의 초대 링크 실행과 초대자 보상을 할 수 있습니다.

디퍼드 딥링크를 사용하려면 UIPasteboard 붙여넣기 시스템 권한이 필요하며 디퍼드 딥링크 형태의 초대 링크는 아래와 같이 동작합니다.

  • 초대받은 유저가 초대 링크로 앱을 최초 설치 및 실행 시 iOS 16.1 미만에서는 토스트 팝업이, iOS 16.1 이상에서는 시스템 권한 요청 팝업이 노출될 수 있습니다.
    • 시스템 권한 요청 팝업을 노출하지 않으려면 콘솔 가이드의 프로모션 설정을 참고하여 디퍼드 딥링크 설정을 미사용으로 선택하세요.

      iOS 16.1 미만

      iOS 16.1 이상
Note

유니버설 링크 기반의 초대자 링크 생성을 위한 추가 콘솔 설정은 콘솔 가이드 > 프로모션 > 초대 캠페인 등록 및 관리를 참고하세요.
시스템 권한 요청 팝업의 문구는 개발자가 임의로 수정할 수 없습니다.


Xcode 프로젝트 설정

디퍼트 딥링크 사용을 위해 아래와 같이 Xcode 프로젝트를 설정합니다.

  1. Xcode 프로젝트의 메인 TARGETS 을 선택합니다.
  2. Signing & Capabilities 탭의 Associated Domains 항목에서 아래와 같이 Domains를 설정합니다.

    • applinks:sandbox-promotion.qpyou.cn: 샌드박스 서버 환경에서 동작하는 유니버셜 링크 도메인
    • applinks:promotion.qpyou.cn: 상용 서버 환경에서 동작하는 유니버셜 링크 도메인

hive_config.xml 설정하기

디퍼트 딥링크 사용을 위해 SDK 내 hive_config.xml 파일에 아래의 코드을 추가합니다.

<universalLink>유니버셜 링크 주소(Domain/Path) </universalLink>

다이렉트 링크 사용하기

다이렉트 링크는 사용자가 클릭했을 때 (게임 앱을 설치 후) 게임 앱 내 특정 위치로 이동시키거나, 특정 웹뷰를 노출하여 유저 참여를 유도하는 URL입니다.

다이렉트 링크를 통해 사용자가 이동하는 목적지 주소는 하이브 콘솔 > 다이렉트 링크 관리에서 설정하며, 마켓플레이스, 게임 앱 내 특정 위치(딥링크), 특정 웹뷰와 같은 다양한 목적지를 유저의 OS 환경에 맞추어 유연하게 설정할 수 있습니다.

다이렉트 링크를 적용했을 때 게임 앱과 연동한 동작 순서는 아래와 같습니다.

  1. 다이렉트 링크를 다양한 목적지 링크로 공유 (마켓 링크, 딥링크, 웹 URL)
  2. 유저가 다이렉트 링크를 클릭 시, 하이브 콘솔 > 다리렉트 링크 관리에서 설정한 목적지에 따라 아래와 같이 동작
    • 마켓 이동 : 유저의 게임 앱 설치 상태와 관계 없이 하이브 콘솔 > 다이렉트 링크 관리에서 설정한 마켓 링크로 이동
    • 앱 내 이동(딥링크)
      • 유저 환경에 게임 앱이 설치되어 있는 경우: 개임 앱 내 지정된 위치(스킴 딥링크)도 이동
      • 유저 환경에 게임 앱이 설치되어 있지 않은 경우: 유저의 각 OS 환경에서 지원하는 마켓의 게임 앱 설치 위치 혹은 딥링크 생성 시 설정한 미설치자 이동 URL 로 이동
    • 웹 URL : 유저의 게임 앱 설치 상태와 관계 없이, 게임 외부의 특정 웹뷰로 이동
  3. 유저가 '게임 앱 실행 > 로그인 > 유저 참여(UE) SetReady 동작' 순서로 진행하면 게임 앱에서는 링크 정보에 포함된 이벤트가 실행됨(관련 기능 수행 또는 UI 노출, UE에 정의한 커스텀 기능 수행 등)
Warning

유저 환경에 게임 앱이 설치되어 있지 않은 경우, Hive SDK 버전에 띠른 다이렉트 링크 동작에 관한 주의 사항은 아래와 같습니다.

  • Hive SDK v4 25.10.0 미만
    • 다이렉트 링크를 클릭한 유저의 단말기에 게임 앱 설치를 유도하나, 설치 직후 바로 개임 앱울 실행하면 다이렉트 링크 정보가 전달되지 않습니다.
    • 게임 앱 설치가 완료된 후 다이렉트 링크를 다시 클릭하면 게임 앱 실행과 동시에 다이렉트 링크 정보가 게임 앱에 전달됩니다. 이후 이벤트가 수행됩니다.
  • Hive SDK v4 25.10.0 이상
    • 다이렉트 링크를 클릭한 유저의 단말기에 게임 앱 설치를 유도하고, 설치 직후 바로 게임 앱을 실행하면 다이렉트 링크는 아래와 같이 두가지 방식으로 동작합니다.
      • 게임 앱에서는 다이렉트 정보 획득을 위해 Hive SDK의 프로모션 서버와 통신합니다. 프로모션 서버는 다이렉트 링크를 최초 클릭한 유저의 단말 이력과 통신 정보를 확인하여 적절한 다이렉트 링크 정보를 게임 앱에 클라이언트에 전달합니다. 이후 이벤트가 수행됩니다.
      • 게임 앱 설치가 완료된 후 다이렉트 링크를 다시 클릭하면 게임 앱 실행과 동시에 다이렉트 링크 정보가 게임앱에 전달됩니다. 이후 이벤트가 수행됩니다.


Xcode 프로젝트 설정

iOS 타겟 Hive SDK에서 다이렉트 링크 기능을 적용하려면 아래 순서로 Xcode 프로젝트 를 설정하세요.

  1. Xcode 프로젝트의 메인 TARGETS 을 선택합니다.
  2. Signing & Capabilities 탭의 Associated Domains 항목에서 아래와 같이 Domains를 설정합니다.

    • applinks:sandbox-direct-link.withhive.com: 샌드박스 서버 환경에서 동작하는 다이렉트 링크 기능의 유니버설 링크 도메인
    • applinks:direct-link.withhive.com: 상용 서버 환경에서 동작하는 다이렉트 링크 기능의 유니버설 링크 도메인