ZenClubで穏やかな体験を作る
ZenClubの体験は、それぞれ独立した小さなウェブアプリです。独自のオリジンからサンドボックス化されたフレーム内で動き、小さなSDKを通じてZenClubと通信します。エンジンやフレームワーク、リリースの進め方は自由です。
全体の仕組み
- プラットフォームはサンドボックス化されたフレームでエントリーURLを開き、自身のオリジンとインスタンスIDをURLのハッシュに渡します。
- コードから
connect()を呼び出します。短いハンドシェイクの後、すべての呼び出しは専用のMessagePortを通ります。フレームからZenClubのサーバーを直接呼び出すことはありません。 - プラットフォームは各呼び出しを、そのバージョンに承認された機能と照合してから、結果を保存、記録、または表示します。
SDKでできること
- 訪問者のテーマ色、ライトまたはダークモード、書体、動きを抑える設定がCSS変数として届き、変更もすぐに反映されます。
- 安全な保存バージョン管理された保存スロットで、リビジョン、競合検出、安全な再試行、自動保存を利用できます。
- 滞在時間の計測体験が実行中かどうかを報告します。時間はプラットフォームが計測するため、自分で数える必要はありません。
- ひとときとバッジ静かなひとときの画像を訪問者に保存してもらい、プラットフォームが確認するバッジを申請できます。
- ヘッダーのアクションサウンド、再起動、ヘルプ、独自の小さなアクションをプラットフォームのヘッダーに配置できます。
- 言語と時刻訪問者の言語とタイムゾーンがコンテキストに含まれるため、その人の言葉で迎えられます。
プライバシーが守られる情報
プラグインにメールアドレス、アカウント識別子、トークン、クッキーが渡ることはありません。コンテキストに含まれるのは、表示名、言語、タイムゾーン、会員ランク、テーマ、任意の音の設定、承認済みの街への記録設定だけです。フレームからポップアップを開いたり、警告ダイアログを表示したり、フォームを送信したり、ページを移動したりすることはできません。
ガイド
- クイックスタートプロジェクトを作成し、テストホストに接続して、最初の進行状況を保存します。
- マニフェストと権限自分が何者か、どこで動くか、必要な機能を宣言します。
- SDKリファレンスクライアントSDKのすべてのメソッド、オプション、上限、エラーコードを確認します。
- ライフサイクルと保存ハンドシェイク、一時停止と再開、接続維持の報告、リビジョン、再試行を説明します。
- ホスティングと審査体験をホストし、審査を通過して、新しいバージョンを安全にリリースします。
SDKの入手
@zenclub/sdkはTypeScript型を含む依存関係のないESモジュールパッケージです。共同で取り組むクリエイターに提供しています。アイデアをお問い合わせいただければ、最新リリースと審査枠をご案内します。