バフェット・コードのブログ

企業分析やプロダクト開発にまつわる記事を配信中

Microsoft Marketplaceにアプリケーションを公開する

当社では先日、ローカル環境にインストールする方式で提供していたバフェット・コードExcelアドインを、Microsoft Marketplace で配布する方式に移行しました

ご存じの方も多いと思いますが、このようなプラットフォームにアプリケーションを公開する手続きはなかなか一筋縄にはいきません。 プラットフォーム側のドキュメントは多いものの、むしろ多すぎるゆえに理解するのが難しいのが実情であり、欲しい情報がコンパクトにまとまったコンテンツもなかなか見つからないものです。 私たちの取り組みにおいても例にもれず、何をしたらよいのかを試行錯誤しながらなんとか突破することができました。

今回の投稿では、Microsoft Marketplace に当社のOfficeアドインを公開するまでの手順と、その過程において苦労した点などを記します。
具体的には、Microsoft Partner Center において Marketplace offers を登録し、審査を経て Microsoft Marketplace でOfficeアドインを表示できるまでのプロセスを記します。

この記事が、まさにMicrosoft MarketplaceへのOfficeアドイン公開を計画しているあなた――もしかして今、試行錯誤している最中のあなた――の参考に少しでもなれば幸いです。

前提

Microsoft Partner Center アカウントを開設するまでのプロセスもなかなか大変でしたが、このドキュメントでは対象外とします。将来に投稿するかもしれません :)

手順の詳細

  • 以降の作業はすべてパートナーセンター: https://partner.microsoft.com/dashboard/v2/home で行います
  • 管理者権限を持つMicrosoft職場アカウントでサインインします
  • パートナーセンターは全体的に動作がスムーズではありません。リンクをクリックしても "反応が薄い" ように見えたり、瞬間的にエラーが表示されたり、予想しない挙動をすることがあります。動いてるのかどうか不安になることも多いです。根気強く作業しましょう

1.「オファー」の登録

オファー とか Marketplace offers という言葉でいきなり混乱しますが、ここでは「Microsoft Marketplaceに公開するアプリケーションをパートナーセンターに登録すること」を意味します。 今回のケースでは 我々のOfficeアドインをパートナーセンターに登録すること を意味するので、このケースに準じて説明します。 この投稿では「アプリケーション」「オファー」という呼称を文脈に応じて使います。

登録するアプリケーションの名前・概要を設定する

Home -> Marketplace offers -> New Offers -> Office add-in からアプリケーションの登録を始めます。

まず名前をつけるのですが、ここでつけた名前が Marketplace で表示されるので、ユーザーに伝わりやすい名前をつけましょう。 Microsoftのスタンダードでは、ここに "アドイン" などの分類を示す文言は含めない とされています。Office add-in として登録するため、わざわざ名前に含めなくても自明だから、という理由でしょう。

課金する/しないなどの基本的な設定を大まかに選択して Save Draft すると、Home -> Marketplace offers 画面に表示されます。ここで入力した内容は後のプロセスで修正できます。

アプリケーションをクリックすると、次の情報を入力する大きなタイルが並んでいるので、指示に応じて情報を入力します。タイルの大きさに反し、クリックできるリンクはとても小さいです。 - Product setup - Properties - Marketplace listings - Availability - Package

Product setup

  • モバイルデバイス向けに公開するか
  • 課金があるか など、アプリケーションの基本的な設定を入力します。名前をつけた後の画面と同じです。

Properties

  • アプリケーションの分類を設定します。CategoryIndustries といった分類があります。 Marketplace上の分類にあたるものでしょう
  • End User License Agreement (EULA) link -> EULAを記載したWEBページへのリンク
  • Privacy policy link -> プライバシーポリシーを記載したwebページへのリンク
  • Support document link -> 字面どおりにはサポートページやFAQページなどを想像しますが、問い合わせページのリンクでもOKです

Marketplace listing

  • 公開する言語を選択し、言語毎にアプリケーション名や説明文を入力します
  • アイコン画像はサイズが規定されており、合わない画像は登録できません
  • スクショ画像の登録も必要で、1枚だけでは審査で指摘されます。今回のケースでは2枚で審査を通過できました
  • 利用方法などを説明する動画があれば Additional information にリンクを入力します

