アプリ開発を外注するとき、App Store Connect と Google Play Console に開発会社をどう招待するか
App Store Connect と Google Play Console に、開発会社の担当者を招待できます。契約への署名は Account Holder だけ、Google Play の支払い設定はアカウント所有者だけが行えます。
アプリの配信を管理する画面は 2 つあります。iPhone 向けが App Store Connect、Android 向けが Google Play Console です。どちらも、開発会社の担当者をメールアドレスで招待できます。招待された人は自分のアカウントで入るので、発注した会社のアカウントのパスワードを知らせずに済みます。委託先にアカウントを使わせるときの考え方は、委託先に自社のアカウントを使わせるときの管理で扱っています。
App Store Connect の役割と招待
Apple の説明では、Apple Developer Program に登録を申し込んだ人が、自動的に Account Holder になります。Account Holder は、アカウントを管理する役割です。組織として登録していれば、チームにメンバーを追加し、役割を付けられます。人の追加と役割の変更は、App Store Connect の画面で行います。
開発を任せるときに関係する役割は、次の 4 つです。
| 役割 | Apple の説明 |
|---|---|
| Account Holder | アカウントを管理する。登録を更新し、組織の代表として契約に同意する |
| Admin | チームを補佐し、Account Holder と同じ責任の多くを受け持つ。すべてのアプリに入れる |
| App Manager | 価格、ストアに載せる情報、開発と配信など、アプリのすべての面を管理する |
| Developer | アプリの開発と配信を管理する |
招待できるのは、Account Holder、Admin、App Manager です。このうち App Manager が追加できるのは、Developer か Marketing の役割のユーザーに限られます。
App Manager や Developer などの役割では、入れるアプリを個別に選べます。開発会社に 1 つのアプリだけを任せるなら、そのアプリだけを選びます。ただし、「証明書、ID、プロファイル」へのアクセスか「Access to Reports」の権限を付けた人は、アプリを絞れず、すべてのアプリの情報を見られます。
招待は 3 日で期限が切れるので、早めに承諾してもらいます。切れたら送り直せます。
Google Play Console のアクセスレベルと招待
Google Play Console には、3 つのアクセスレベルがあります。
| アクセスレベル | 公式ヘルプの説明 |
|---|---|
| アカウント所有者 | 最初に登録したアカウント。すべてにアクセスでき、お支払いプロファイルを扱える唯一のユーザー |
| 管理者 | すべての権限を持つ。ユーザーの招待と削除、権限の管理ができる |
| ユーザー | 付けられた権限の範囲で使う。ユーザーの招待と権限の編集はできない |
権限は、アカウント全体(すべてのアプリ)に付ける方法と、選んだアプリだけに付ける方法があります。
招待は、アカウント所有者か管理者が「ユーザーと権限」で「新しいユーザーを招待」を選び、相手のメールアドレスを入力して行います。このとき、アクセス権の有効期限を設定できます。設定しなければ、その人は無期限にアクセスできます。招待された人は、指定されたメールアドレスでだけログインできます。招待の期限は 30 日で、過ぎたら送り直します。
開発会社との契約の期間が決まっているなら、契約の終わりの日を有効期限にしておくと、削除を忘れても、その日でアクセス権が切れます。
Account Holder とアカウント所有者だけができること
Apple の説明では、Account Holder は、契約への署名や登録の更新ができる唯一のユーザーです。有料のアプリを売るときの契約にも、Account Holder が署名します。Google Play Console では、有料アプリを売るための支払いの情報をつなげられるのは、アカウント所有者だけです。
発注した会社が自社のアカウントでアプリを公開している場合は、この 2 つを発注した会社の人が持つ形が考えられます。そうしておくと、契約と支払いの操作が、開発会社の人の出入りに左右されません。開発会社の担当者には、招待で、任せる範囲の役割や権限を付けます。
Account Holder やアカウント所有者の人が代わるとき
Account Holder の人が退職や異動で外れるときは、役割を譲渡します。Apple の説明では、組織の Account Holder は、組織を代表して契約を結ぶ権限を持つチーム内の別の社員に、役割を譲渡できます。操作は Account Holder 本人が行い、受ける人が承諾します。本人がいるうちに済ませることになります。
Google Play Console にも、アカウントの所有権を譲渡する手続きがあります。始められるのはアカウント所有者だけで、相手はそのアカウントにすでにいるユーザーです。開始から 7 日間は保留の期間で、そのあと相手が手続きを終えると所有者が代わります。アプリで収益を得ている個人のアカウントは、この手続きを使えません。その場合は、新しいアカウントを作ってアプリを移します。所有者に連絡が取れないときは、サポートに問い合わせます。
契約が終わるとき
ユーザーを削除する
App Store Connect では、Account Holder か Admin が「ユーザとアクセス」で相手を選び、削除します。削除の操作から最大 10 分ほどは、アクセス権が残ることがあります。
開発会社に App Store Connect API のチームキーを渡していたら、そのキーも無効化します。チームキーは、画面を使わずにプログラムから操作するための鍵で、人ではなく役割に対して作ります。Account Holder か Admin が「ユーザとアクセス」の「統合」で行い、無効化は元に戻せません。
Google Play Console では、アカウント所有者か管理者が、「ユーザーと権限」で相手を選んで削除します。複数人をまとめて削除する手順は、公式ヘルプではアカウント所有者の操作として書かれています。アプリ単位の管理者は、アカウント全体の権限を持つユーザーを削除できません。
開発会社のアカウントにあるアプリを移す
Apple には、アプリを別のアカウントや組織に移す「アプリの譲渡」があります。譲渡する側の Account Holder が始め、受ける側の Account Holder が承諾します。始める側は、受ける側について、チームの Team ID と Account Holder 本人の Apple Account を入力します。Apple は、譲渡のあともレビューと評価は残り、利用者は引き続き更新を受け取れるとしています。譲渡には条件があるので、先に条件を満たすかを確かめます。
Google Play にも、別のデベロッパー アカウント(アプリを公開する側のアカウント)へアプリを移す手続きがあります。公式ヘルプによると、アプリの利用者、ダウンロードの統計、評価とレビュー、ストアの掲載情報が新しいアカウントに移ります。移す元と移す先の両方のアカウントが、登録を終えて有効になっている必要があります。
有料アプリや、アプリ内アイテムのあるアプリを移すときは、移す先に有効なお支払いプロファイルが要ります。アプリ内アイテムだけを売るアプリは、移したあと非公開になるので、移す先で価格を確かめてから公開し直します。Play アプリ署名を使うアプリでは、移す先のアカウント所有者が、新しいアップロード鍵をリクエストできます。アップロード前の署名に使う鍵です。
どちらの手続きも、開発会社の側の操作が要ります。開発会社の協力がなければ移せないので、どちらのアカウントで公開するかと、契約が終わるときの移し方は、契約を結ぶ前に決めておく事柄です。契約に入れる項目は、委託契約に入れるアカウント条項(貸与・共有禁止・記録・返却)の要点を参照してください。
よくある質問
開発会社に Account Holder の ID を渡しますか
渡さずに済みます。Account Holder は組織の代表として契約に同意し、登録を更新する役割です。開発会社の担当者は、App Store Connect にユーザーとして招待します。
開発会社にはどの役割を付けますか
Apple の説明では、Developer はアプリの開発と配信を管理します。App Manager は、価格やストアの情報も含めて管理します。任せる範囲で選びます。
Google Play Console で期限つきの招待はできますか
できます。招待のときにアクセス権の有効期限を設定でき、契約の終わりの日を入れておけます。設定しなければ、その人は無期限にアクセスできます。
開発会社のアカウントで公開したアプリは取り戻せますか
どちらのストアにも、別のアカウントへアプリを移す手続きがありますが、開発会社の側の操作が要ります。Apple は、譲渡のあともレビューと評価が残るとしています。
Junify の場合
- 人手で続けると
- 委託先の誰が自社のどのアカウントを使うかを台帳で持ち、契約が終わるたびに止め、委託先での利用状況を定期的に確かめ続けることになります。
- Junify なら
- アプリの配信の画面は、招待で人ごとに分けられます。手間が残るのは、同じ開発会社に使わせている、サーバーや外部サービスの管理画面のような 1 つの ID を皆で使うアカウントです。契約が終わるたびにパスワードを変え、残る人に伝え直すことになります。導入時にパスワードを変えて Junify だけが持てば、委託先の担当者はパスワードを知らずに入れ、終わったら割り当て(使ってよい人の指定)を外すだけです。
体験デモは PC の画面用です。この画面では動画をご覧いただくか、PC で開くリンクをメールで受け取れます。
参考資料
- Apple Developer ヘルプ「役割とアクセス権」
- Apple Developer Help「Roles and access」(英語版)
- App Store Connect ヘルプ「ユーザの追加と編集」
- App Store Connect ヘルプ「役割の権限」
- Apple Developer ヘルプ「Account Holder の役割を譲渡する」
- App Store Connect ヘルプ「アプリの譲渡の概要」
- App Store Connect ヘルプ「アプリの譲渡の開始」
- App Store Connect ヘルプ「App Store Connect API」
- Play Console ヘルプ「デベロッパー アカウント ユーザーの追加と権限の管理」
- Play Console ヘルプ「別のデベロッパー アカウントへのアプリの移行」
- Play Console ヘルプ「Play アプリ署名を使用する」
- Play Console ヘルプ「Google Play Console デベロッパー アカウントの所有権を譲渡する」
同じテーマの記事
-
業務委託やフリーランスを自社の Slack に入れるときの、ゲストと Slack コネクトの使い分け
社内の誰かのアカウントを貸す必要はありません。有料プランでは、相手をゲストとして招待し、入れるチャンネルと期限を決められます。相手の会社にも Slack があるなら、Slack コネクトでつなぎます。
-
委託終了・担当交代時のアクセス回収チェックリスト
順番は、委託先が使っている自社アカウントの一覧 → 発行したユーザーの停止 → 共有アカウントのパスワード変更 → 記録の確認 → 返却・消去の確認です。担当交代なら、その人の分だけを同じ順で行います。
-
委託先へのセキュリティチェックシートの作り方(アカウント管理の設問)
設問は、自社が渡したアカウントを名指しし、誰が・いつ・何で確かめているかを書いてもらう形にします。10 問を別添の項目に対応づけ、答えは自社の記録と現地や口頭の確認で突き合わせます。