2021.3.8
カスタムApp(CustomApp)とは何か(1) 〜非公開アプリをリリースする唯一の方法〜
(最終更新日 : 2021/3/15)
カスタムAppは、企業内で使用する業務用アプリを非公開に配信する配布方法です。
従来はADEPを使ったInHouse配布が主な手段でした。しかし今後はカスタムAppが主流となります。現在ADEPの新規契約はできなくなっていますし、契約済の企業であってもカスタムAppへの移行を余儀なくされる見込みですので、「ウチはADEPがあるからカスタムAppは関係ない」とはいきません。(参考 : ADEPはもう取得することができないと諦めたほうが良い理由)
アプリ開発会社もエンドユーザ企業も、業務用アプリを開発するならカスタムAppを理解しておく必要があります。そこで、これから何回かに分けてカスタムAppについて詳細を解説していこうと思います。以下目次。本稿では最初の3つをとりあげます。
- カスタムAppはどんな時に必要なのか
- カスタムAppも実はAppStoreアプリ
- カスタムApp・AppStore公開・InHouseアプリの違い
- カスタムAppはどのように申請するのか
- カスタムAppはどのように配布するのか
- カスタムAppのケーススタディ
- カスタムAppのよくある質問
カスタムAppはどんな時に必要か
カスタムAppは業務用アプリを非公開で配布したい時に必要となります。特定の企業業務に特化したアプリで、例えば
- ある企業の営業担当が使う見積機能付き専用アプリ
- フィールドエンジニアが現場で使う定期点検アプリ
- 商業施設に常設するiPadで動作させる案内アプリ
- 従業員に配布する社内広報のデジタル版アプリ
などが考えられます。一方、以下のようなケースではカスタムAppは適切ではありません。
ケース | 採用すべき配布方法 |
---|---|
PoCや検証のための開発で本番リリースの意図はないアプリ | AdHoc, TestFlight |
B2B向けの自社サービス用のクライアントアプリ | AppStore公開 |
通知・オフライン・TCP/IP通信などネイティブ機能が不要なアプリ | Webアプリ(MDM+WebClip) |
アプリが「特定の」企業向けでなかったり、テスト目的のものだったり、そもそもネイティブの機能を使わない場合ですね。ただ、あまり細かく覚える必要はありません。ざっくりとで大丈夫です。
従来、アプリの「公開 or 非公開」で「AppStore or ADEP」と考えていたのを
これからは、「AppStore公開アプリ or カスタムApp」 の二択で考えるということだけおさえておけば十分です。
これまで ADEP による InHouse アプリが担っていた役割をカスタムAppが担うことになります。ADEP取得済み企業でない限り、今後ADEPのことを考える必要はもうないのですね。
2021年現在、アプリ開発にADEPが思い浮かんだら、それはカスタムAppにすべきと考えて下さい。
カスタムAppも実はAppStoreアプリ
カスタムAppもAppStoreに登録申請するアプリです。「え?AppStoreに申請するならAppStoreアプリから見られてしまうのでは?AppStoreって公開でしょ?」と思った人もいるでしょう。
でも実は違います。AppStoreのアプリには
- 公開アプリ(AppStoreアプリから取得できるアプリ)
- 非公開アプリ(これがカスタムApp。AppStoreアプリからは取得できない)
の大きく2種類があって、それぞれ公開領域と非公開領域に分けてAppStore内に置かれています。その様子を超簡略的な図にすると以下の通り。
普段わたしたちが一ユーザとして見ているのはAppStoreの一部に過ぎません。100万個を超える公開アプリの裏に、企業毎に区切られた非公開アプリ領域が存在します。この非公開領域に登録されている非公開アプリのことをカスタムAppといいます。
ただ、疑問は湧いてきますよね。
そもそも、AppStoreに自社用の非公開アプリ領域をどうやって作って貰うのか、その非公開アプリ領域にどうやってアプリを登録するのか、申請はどうなるのか、課金はどうなるのか、その領域に登録されたアプリをどうやって端末に配布するのか…etc
全部説明するとかなり長くなりますので、今後の投稿で順にご紹介する予定です。ひとまずここでは、AppStoreには非公開アプリが存在しそれをカスタムAppということ、カスタムAppを登録する企業毎の非公開領域がAppStore内に存在することを覚えておいて下さい。
本稿の最後に、カスタムAppを概観するため他の配布方法と比較しておきたいと思います。
カスタムApp・AppStore公開・InHouseアプリの違い
それぞれの違いを、開発側と受取側(ユーザ)とに分けて整理しておきましょう。まず開発側。
開発側
カスタムApp | AppStore公開アプリ | InHouseアプリ | |
---|---|---|---|
必要な契約 | ADP | ADP | ADEP |
年間費用 | ¥11,800 | ¥11,800 | ¥37,800 |
Provisioning Profile | AppStore | AppStore | InHouse |
再署名 | 不要 | 不要 | 必要(1年に1回) |
申請・審査 | 必要 (非公開を選択) | 必要 (公開を選択) | 不要 |
有償アプリ | 可能 | 可能 | 不可 |
開発側から見ると、AppStore公開アプリとInHouseアプリは何から何まで違うのに対して、AppStore公開アプリとカスタムAppは基本同じですね。違いは「公開」か「非公開」か。カスタムAppは、これまでの公開アプリと同じ開発フローで進めて、最後の最後に配信設定を「非公開」にするだけです。
次に受取側。
受取側(ユーザ側)
カスタムApp | AppStore公開アプリ | InHouseアプリ | |
---|---|---|---|
必要な契約 | ABM | – | – |
テスト配布手段 | AdHoc配布 TestFlight |
AdHoc配布 TestFlight |
AdHoc配布 InHouse配布 |
リリース配布手段 (有線) |
不可 | 不可 | AppleConfigurator2 Finder Xcode |
リリース配布手段 (無線) |
ABM+MDM ABM+引き換えコード |
AppStore ABM+MDM ABM+引き換えコード |
OTA MDM Finder(AirDrop) |
配布可能範囲 | ABM契約企業の 被雇用者、業務委託先 |
範囲制限無し | ADEP契約企業の 被雇用者、業務委託先 |
アプリ起動条件 | 特になし | 特になし | MDMチェックイン or 信頼 |
証明書削除時 | 変化なし | 変化なし | 起動しなくなる |
こちらも、AppStore公開アプリとInHouseアプリが何から何まで違うのに対して、AppStore公開アプリとカスタムAppは酷似しています。
このように開発側と受取側の両方で酷似しているのですから、実は一度でもAppStore公開アプリに関わったことがあれば、ADEP/InHouseについて学ぶよりカスタムAppについて学ぶほうが楽なのです。運用も。AppStore公開アプリの知見や経験を活かせるからですね。
カスタムAppとAppStore公開アプリの唯一大きな差異はABM。このABMをカスタムAppとの関係性から理解することが重要です。ということで次回以降、カスタムAppとABMの関係性についてや、カスタムAppの申請と配布について紹介していきたいと思います。(参考:ABMとは何か)
(追記) カスタムAppの申請について書きました
カスタムApp(CustomApp)とは何か(2) 〜ABMとの関係と申請方法について〜