ZenClub을 위한 고요한 경험 만들기
ZenClub의 각 경험은 독립된 작은 웹 앱이에요. 자체 출처의 샌드박스 프레임에서 실행되고, 작은 SDK 하나로 플랫폼과 통신해요. 엔진과 프레임워크, 배포 주기는 직접 선택할 수 있어요.
구성 방식
- 플랫폼은 샌드박스 프레임에서 시작 URL을 열고, URL 해시에 자체 출처와 인스턴스 ID를 전달해요.
- 코드에서
connect()를 호출해요. 짧은 핸드셰이크가 끝나면 모든 호출은 비공개MessagePort를 통해 전달돼요. 프레임이 ZenClub 서버를 직접 호출하지는 않아요. - 플랫폼은 정확한 버전에 승인된 기능과 각 호출을 대조한 다음, 결과를 저장하거나 기록해 보여줘요.
SDK가 제공하는 기능
- 방문자의 테마색상, 밝거나 어두운 모드, 글꼴, 동작 줄이기가 CSS 변수로 전달되고 실시간으로 업데이트돼요.
- 안전한 저장버전이 지정된 저장 슬롯과 리비전, 충돌 감지, 안전한 재시도, 자동 저장을 제공해요.
- 측정되는 이용 시간경험이 실행 중인지 보고하면 플랫폼이 시간을 측정해요. 직접 시간을 셀 필요가 없어요.
- 순간과 배지방문자가 고요한 순간의 사진을 간직하도록 하고, 플랫폼에서 확인하는 배지를 요청할 수 있어요.
- 헤더 동작소리, 다시 시작, 도움말과 직접 만든 간단한 동작을 플랫폼 헤더에 배치해요.
- 언어와 시간방문자의 언어와 시간대가 컨텍스트에 포함되므로, 경험에서 그들의 언어로 인사할 수 있어요.
비공개로 유지되는 정보
플러그인은 이메일 주소, 계정 식별자, 토큰 또는 쿠키를 받지 않아요. 문맥에는 표시 이름, 언어, 시간대, 멤버십 등급, 테마, 선택형 소리 설정과 승인된 도시 기록 선택만 담겨요. 프레임은 팝업을 열거나 알림 대화상자를 표시하거나 양식을 제출하거나 페이지를 다른 곳으로 이동할 수 없어요.
가이드
- 빠른 시작프로젝트를 만들고 테스트 호스트에 연결해 첫 진행 상황을 저장해요.
- 매니페스트와 권한신원과 위치, 필요한 기능을 선언해요.
- SDK 참조클라이언트 SDK의 모든 메서드, 옵션, 제한, 오류 코드를 살펴봐요.
- 수명 주기와 저장핸드셰이크와 일시 정지 및 재개, 연결 유지 보고, 리비전과 재시도를 알아봐요.
- 호스팅과 검토경험을 호스팅하고 검토를 통과해 새 버전을 안전하게 배포해요.
SDK 받기
@zenclub/sdk는 TypeScript 타입을 포함한 의존성 없는 ES 모듈 패키지예요. 함께 작업하는 제작자에게 제공해요. 아이디어를 문의해 주시면 현재 릴리스와 검토 일정을 보내드릴게요.