Table of Contents
はじめに
みなさんこんにちは、フロントエンドチーム「雅」の浦田です。
今回は面倒なApp Store情報の更新を便利にしてくれるEAS Metadataについてご紹介したいと思います。
Expoを使ってる方はご存知かと思いますが、ExpoにはEAS(Expo Application Services)というクラウドサービスがあり、EAS Build/EAS Submit/EAS Updateなどアプリ配信するためのさまざまな便利サービスがあります。
その一つのEAS Metadaについての記事になります。
EAS Metadataとは?
EAS Metadataは、Expoアプリをリリースする際のApp Store情報をコード化して管理、CLIで更新を自動化できるツールです。store.config.jsonファイルをプロジェクトに追加することで、わざわざApp Store Connectを開かずにApp Store情報を更新することができます。既存のアプリからstore.config.jsonを生成することもできます。
VS Codeを使用している場合は、VS Code Expoプラグインをインストールすることで、store.config.jsonファイルでの自動補完やサジェスト、警告が出るようになります。
まずは普通にApp Store情報を入力する
いきなりstore.config.jsonを作成してApp Store情報を入力させることもできますが、なんのプロパティを入力すれば良いか一つ一つ調べてstore.config.jsonを埋めていくのは効率が悪いので、まずは普通に App Store Connectにアクセスして必要箇所を埋めていくことをおすすめします。
store.config.jsonを作成する
App Store Connectでの入力が終わったらプロジェクトルートで以下コマンドを実行してstore.config.jsonを作成します。
eas metadata:pull
すると以下のようなstore.config.jsonが生成されます(例は私が趣味でやっている個人開発アプリの情報です)。
{
"configVersion": 0,
"apple": {
"version": "1.0.3",
"copyright": "Daiki Urata",
"release": {
"automaticRelease": true
},
"info": {
"en-US": {
"description": "Prompt Manager is a prompt management tool designed for conversational AI.\nIt mainly offers the following features:\n\n1. Save frequently used prompts.\n2. Easily copy saved prompts.\n3. Generate dynamic prompts using forms.\n4. View the history of used prompts.\n",
"keywords": [
"ChatGPT",
"prompt",
"AI",
"chatbot",
"Generative AI"
],
"releaseNotes": "- Minor bug fixes\n",
"supportUrl": "https://prompt-manager.studio.site/",
"title": "Prompt Manager",
"subtitle": "Manage prompts for AI chatbots",
"privacyPolicyUrl": "https://prompt-manager-app.web.app/privacy-policy.html"
},
"ja": {
"description": "Prompt Managerは対話型AIのためのプロンプト(命令文)管理ツールです。\n主に以下のような機能を提供しています。\n\n1. よく使うプロンプトの保存\n2. 保存したプロンプトの簡単コピー\n3. フォームによる動的なプロンプト生成\n4. プロンプトの使用履歴の確認\n",
"keywords": [
"ChatGPT",
"prompt",
"AI",
"対話型AI",
"プロンプト",
"命令文",
"管理ツール",
"生成AI",
"Generative AI"
],
"releaseNotes": "- 軽微なバグ修正\n",
"supportUrl": "https://prompt-manager.studio.site/",
"title": "Prompt Manager - 対話型AIのプロンプト管理",
"subtitle": "対話型AIのためのプロンプト(命令文)管理ツール",
"privacyPolicyUrl": "https://prompt-manager-app.web.app/privacy-policy.html"
}
},
"categories": [
"PRODUCTIVITY",
"UTILITIES"
],
"advisory": {
"alcoholTobaccoOrDrugUseOrReferences": "NONE",
"contests": "NONE",
"gamblingSimulated": "NONE",
"horrorOrFearThemes": "NONE",
"matureOrSuggestiveThemes": "NONE",
"medicalOrTreatmentInformation": "NONE",
"profanityOrCrudeHumor": "NONE",
"sexualContentGraphicAndNudity": "NONE",
"sexualContentOrNudity": "NONE",
"violenceCartoonOrFantasy": "NONE",
"violenceRealistic": "NONE",
"violenceRealisticProlongedGraphicOrSadistic": "NONE",
"gambling": false,
"unrestrictedWebAccess": false,
"kidsAgeBand": null,
"seventeenPlus": false
},
"review": {
"firstName": "Daiki",
"lastName": "Urata",
"email": "prompt.manager@example.com",
"phone": "+81 00 0000 00000",
"demoRequired": false
}
}
}
このように英語(en-US)と日本語(ja)の情報を分けて書くこともできますし、アプリの説明文やリリースノートもここで更新することができます。
入力可能な各プロパティはドキュメント を参照してください。
EAS MetadataでApp Store情報を更新する
EAS Submitなどで新しくビルドしたバイナリをアップロードした後に、store.config.jsonを編集して新しいApp Store情報を反映させます。その場合は以下コマンドを実行します。
eas metadata:push
コマンドが成功したら、App Store Connectへアクセスして確認すると無事に更新されているはずです。
その他制約など(2023/10/4時点)
EAS Metadataはリリースされたばかりなので、まだまだ制約があります。
- 現時点ではGoogle Play StoreはEAS Metadataではサポートされていません
- EAS Metadataはまだベータ版のため、今後は破壊的変更がされる可能性があります
- EAS MetadataでApp Store情報を更新するためには、先に新しいバイナリをアップロードする必要がある
- EAS Metadataで更新できない情報もある(iOSのプレビューとスクリーンショット部分など)
おわりに
簡単ではありますが、EAS Metadataの使い方を紹介しました。
App Storeの情報をコード化することで、Gitで差分や履歴を追うこともできるようになりますし、更新の自動化も可能になり、とても便利なツールです。
しかしまだまだ制約もあるので、個人開発レベルで試すのは良いですが、実戦投入するのはGoogle Play Store対応がされたり、正式リリース後がやはり良さそうです。