アプリを提出する(iOS 、Android)
□Androidアプリをリリースするまでの流れ
GoogleplayにAndroidアプリをリリースする場合は、手元のソースコードを.apkまたは.aabという拡張子のアプリファイルにまとめてから、アップデートする。
●流れ
1 Googleplayに開発者として登録する(初回のみ25ドルかかる)
2 PlayConsole(管理画面)でストア向けの掲載情報を作成・入力する
3 アプリファイルをアップロードする
公式ドキュメント
Play Console の使用方法 - Play Console ヘルプ
□iOSアプリをリリースするまでの流れ
App StoreにiOSをリリースする場合は、手元のソースコードを.ipaという拡張子のアプリファイルにまとめてから、アップロードする。
●流れ
1 Apple Developer Programに登録する(1年ごとに99ドルかかる)
2 デベロッパーアカウントサービスでApple IDを登録する
3 App Store Connectでストア向けの掲載情報を作成・入力する
4 アプリファイルをアップロードする
5 審査を受ける
6 審査が通ったらアプリを公開する
公式ドキュメント
※Apple IDの登録や証明書などの管理はデベロッパーアカウントで行い、Apple Storeへの掲載内容や審査についてはApple Store Connectで行うという点がわかりづらいので、ドキュメントを読む際は注意
※iOSのリリースには審査が必要
審査基準→App Store Reviewガイドライン - Apple Developer
□アプリファイルを作る方法
最終的にストアに公開するためのアプリファイルを、ソースコードから組み上げる処理のことを、リリースビルドと呼ぶ。
●Expoでリリースビルドを行う流れ
Expo CLIでリリースビルドのコマンドを実行すると、設定ファイルである app,json やJavaScriptファイル、画像リソースや音声リソースなど、ダウンロードリンクが発行され、apkファイルやipaファイルなどのアプリファイルがダウンロードできるようになります。
ビルドの制御ができるのは、クラウドサービス側におまかせになってしまうので、あまり細かい設定はできない。唯一細かい制御ができるのは、app,json
設定できる項目の全体像まとめ→ app.json / app.config.jsで設定できる内容
特に、リリースビルドと関係が強いのは、次の5つ
・アプリ名
・アプリID
・アプリバージョン
・アプリアイコン
・スプラッシュ画面(プログラムの立ち上げが実行中である段階で表示される画面)
●アプリ名を設定する
app.json
{ "expo": { "name": "サンプルアプリ", // (1) // (略) } }
app.jsonのExpo.nameの階層に文字列を記述すると、これがアプリ名になる
●アプリIDを設定する
アプリIDは、同名のアプリが複数あった場合にもストア内でアプリを識別するためのも
慣例として、「開発者が所有しているドメインの逆順+アプリ名」で命令する
例えば、tata.info というドメインでアプリの名前が timer だった場合、アプリIDは「info.tata.timer 」
app.json
{ "expo": { // (略) "ios": { "bundleIdentifier": "info.tata.my-awesome-timer", // (1) // (略) }, "android": { "package": "info.tata.my_awesome_timer", // (2) // (略) }, // (略) } }
※AndroidアプリIDでは、ハイフン(-)は使えない、アンダースコア(_)は使える
iOSアプリでは、ハイフンが使えて、アンダースコアが使えない
●アプリのバージョンを設定する
app.jsonには、アプリのバージョンを記載することもできます。
アプリのバージョンは、ストアに表記するためのバージョンと、ストアの内部で機械的に管理する際に使われているバージョンの2種類がある
app.json
{ "expo": { // (略) "version": "1.4.0", // (略) "ios": { // (略) "buildNumber": "1040023", // (略) }, "android": { // (略) "versionCode": 1040023, // (略) }, // (略) } }
※Play ConsoleやApp Store Connectが管理のために利用する、「内部バージョン」とでも呼ぶべきものは注意!
iOSでは上記のとおりexpo.ios.buildNumberの階層に文字列で記載し、Androidでは上記のとおりexpo.andoroid.versionCodeの階層に数値で記載する。buildNumberは文字列ですが、使っていいのは数値もしくはドット(.)だけなので、事実上AndroidもiOSも数値を記載することになり、この数値はPlay ConsoleやApp Store Connectにアプリファイルをアップロードするたびに、大きい数値にしないといけない。内部バージョンは「必ず増える数値」として管理されていること!
□画像リソースを準備する
アプリアイコンと、アプリ起動時に表示されるスプラッシュ画面の2種類が最低限必要
●Expo向けに用意するアプリアイコンについてのガイドライン公式https://docs.expo.io/guides/app-icons/
< iOS向けアイコンの要点>
・png形式
・サイズ 1024×1024ピクセル推奨
・Appleのヒューマンインターフェースガイドラインに沿ったデザインであること
<Android向けのアイコン>
・png形式
・Android 8.0以降で有効なアダプティブアイコンについてのガイドラインに沿ったデザインであること
・サイズ 512×512ピクセル以上推奨
・アダプティブアイコン用のリソースと、通常アイコンのリソースをそれぞれ用意する
※アダプティブアイコンとは→アイコンの中でさらに背景と中央のイラストを分離して管理する複雑なアイコン
Android 8.0以降ではアダプティブアイコンで作るのが標準
app.json
{ "expo": { // (略) "ios": { // (略) "icon": "./assets/icon.png", // (1) // (略) }, "android": { // (略) "icon": "./assets/icon.png", // (2) "adaptiveIcon": { // (3) "foregroundImage": "./assets/ic_launcher_foreground.png", "backgroundColor": "#FFFFFF" }, // (略) }, // (略) } }
●スプラッシュ画面について
スプラッシュ画面用の画像リソースは多くの場合、中央にイラストやロゴを配置して、それ以外の部分を透過にした巨大な正方形の画像として作られる。どんな画面サイズでもコンテンツを綺麗に表示するため(スマートフォンでもタブレットでもある程度自然な表示になる)
☆リリースビルドする
ここまで準備できたらあとはリリースビルドを実行するだけ
ターミナルで次のコマンド実行
Androidアプリのビルド:expo build:android
iOSアプリのビルド:expo build:ios
↓
基本的に全てYesで答える
AppleIDを求められたら、Apple Developer Programの登録に使ったApple IDとパスワードを入力
↓
サーバー側でのビルドが終わると、ダウンロード用のURLが表示されます。URLにアクセスすると、apkファイルやipaファイルがダウンロードできる。
☆アプリファイルのアップロード方法
あとはストアにアップロードするだけ!
Play Consoleの場合は、アプリ個別の画面でメニューの「公開 > 製品版」を開くと、APKをドラッグ&ドロップする領域が現れるので、ここにapkファイルを入れればアップロードできる。
バージョン名やリリースノートを埋めて、保存ボタンを押していけば、アプリを公開!
App Store Connectの場合は、ブラウザからipaファイルをアップロードする方法がないため、別のアプリを利用します。Mac App Storeで「Transporter」を探して、手元のmacOSにインストールする。起動してApple IDでログインすると、App Store Connectにアップロードするための画面が現れるので、ここにipaファイルをドラッグ&ドロップ!
操作を進めていくと、App Store Connectへのアップロード開始。アップロードが終われば、次は審査。ストアの掲載情報を十分に埋めてから臨みましょう!!!!!
参考:
https://codezine.jp/article/detail/12673?p=