🖥️

Flutter アプリを Microsoft Store でリリースした話

2023/09/09に公開

Forumbookという掲示板ビューアを開発、リリースしました。
https://apps.microsoft.com/store/detail/forumbook/9NDQRSTGLFZS

5ちゃんねるや、ふたばちゃんねるに対応しています。7月のクーデター失敗を機に、開発を始めました。今後も対応フォーラムを増やしていきたいと思っています。
IOSMacOSAndroidでもリリース済みなので、興味のある方はお試しいただけると嬉しいです。
https://apps.apple.com/app/id6451333212
https://play.google.com/store/apps/details?id=com.karas.forumbook

なぜMicrosoft Storeでリリースしたか

Windowsなので自分で配布することもできましたが、ユーザーとしては公式ストアに掲載されているのは安心感につながるでしょうし、アップデートも楽です。開発側としてもサーバーのことを考えなくて済むのは、やはり楽です。
正直にいうと、今回、開発者としてだけではなくWindowsユーザーとしても初めてMicrosoftStoreを利用したんですが😝 普通にシンプルで使いやすいストアだなと感じました。ただ盛況かというと...だったので、この記事がもっとソフトが増えるための一助になればと思います。

この記事の内容

MicrosoftStoreの開発者登録とアプリ情報の登録は済んでいるものとして、以下の2点を書きます。

  • msix形式でのWindowsビルド
  • 審査

ちなみに開発者登録の登録料は2000円弱でした。

msix形式でのWindowsビルド

MicrosoftStoreでリリースするために、msixパッケージをpubspec.yamlに追加します。

pubspec.yaml
dev_dependencies:
  msix: ^3.16.1

そして、pubspec.yamlの下の方に以下を追記します。

pubspec.yaml
msix_config:
  display_name: <App Name>
  publisher_display_name: <Package/Properties/PublisherDisplayName>
  identity_name: <Package/Identity/Name>
  publisher: <Package/Identity/Publisher>
  msix_version: 1.0.0.0
  logo_path: "assets/icons/windows.png"
  store: true

上記のフィールドには、Partner CenterのアプリページのProduct identityのページに記載されている内容を入力します。

display_name

アプリ名を入力します。Forumbookの場合はForumbookです。

publisher_display_name

Product identityPackage/Properties/PublisherDisplayNameを入力します。

identity_name

Package/Identity/Nameを入力します。

publisher

Package/Identity/Publisherを入力します。

msix_version

バージョン番号を入力します。

logo_path

ストアで使用されるアイコンをセットしますが、サイズに注意です。理由は下記。

store

Microsoft Storeに公開する場合はtrue

logo_pathで参照するアイコンのサイズ

最初、Android用と一緒でいいやと思って512x512のアイコンをセットしてしまいました。
するとストアの表示がこんな感じになってしまいました(再現画像です)

その後、256x256にしたものに差し替えたら本来の表示になってくれました。

ビルド

flutter build windows
flutter pub run msix:create

windows版をビルド後にmsixでパッケージングします。出来上がったmsixファイルを、アプリページにアップロードします。

審査

runFullTrust

詳しい文面は忘れてしまいましたが「このアプリがrunFullTrustを必要としているのは何故か、その理由を説明セヨ」みたいな警告が表示されました。
とりあえず「これはFlutter製アプリなので、runFullTrustを必要としています」と入力したら無事通過できました。

ストア用のスクリーンショット


上の理由で一度審査に落とされました。
要は、スクリーンショットに含まれる画像にWindowsじゃないものがあるよね?という意味だと思います。確かに、最初は↓この画像を提出していました。

うん...まあ...😩
これはMacOS用に作った画像だったんですが、面倒だったんでそのままMicrosoftStoreにも提出してしまいました。この画像を別の画像に差し替えたら無事審査を通過できました。

審査時間

何度かアップデートしましたが、早ければ6時間くらい、遅くても24時間以内には審査が完了していました。
ちなみに各OSの審査の速さは Android > Windows > MacOS > IOS です(右へいくほど遅い)

おわりに

モバイルと一緒に、ほぼ同等のWindows版をリリースするだけなら、そこまで大変ではないなと感じました。ただ、今のところFlutterデスクトップはマネタイズの手段に乏しいので、そこに関してはモバイルとは分けて考える必要があると感じます。まあ、今後もFlutterコミュニティの拡大が続いていくなら、デスクトップのサポートも厚くなっていくんじゃないかと楽観的に考えています。

お読みいただきありがとうございました。
アプリについてのご意見はSNSや掲示板のほうで遠慮なく言ってやってください。

Discussion