Availability

  • アプリケーションを公開する日を指定します
  • 何かのマイルストーンに合わせて公開する場合に使えそうですが、直近の日付を入れてもエラーになったりはしませんでした

Packages

  • アプリケーションのメタ情報が定義された manifest.xml を登録します
  • 開発者と連携して進めましょう

2.アプリケーションを審査に提出

  • 前項の情報をすべて入力すると、アプリケーションのトップページ Review and publish リンクから審査に提出することができます
  • Notes for certification フィールドには、審査担当者が審査をするために必要な情報を入力する必要があります
  • 今回のケースでは次のように入力しましたが、過不足があるかどうかは常にアプリケーションの性質に依存します。次の例では一部データをマスクしています
## 1. セットアップ方法
1. 任意のExcelワークブックを開く
2. リボンに表示されている `設定` コマンドを押下し、`設定` タスクペインを開く
3. `APIキー` に `XXXX` を入力し、`アクセスレベル` を `無制限` に設定する
4. `保存` ボタンを押下し、`設定` タスクペインを閉じる

## 2. 使用方法と期待される動作

### 2−1. カスタム関数 (BCODE)
1. 任意のExcelワークブックのシートを開く
2. 任意のセルに `=BCODE("XXXX", "2024Q4", "net_sales")` と入力する
3. しばらく待つとセルに XXXX (銘柄コードXXXX) の2024年度の本決算の売上高である `XXXX` (単位百万円) が表示される

### 2−2. CSV出力

1. 任意のExcelワークブックを開く
2. リボンに表示されている `CSV出力` コマンドを押下し、`CSV出力` タスクペインを開く
3. `銘柄コード` に `YYYY` 、 `開始期間` に `2024Q1` 、`終了期間` に `2024Q4` を入力し、`出力` ボタンを押す
4. 新たに `CSV出力` シートが作成され、YYYY (銘柄コードYYYY) の2024年第1四半期から第4四半期までの財務数値が出力される
  • 説明は日本語でも通じている様子ですが、先方からの返答は常に英語です

3. 審査プロセス

  • 今回のケースでは、提出後の翌日にReject判定がメールで届きました。
  • レビューで問題が指摘される場合、どのポリシーにどのように違反しているかが通知されます。次の表は、実際に受けた指摘の例と、それに対して私たちがとった対応の内容です
Microsoftの管理ポリシー 具体的な違反内容 対応したこと
100.3.2.2 Content and Quality Offer images must be easy to understand. Please provide more images showcasing of your offer features. Update the offer image(s) and resubmit your offer. スクリーンショット画像を追加
1100.1.5 First Run Experience Your offer requires that the user sign up for or sign in to use the add-in without providing a clear value proposition. To satisfy this requirement, consider adding a minimum of one or two lines describing the functionality and benefit of your add-in or the value of registering for an account to your add-in's start screen. First Run Experience (初めて起動するユーザーに表示する、アプリケーションの案内画面)を実装
  • 指摘事項の対応が完了したら、前項と同じ操作で再提出します
  • 2日ほどで再審査が完了し、通過することができました
  • Reject判定時はメールが届いたものの、通過したときはメールは届かなかったようです

4.公開

  • 審査を通過し、おそらく Availability で設定した日付を超えていると公開されます
  • 公開されると、Microsoft Marketplace でアドインを検索して表示できるようになります
  • 今回、私たちのアドインは次のように公開されました: https://marketplace.microsoft.com/ja-jp/product/WA200009736 Marketplace上のアドインイメージ

まとめ

このようにプロセスを順に整理してみると、そこまで複雑ではない・・・ような気もしてきます。 歯の奥にものが挟まったような表現をするならば、ハードルになるのは「自分が普段親しんでいるUIとはいろんな点で勝手が違う感触が異なるように感じること」だと思います。

宣伝

私たちは、バフェット・コードを契約していない方でも、バフェット・コード アドイン の操作感や機能を制限付きで試すことができる「テスト用APIキー」を用意しています。 実際にどんな感じなのか触ってみたい方は、ぜひこのテストAPIキーをご利用ください!(制限の詳細についてはbuffett-code APIのドキュメントをご参照ください)

バフェット・コードでは、サービスを一緒により良くしていく仲間を募集しています。普段慣れていない仕組みを調べながら突破していく挑戦も、私たちの重要なミッションのひとつです。 一緒に新しい価値や仕組みを作っていきませんか? career.buffett-code.com