Expo プロジェクトの公開状態を設定する privacy プロパティの挙動
バージョン: Expo SDK 39
Expo は publish したプロジェクトの公開状態を app.json / app.config.js の privacy プロパティで設定できる。
{
"expo": {
"privacy": "hidden",
...ドキュメントの説明だけでは、具体的に他のユーザーにどう見えるのか分かりづらかったので、 ログインしていない状態で以下のページにアクセスした時の挙動を調査した。
- プロジェクト一覧: ユーザーのプロジェクト一覧ページ (例:
https://expo.io/@chocoby) - プロジェクト詳細: ユーザーのプロジェクト詳細ページ (例:
https://expo.io/@chocoby/awesome-project)
結果
unlisted (デフォルト) |
hidden |
public |
|
|---|---|---|---|
| プロジェクト一覧 | 表示されない | 表示されない | 表示される |
| プロジェクト詳細 | 表示される | 表示されない | 表示される |
unlisted について
expo initした直後など、privacyプロパティを指定しない場合はunlistedがデフォルトとなる。- オーナーのプロジェクト一覧にはプロジェクト名の横に「非公開」のような趣旨のアイコンが表示される。なぜか
hiddenでは表示されない。
hidden について
- プロジェクト詳細に表示されている QR コードを共有するか「Request a link」でメールアドレスや電話番号 ((日本国内に送れるかは試していない)) にリンクを送ることで Expo Client からプロジェクトを開ける。
- 送られてくる URL は
https://expo.io/--/to-exp/exp%3A%2F%2Fexp.host%2F%40[username]%2F[project-url-slug]という構成なので推測可能なのは注意。 - ドキュメントには「
hiddenrestricts access to the project page to only the owner and other users that have been granted access. 」と書いているが、どこから他のユーザーを招待するのか分かっていない。