# CakeShare

CakeShare は、Cakeday で誕生日データをデバイス間で受け渡しするための共有形式です。

## 個別の共有方法

友だちのプロフィール画面で共有ボタンをタップすると、**リンクで共有** と **ファイルで共有** サブメニューが表示されます：

1. **リンクで共有：** `https://cakeday.wbx1.com/share/<token>` 形式のエンコード済みリンクを生成します。このリンクには名前、日付、カレンダー種別、閏月フラグ、年（記録されている場合）、メモが含まれますが、アバターやグループは含まれません。受信者が Apple デバイスでリンクをタップすると、Cakeday が起動し **誕生日を追加** の確認画面が表示されます（一致する誕生日がすでに保存されている場合は、**このまま追加** ボタン付きの「すでに存在します」警告が表示されます）。共有リンクの制限：名前は最大200文字、メモは最大2,000文字、エンコード後のペイロードは4 KB までです。
2. **ファイルで共有：** サブメニューには **共有ファイルを生成**（保存済みの項目選択でその友だちの `.cakeshare` を書き出す）と **共有内容**（先に含める項目を選ぶシートを開く）があります。初期状態ではアバターのみが含まれ、追加するまで変わりません——下記の **共有内容を選ぶ** を参照してください。

## 共有内容を選ぶ

**共有内容** シートでは、1人の友だちの `.cakeshare` ファイルに含める項目を細かく選べます。

- **常に含まれる：** 名前と誕生日の日付。
- **任意の項目**：プロフィール（アバター、グループ）、出生詳細（出生時刻、出生地、タイムゾーン、アセンダント）、メモにグループ分けされています。その友だちにデータがある項目だけトグルが表示されます。
- **追加情報：** 友だちが手入力した各追加項目（MBTI、占星の配置、アイデンティティなど）を個別に含められます。

プロフィール・出生詳細・メモの選択はデバイスに保存され、次回以降の共有ファイルでも再利用されます。**追加情報** の選択は今回のファイルにのみ適用され、毎回オフから始まります。**保存して生成** で書き出すか、**完了** で書き出さずに選択だけ保存します。

## 共有リンクを開く

受信者が共有リンクをタップした際の動作は、デバイスとブラウザによって異なります：

- **Apple デバイス（Safari またはシステムブラウザ）：** リンクは自動的に Cakeday を開こうとします。アプリがインストールされていない場合、数秒後に App Store へのダウンロードリンクが表示されます。
- **Apple デバイス（アプリ内ブラウザ）：** アプリ内ブラウザ（WeChat、QQ、LINE、Weibo など）ではディープリンクを直接開けません。メニューから「Safari で開く」を選択するようガイドが表示されます。
- **Apple 以外のデバイス：** このリンクには iPhone、iPad、または Mac が必要である旨のメッセージが表示され、App Store リンクが提供されます。

## 共有パッケージ（.cakeshare）

iOS アプリは **`.cakeshare` ファイル1つにつき友だち1人** を書き出します。複数の友だち（アバターやグループを含む）を1つのパッケージにまとめるには、[CakeShare Web ツール](#cakeshare-web-ツール)を使用してください。Cakeday はパッケージ全体を一度にインポートできます。

1人の友だちを共有するとき、送信者は含める項目を選べます（上記「共有内容を選ぶ」を参照）。MBTI や占星術の配置などの **追加情報** 項目は初期状態でオフで、ファイルごとにリセットされます。CakeShare Web ツールではこれらの追加項目は作成しませんが、生成するファイルは同じ形式との互換性を保ちます。

## ファイル保護

エクスポートした `.cakeshare` ファイルは、共有前に常に暗号化されます——ただし、本当の保護を提供するのはパスワードだけです。

- パスワードがない場合、暗号化は内容を分かりにくくするだけで、機密性は保たれません。
- 必要に応じてパスワードを追加でき、受信者はインポート前に入力する必要があります。本当の保護を提供するのはこのモードだけです。
- ファイルやパスワードは、信頼できる手段でのみ共有してください。

## CakeShare Web ツール

[https://cakeday.wbx1.com/cakeshare](https://cakeday.wbx1.com/cakeshare)で、iOS アプリなしでブラウザから `.cakeshare` パッケージを作成できる Web ツールを利用できます。Web ツールでは以下が可能です：

- 名前、日付（西暦または旧暦）、グループ（カラーとアイコン）、アバター、メモを設定して友だちを追加。
- ダウンロード可能なテンプレートを使って CSV からインポート。
- アバターを1024px WebP（最大2 MB）に切り抜き・圧縮。
- オプションのパスワード保護付き `.cakeshare` ファイルとしてエクスポート。

データはブラウザ内で処理され、サーバーには送信されません。

## インポートの流れ

受信者が `.cakeshare` ファイルを開くと、Cakeday の「共有パッケージをインポート」画面が表示されます。

- 友だちのリストが表示され、インポートする友だちを選択できます。
- すでに存在する友だちがいる場合は、重複の警告が表示されます。
