Programming/WWDC

What's New in Universal Links 정리 - WWDC2019

devssun 2020. 4. 21. 00:10
728x90
반응형

What's New in Universal Links - WWDC2019

What's New in Universal Links - WWDC 2019 - Videos - Apple Developer

Overview

범용 링크는?

  • 웹과 앱에서 콘텐츠를 나타낼 수 있는 URL을 말합니다. 사용자가 앱을 설치했다면 앱으로, 없다면 웹으로 이동하게 됩니다.
  • iOS, tvOS, macOS의 앱에서 사용 가능
  • 앱과 웹 사이트 간 안전한 연결
  • 사용자 정의 URL Scheme을 사용하는 경우 유니버설 링크로 마이그레이션 하는 것이 좋음 (사용자 정의 URL 체계는 안전하지 않음)

Configuring Web Server: 웹 서버 구성하기

  • 유효한 HTTP 인증서가 있어야 함 (HTTP는 안전하지 않아 앱과 웹 사이트 간의 연결을 확인하는 데 사용할 수 없음)
  • 인증서를 생성하고 서버를 구성한 후 apple-app-site-association 파일 추가 (JSON 형식)
    • 해당 파일은 https:// your domain name/.well-known/apple-app-site-association 에 위치해야 함, 다른 경로는 더 이상 사용하지 않음
    • apple-app-site-association 파일에 서명 하지 말 것

apple-app-site-association 파일 서식 변경

  • apps: []

    • 변경 사항 - iOS 13, tvOS 13, macOS 10.15를 대상으로 하는 경우 apps 키는 제거 가능
    • iOS 12, tvOS 12 또는 이전 버전에 대한 지원을 계속 제공하는 경우 필요, 범용 링크에서는 빈 배열로 둔다.
  • details

    • appID - "Team ID.Bundle ID" 로 구성

      • 변경 사항 - 여러 앱이 있는 경우 appIDs 로 변경하고 배열로 작성한다.
      • 이전 릴리즈를 지원해야 하는 경우 각 앱마다 단일 appID 키를 계속 사용해야 함
    • paths

      • 변경 사항 - paths 키를 components 키로 변경

        이전 릴리즈를 지원해야 하는 경우 path 키 유지 가능

      • components 키에 대한 예제는 영상 참고 (07:32~)

Configuring Your App

macOS Differences

  • 기본으로 브라우저에서 열림, 사파리에서 사용자에게 앱에서 열 수 있는 옵션을 제공하며 옵션을 선택하면 이후에 계속 앱에서 링크가 열린다.

  • 앱은 로컬 볼륨에 설치되어야 한다.

  • 앱 스토어에서 배포된 앱을 추천함, 앱을 설치하거나 업데이트하면 시스템은 apple-app-site-association 파일을 다운한다.

  • 개발자 ID로 서명된 경우 앱을 한번 이상 실행해야 함, 범용 링크는 앱 식별자와의 안전한 연결이 뒷받침되므로 지정된 앱의 사본 하나만 mac에서 범용 링크를 처리할 수 있다.

  • macOS에서 범용 링크를 열기 위한 API

Best Practices

  • 우아하게 실패하기 (Fail gracefully)

    • 오래되거나 유효하지 않거나, 존재하지 않는 콘텐츠를 나타내는 URL이 제공될 수 있음, 응용 프로그램에서 범용 링크를 열 수 없다고 판단되면 Safari View Controller 에서 해당 링크를 열 수 있다.
      → 사용자가 앱에 계속 참여하게 된다.
    • Safari View Controller 가 옵션이 아닌 경우 Safari에서 URL을 열거나 최소한 문제에 대한 세부 정보를 묻는 메시지 표시
      → 빈 화면으로 사용자를 보내지 마라
  • Use the Smart App Banner

    • 웹 사이트에 Smart App Banner를 이용하여 App Store 또는 컨텐츠에 대한 링크 제공

  • Feedback is appreciated!

    • 범용 링크를 개선할 수 있는 방법에 대한 피드백!!
반응형