Skip to content

[Feat] 초대 링크 공유·진입 — 공유 시트 · Associated Domains · 링크 파싱 · 상세 진입 #100

Description

@jeonguk29

📸 About

초대 링크 기능의 양끝 — 공유(방 상세 팝오버에서 링크를 공유 시트로 보냄)와 진입(카톡 등에서 링크를 누르면 앱이 그 방으로 들어감). 한 시나리오로 실기기 검증해야 끝나는 일이라 한 이슈로 묶는다.

서버(앱 링크) 준비 완료:

  • 도메인: challa.stellaris.co.kr (Associated Domains: applinks:challa.stellaris.co.kr)
  • 초대 링크: https://challa.stellaris.co.kr/invite/{초대코드}
  • 앱이 없으면 서버 웹 페이지로 리다이렉트 → 플랫폼별 마켓 선택 (서버가 구현, 옵션 1)

시안: 팝오버 공유 아이콘 7522-35546 · 공유 7522-40309 — 시안의 카카오톡 드로어 대신 시스템 공유 시트로 결정.

🍦 TO-DO LIST

Domain

  • RoomDomain에 초대 링크 규칙 InviteLink — 코드 → URL(공유가 씀) · URL → 코드(진입이 씀). 순수 함수 + 유닛테스트

공유 (방 상세)

  • ShareNetwork 아이콘 추가, CHALLAProfileBar 복사 아이콘 → 공유 아이콘·onShareInviteCode 콜백
  • 공유 아이콘 탭 → 시스템 공유 시트(UIActivityViewController)에 초대 링크. 복사(CopyToPasteboard) 경로 정리 + 테스트

진입 (App)

  • CHALLAApp.entitlements · CHALLAApp.Release.entitlements 양쪽에 com.apple.developer.associated-domains = applinks:challa.stellaris.co.kr
  • 서버 AASA(/.well-known/apple-app-site-association)에 TEAMID.번들ID/invite/* 경로가 실렸는지 확인 (백엔드와 확인)
  • CHALLAApp에서 onContinueUserActivity(NSUserActivityTypeBrowsingWeb)로 링크를 받아 AppFeature에 전달
  • AppFeature — 초대 코드로 입장(JoinRoomUseCase) 후 방 상세 진입. 로그인 전·프로필 미설정이면 코드를 보관했다가 홈에 도달한 뒤 처리 (콜드 스타트)
  • 이미 들어간 방·없는 코드·네트워크 실패 처리 (얼럿 문구는 기획 확인) + 테스트

💬 기타 사항

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions