🤳

[2023年版] モバイルアプリの譲渡を実施した話

2023/10/25に公開

今回は弊社で開発しているネイティブアプリについて、ストアでの配信を親会社のスタメンより移管したので、実際のフローや注意すべきポイントなどをまとめてみました。
本記事は2023年8月時点の情報であるため、一部内容が変わっている可能性があります。何かの参考になれば幸いですが、最新の公式のアプリ譲渡の概要も合わせてご覧ください。

iOS: https://developer.apple.com/jp/help/app-store-connect/transfer-an-app/overview-of-app-transfer/
Android: https://support.google.com/googleplay/android-developer/answer/6230247

事前準備

アプリ情報のバックアップ

譲渡処理が完了すると譲渡元からはアプリに関する情報を一切確認できなくなります。
売上レポートや収益レポートなど、移行先に引き継がれない情報もあるのでダウンロードしておきましょう。

iOS

譲渡を実行する前提として、App Store Connect の Account Holder 権限が必要です。
処理の一環として提示されるチェックリストにアプリが適合するよう対応していくと譲渡が可能になります。
譲渡条件に適合していないと条件に不適合として確認することができ、非常にわかりやすいです。


Testflight ベータ版テストの項目が譲渡条件に不適合であることがわかると思います。

Testflight を全て期限切れにする

iOS はアプリ譲渡を実施する前に全ての Testflight を期限切れにする必要があります。
期限切れにしたタイミングで Testflight App は全て利用できなくなるので、内部で利用しているメンバーへの周知も忘れずに行いましょう。

テスター情報の削除

App Store Connect で譲渡するアプリのテスターとして登録されているユーザーも全て削除する必要があります。
Apple Developer Program からメンバーの削除はこの段階で行う必要はありませんが、不都合がないのであれば同時に削除して問題ありません。

Keychain に保存しているデータの保存先変更

Keychain にデータ保存をしている場合、アプリ移管後チーム ID が変わることで移管後のアプリからは参照できなくなります。
利用している場合は暗号化させて UserDefaults へ退避するなどのアップデートを配信し、譲渡後のアップデートで Keychain へデータを戻すなどの検討が必要です。

https://developer.apple.com/library/archive/qa/qa1726/_index.html#//apple_ref/doc/uid/DTS40014942

APNs証明書 ( p12 ファイル )、認証キー ( p8ファイル ) の発行

PUSH 通知を実現するために APNs 認証方法として p12 ファイル証明書若しくは p8 ファイル認証キーを用いていると思います。どちらの方法を利用していても譲渡先で新規発行[1]する必要があります。
過去の事例などを参考にすると、しばらくは譲渡元で発行済み証明書・認証キーを利用していても PUSH 通知は届いているようですが、保証された挙動ではないためアプリ譲渡完了後速やかに作業することをオススメします。その為にも譲渡前に準備を進めておくとスムーズです。

android

iOS と比べると特に躓くポイントもなく、ドキュメントに従って内容を確認していくだけで問題なく譲渡を実施することができます。
譲渡リクエスト作成の際に譲渡先アカウントの取引 ID が必要になるので Google Payments より事前に確認しておきます。

譲渡元にて譲渡リクエストの作成

実際に譲渡を行う際に、譲渡元で実施することは譲渡リクエストの送信だけですので、特に難しいことはないと思います。

譲渡先で譲渡リクエストの承認


譲渡リクエストを承認すると、自動で譲渡処理が行われます。


譲渡処理のステータスは PlayConsole と AppStore Connect から確認できます。
完了するまでアプリの配信は譲渡元アカウントで継続されます。

iOS, Android 共にアプリの譲渡処理は2営業日ほどかかると案内されていますが、今回は iOS アプリが譲渡リクエストの承認後すぐに譲渡が完了しました。



譲渡リクエスト通知から9分後には移管完了メールが来ました。早い。

譲渡後にやること

iOS

チーム ID の変更

チーム ID の変更は譲渡完了後に対応必須です。
Cloud Messaging や Dynamic Links で利用する apple-app-site-association などのチーム ID を漏れなく差し替えます。

APNs証明書 ( p12 ファイル )、認証キー ( p8ファイル ) の差し替え

事前準備のセクションでも軽く触れましたが、証明書・認証キーの差し替えは譲渡完了後迅速に対応しましょう。今回、移管完了後に差し替えをせず運用していたところ2時間ほどでプッシュ通知が届かなくなりました。

なお譲渡元でリリースされていたバージョンのアプリに対しても譲渡先で差し替えた証明書・認証キーを利用して通知を送ることが可能です。

Testflight 配信設定・テスター情報の追加

移管後も引き続き Testflight を利用したテスト配信を行う場合はゼロから設定が必要です。

ストア掲載情報の更新

iOS はストア情報だけを更新することはできず、アプリリリースのタイミングで情報が更新されるので、譲渡後最初のリリースのタイミングで以下情報を変更します。

  • サポートURL
  • 著作権
  • App Review に関する情報
  • プライバシーポリシーURL

android

Google Play Developer API サービスアカウント設定

Google Play Developer API のサービスアカウントを課金サービスや CD で利用している場合は譲渡後利用できなくなるので対応が必要です。
今回の場合 CD で利用していたのでこちらの差し替えが必要でした。

テスター情報の追加

Andoroid はテストに関する設定を削除せず譲渡が出来てしまうため忘れがちですが、譲渡元からテスター情報を削除し、譲渡先へ追加するのを忘れないようにしましょう。

ストア掲載情報の更新

Android の場合はストア情報だけを更新し公開することが出来ます。今回は iOS と歩幅を合わせて譲渡後最初のリリースのタイミングで以下情報を更新しました。

  • メールアドレス
  • ウェブサイトURL
  • プライバシーポリシーURL

結び

今回自身として初めてアプリの譲渡を行いました。
公式のドキュメントに従えば良いので譲渡作業前に感じていたほど難しいことはありませんでしたが、
Account Holder のスケジュールが中々抑えられなかったり、iOS アプリの譲渡完了に気付かず証明書が期限切れ → プッシュ通知が飛ばなくなるなど事前準備の大切さを痛感させられました。
アプリ開発を行なっていても経験することが多くはない作業なので、この記事が少しでも参考になれば幸いです。

脚注
  1. 既に発行している証明書・認証キーがある場合は流用可能 ↩︎

株式会社スタジアム

Discussion