2021.3.15

カスタムApp(CustomApp)とは何か(2) 〜ABMとの関係と申請方法について〜

前回の投稿の続きです。前回はカスタムAppの概要や他の配布方法との比較をしました。本稿では、カスタムAppの申請について紹介します。

 

カスタムAppとABMの関係

前回のカスタムAppとは何か(1)の投稿で、カスタムAppは、AppStore内の非公開領域に登録されたアプリで、その非公開領域は企業毎に分かれていることを紹介しました。

AppStore内にある、この企業毎の非公開領域(上図のA,B,C社の領域)はどうやって作って貰うのでしょう。Appleに直接申請するのでしょうか?ADPを契約した企業なら勝手に作られるものなのでしょうか?

…答えは ABMを利用申請して受理されると作られる です。

非公開アプリを使う企業がABMを利用申請することに注意して下さい。ABMは、デバイス・アプリ・AppleID・MDMを管理する法人用ポータルサイトですが、DUNS番号を持つ企業であれば企業規模によらず利用申請ができます。(参考 : ABMとは何か)

ABMの利用申請がAppleに受理されると、自社専用のAppStore非公開領域が作られ、領域を識別する7桁の組織IDが割り当てられます。


(ABM上で組織IDを確認できる。カスタムAppでは組織IDが重要になる)

この組織IDをカスタムAppの申請先として指定します。

 

カスタムAppはどのように申請するのか

カスタムAppとは(1)の投稿で書いた通り、カスタムAppもAppStoreアプリなのでした。ですので、カスタムAppの申請方法はAppStore公開アプリと一点を除いて全く同じです。


(AppStore公開アプリを作成するのと同じ)

App Store Connect でアプリを新規作成し、Xcodeでビルドした ipa をアップロード、各種メタデータを登録して申請する…。手続きは全く何も変わりません。

Provisioning Profile には AppStore 用のものを使用。App Store Connect で作成した「バージョン」に対して、ビルドしたipaファイルを Xcode または Transporter を使ってアップロードするのも一緒です。


(XcodeからカスタムAppをアップロードする様子。通常のAppStore公開アプリと何も変わらない)

もちろん、TestFlight の内部テスト・外部テストも使えます。課金のTierを設定したり配信国を決めるところも一緒です。唯一公開アプリと違うのは、配信の設定のみ。[価格及び配信状況]→[Appの配信方法] の画面で非公開を選択する点だけです。


(カスタムAppを申請するとは、つまり、非公開でAppStoreに申請するということ)

非公開を選べば、もうそのアプリはカスタムAppです。画面上に新たな入力フィールドが現れますので、ここで先ほどの組織IDを使います。


(組織IDと組織名を入力する。組織名もABMで確認できる)

ここで、どの企業の非公開領域にアプリを登録申請するか指定するわけです。UIから想像がつくと思いますが複数の組織IDを指定することもできます。(同じアプリを色んな企業に非公開配布できるということ)

ここまでの内容で、カスタムApp申請時に非公開領域の組織IDが必要で、非公開領域と組織IDはエンドユーザ企業がABM利用申請して作られることが分かりました。ということは、カスタムApp申請には、アプリを使うエンドユーザ企業にまずABM申請をして貰う必要があることを意味します。

一方、申請する側のADPはどうでしょう?

 

カスタムAppのためのADPは誰が契約するのか。エンドユーザ?開発会社?

カスタムAppの申請にはADP(Apple Developer Program)の契約が必要です。ではそのADPは誰が契約すべきなのでしょうか?これは、案件の性質やアプリの種類によって異なります。

以下にカスタムAppのパターンを全て列挙してみました。

  開発スタイル ADPを契約するのは カスタムAppを申請するのは
(A) エンドユーザが内製する エンドユーザ企業 エンドユーザ企業
(B) 開発会社に外注する エンドユーザ企業 エンドユーザ企業 or 開発会社
(C) 既存アプリのカスタム版の提供を受ける 既存アプリの開発元企業 既存アプリの開発元企業

エンドユーザ企業が独自の業務用アプリを開発しようとすることが多いので、通常は(A)か(B)です。(C)は既存アプリのカスタマイズバージョンを個別提供する(提供して貰う)パターンです。長くなりますので (C) は別の記事で紹介します。

上の表から読み取れる通り、ADP契約はアプリの著作権・所有権を持つ企業が取得します。

エンドユーザ企業視点で書くと、自社専用アプリを新たに開発するなら内製か外注かによらずエンドユーザ自身でADPを契約しなければなりません。

開発側視点で書くと、受託開発アプリが最終的に顧客の「もの」なら、エンドユーザのADPアカウントを使う必要があります。ADPが未契約なら契約して貰い、App Mangaer の権限を貰いましょう。自社(開発会社)のADPアカウントからお客様の受託開発アプリをカスタムApp申請してはなりません。というのも、エンドユーザ側のABMでアプリの見え方に不都合が生じるからです。


(ある顧客企業に feedtailor Inc. のADPアカウントからカスタムApp申請した時の顧客側ABMの画面。feedtailor Inc. のアプリとして表示される)

ABMのカスタムAppの画面、上図の赤枠部分で、カスタムApp申請をするADPアカウントの企業名が表示されます。これが気持ち悪くなければ別に構わないのですが、発注するエンドユーザ企業の立場では普通に違和感を覚えるでしょう。自社の業務アプリなのに、ABM上では発注先企業のアプリのように表示されるのですから。

ということで、自社専用アプリを独自開発したいと考えるエンドユーザ企業は、カスタムApp申請用にADPの契約は必須です。またカスタムAppを使うために、ABMの利用申請も必要になります。

 

以上、カスタムAppとABMの関係、申請の方法、カスタムAppでADPを誰が契約するのか説明しました。ポイントは以下の通りです。

  • AppStoreの非公開アプリ用領域はABM利用申請が受理されると作られる
  • カスタムAppはAppStore公開アプリと申請方法がほぼ一緒
  • AppStore申請時に「非公開」を選ぶとカスタムApp申請となる
  • カスタムApp申請では組織ID・組織名を指定する

次回はさらに深掘りして、カスタムAppの特殊な使い方である、既存アプリのカスタマイズバージョンの提供について解説します。

本サイトはACNメンバーの(株)フィードテイラーが運営するエンタープライズiOS情報サイトです

最近の投稿