게시물을 공유하여 Discourse Hub 앱에서 열기

예를 들어 WhatsApp에서 게시물 링크를 공유하면, 관련 포럼이 연결된 상태의 Discourse Hub 앱이 설치되어 있음에도 불구하고 앱이 아닌 휴대폰 브라우저에서 열립니다. 이로 인해 사용자는 앱 대신 휴대폰 브라우저를 통해 다시 로그인해야 합니다.
링크를 앱으로 연결되도록 공유할 방법이 있을까요?

정확히 어떻게 작동하는지 잘 모르겠는데, @pmusaraj 님은 아세요?

저희 iOS 앱에는 공유 확장 기능이 있습니다. 대부분의 앱에서 링크를 공유할 때 다음과 같은 화면이 표시됩니다:

WhatsApp에서 이 공유 다이얼로그가 표시되도록 한다면, 링크를 저희 앱으로 보낼 수 있습니다. 하지만 제 폰에서는 WhatsApp으로 그렇게 할 수 없는 것 같습니다.

@gordon_mrmoco 님은 WhatsApp(또는 문자 메시지나 기타 앱)에서 링크를 클릭했을 때 Discourse Hub가 자동으로 열리기를 원하시는 것 같습니다.

이것은 Android의 경우 App Links(https://developer.android.com/training/app-links/)를 통해, iOS의 경우 Universal Links(App Search Programming Guide: Support Universal Links)를 통해 가능할 것으로 보입니다.

Android의 경우: https://developer.android.com/studio/write/app-link-indexing

Android App Links는 사용자를 Android 앱의 특정 콘텐츠로 직접 연결하는 HTTP URL입니다. Android App Links는 앱으로의 트래픽을 늘리고, 가장 많이 사용되는 앱 콘텐츠를 파악하는 데 도움을 주며, 설치된 앱 내에서 콘텐츠를 공유하고 찾는 과정을 더 쉽게 만들어 줍니다.

Android App Links 지원을 추가하려면:

  1. 매니페스트에 인텐트 필터를 생성합니다.
  2. 수신 링크를 처리하도록 앱의 액티비티에 코드를 추가합니다.
  3. Digital Asset Links를 사용하여 앱과 웹사이트를 연결합니다.

Android Studio 2.3 이상에 포함된 App Links Assistant는 아래에 설명된 대로 단계별 마법사를 통해 이 과정을 단순화합니다.

iOS의 경우:

웹사이트와 앱 간의 안전한 연결을 설정하려면, 그들 간의 신뢰 관계를 수립해야 합니다. 이 관계는 두 부분으로 이루어져 있습니다:

설정하기가 그렇게 어렵지 않아 보이지만, Discourse 팀에서 설정해야 할 것 같고, 일단 설정이 완료되면 Discourse Hub가 설치되어 있을 경우 링크가 자동으로 Discourse Hub에서 열리도록 할 수 있을 것입니다.

수정: Discourse 팀에서 반드시 처리할 필요는 없으며 PR으로 해결할 수도 있을 것 같습니다 :slightly_smiling_face:

사실, 이는 DiscourseHub 앱에서 구현하기가 어렵습니다. com.apple.developer.associated-domains 권한에 수천 개의 Discourse 사이트 도메인 이름을 추가해야 하기 때문입니다… Universal Links 시스템은 수천 개의 도메인이 아니라 소수의 도메인을 앱과 연결하도록 설계되어 있어, 이를 위해 만들어지지 않았습니다.

(안드로이드에서는 PWA로 기본 설정에서 작동해야 합니다.)

아, 아쉽네 :confused: 이 기능이 Android PWA에서 동작한다면, 향후 iOS PWA에서도 동작할 가능성이 있을까?