こんにちは!やまもと@テスト番長です。暑くて長い夏がようやく終わったと思ったら今年もあと残り3ヶ月、冷凍おせちをどこで買うか悩み始めた今日この頃です。
僕はモノグサでQM(Quality Management)チームのマネージャーを務めさせていただいております。今年、アプリストアのオーナーアカウントを共用アカウントに入れ替える作業をQAチームで行いましたのでその時の体験談をご紹介したいと思います。
経緯
MonoxerはAndroidとiOSの各プラットフォームに対応しており、それぞれのストアの管理者権限はCTOがオーナーとなっておりました。
組織が拡大するにつれ、ストアで発生する諸々の対応をCTOが逐一行うのは非効率的になっていました。
今後の事業展開を踏まえ、設定を変える手間がかさみそうなことから、今回アプリストアのオーナーアカウントの入れ替えを行うことになりました。
モノグサではサービスのリリース作業をQAチームで担当しており、ストア周りの設定に触れることも多いため、検討の結果QAマネージャーの私が移行作業の担当を引き受けることになりました。
iOSはオーナーを簡単に引き継ぐことのできる仕組みがあったのですが、Androidはオーナーを永続的なものと定義していて引き継がれることを前提としておらず、結果、アプリの譲渡と同じプロセスを踏む必要がありました。
(現在は会社組織の場合は個人アカウントで登録しないように注意書きがあるようです)
移行作業で色々と苦労がありましたので、同じような作業をする方がいらっしゃったら参考になるよう経験したことを書き残しておきたいと思います。
事前に調べたこと、決めたこと
アカウント移行で万が一サービス停止したら大問題ですので、移行の影響を綿密に調査して段取りを決めていかねばなりません。
情報収集の際に参考にしたサイトを以下に挙げます。(先人の方々に感謝です。)
・Zaim アプリの所有者権限を変更した際の苦労話 https://note.com/y_sumida/n/n91b0265c439a
・iOS/Androidアプリを譲渡またはアカウントを移行する方法 https://backapp.co.jp/blog/12099
調査が進むにつれ、色々と面倒な作業があることがわかりました。
iOSはAccount Holderを移譲すればOKで、割とシンプルでした。
問題はAndroidです。FAQを調べたところ、オーナー権限の譲渡は出来ないようでした。現行のデベロッパーアカウントは個人のアカウントで登録されており、他の用途でも使っているので共用に変えるわけにも行きません。
念の為サポートにも問い合わせしましたが、やはり譲渡手続きになるとのことで腹を括って準備を開始しました。
基本的に譲渡手続きであるため、移行できない情報(=譲渡の場合渡す必要のない情報)が幾つかあり、そのケアが必要かどうか整理する必要がありました。
また、デベロッパーIDが変わるため、登録してある箇所は全部入れ替える必要があります。
当該のヘルプを確認し、洗い出しを進めました(下記は2024年4月頃の情報です。最新情報はヘルプをご参照ください。)
移行できる情報
- アプリのユーザー、ダウンロードの統計情報、評価およびレビュー、コンテンツのレーティング、ストアの掲載情報
移行できない情報や設定
- 一括エクスポート レポート、売上レポート、収益レポート
- この時点でストア課金が無く収益は見ていませんでした。
- ここを考慮しないで済んだのはラッキーでした。
- テスター グループなど
- デベロッパー / テスターは最初から登録し直す必要があります。
- 一括エクスポート レポート、売上レポート、収益レポート
連携し直しになる統合サービス
- Google アナリティクス
- Google Developers Console プロジェクト
- Firebase連携
- FCM (Firebase Cloud Messaging)
- Push通知で使っているため確認が必要でしたが、GCPのサポートに問い合わせた結果、対応不要でした。
- Ad SDK の統合(AdMob を含む)
- 未使用
- managed Google Play ****限定公開アプリ
- 該当せず
- Google Play Developer API
- 使用箇所があれば新しいデベロッパー IDに更新する必要あり
統合サービスへの影響を洗ううち、入れ替え時のラグが若干あるかもしれないことが気になり出し、影響度のヒアリングを行いました。アナリティクスなどが見れなくなって困ることがないか社内に確認を取りましたが、幸い数日程度のラグであれば問題ない状況でした。
切り替えに時間がかかるため、移行時期はビジネス上影響の出にくい時期を選ぶことにしました。
4月は新学期でMonoxerの導入作業が活発に行われているため、無用なトラブルを避けるために5月のGW以降に実施することになりました。
いざ移行開始
まずは移行先のアカウントを準備するところから始めます。
アカウントの管理方法、2段階認証の方法やネーミングも決めなくてはいけません。地味に手間なところです。
Android側の移行ではPlay Storeのデベロッパー名が一時的に変わるため、開始のタイミングでカスタマーサクセスチームを通じて全社に周知を行いました。
iOSアプリの移行手順
手順は以下の通りでした。
https://developer.apple.com/jp/support/account-holder-transfer/
- 受諾側アカウント(共用アカウント)の下準備
- メールアドレスを振り出してApple IDを取得
- 組織にデベロッパーとして招待する
- 本人確認を終わらせる
- ファクタ認証必須のため、電話番号も準備
- Account Holderの譲渡
- 現在のAccount Holder(CTO)が、受諾側アカウントを指定して譲渡手続きを行う
- Account Holderを受諾
- 受諾側アカウントに通知が来るので、契約を確認して同意する
- Account Holderになった旨の通知が届く
- 受諾側アカウントに通知が来るので、契約を確認して同意する
- サブスクリプションの更新設定
- 以前のAccount Holderが、サブスクリプションの自動更新をオフにする
- 新しいAccount Holderが、サブスクリプションに登録
- 有効期限の30日前から可能
概ね問題なく完了しました。
Androidアプリの移行手順
移行作業の開始を社内に宣言し、以下の手順を実施していきました。
- 現在のデベロッパー名を「monoxer.com」→「monoxer.com(旧)」に変更
- 移行先のアカウントを「monoxer.com」にするため、一時的にリネームしておく必要がありました。
- 審査しているのか、反映まで2日ほどかかりました。
- 移行先のアカウントでデベロッパー登録を行う(有料
- デベロッパー登録には審査があり、完了までしばしリードタイムがあります。2023年ころに比べると、登録に必要な情報が増えているようでした。
- D-U-N-S ナンバー
- 入力する必要があり、情報を取得しました。
- デベロッパーの連絡先登録
- 確認の音声メッセージが会社番号に届く仕組みなのですが、早く終わらせたかったため 一時的に仮の番号で登録し、後日正式な番号に入れ替えました。
- その他会社情報
- 住所、ウェブサイト、メールアドレスなどが必要です。
ここまでで一旦移行先のアカウントが作成されました。アプリの配信や譲渡を受けられるような状態にするには、さらに追加で諸々の設定を進めていきます。
- 本人確認
- 会社設立証書、登記簿、税務署からの何らかの書類、納税証明書が必要
- アップロードの容量制限が厳しく、今回使用した資料ではPDFをダウンサイズしておく必要がありました。
- 確認書類に記載のある経営者が、身分証明書を送って登録する必要がありました。
- 会社設立証書、登記簿、税務署からの何らかの書類、納税証明書が必要
- Google Payments 販売アカウントを作成
- Google Search Consoleで会社のウェブサイトを認証登録します
- 案内に沿ってお支払いプロファイルを作成します
- 銀行口座登録
- 銀行口座を登録すると、確認用のデポジットが振り込まれます。
- 経理に協力をお願いして確認を終えました。
- 移行先のアカウントでテストアカウント、グループ等を作成し直す
- 現行のアカウントと同じ内容で登録し直しました。
- Googleからの連絡をMLにしてメンバーを招待すると良いようです。
- GCPのサービスアカウントを招待する
- 手元の環境ではユーザーとして登録すればOKでした。
- レポートのダウンロード(念の為)
- レポートは利用していないと聞いており対応不要なものでしたが、2024年分について落とせるものは落としておきました。
一連の設定が終わったらいよいよ移行リクエストです。
- アプリの移行リクエストを送る
- 元のアカウントと移行先アカウントの登録取引 ID を調べて元のアカウントからサポートに依頼します。
- 新しいアカウントの準備が全部完了していないと、アプリの移行は行えません。
移行リクエストを送ってから2日程度でリクエストが処理されました。 移行後に一連の動作確認を行い、移行完了となりました。
- 移行完了の確認
- Play storeでアプリをダウンロード出来ること
- push通知を送信出来ること
- Firebaseで各種情報を閲覧可能なこと
- アプリをアップデート出来ること(旧アカウントで作成したビルドを使いましたが、新アカウントでもビルドすべきでした。このあたりは後述します)
移行で躓いたポイント
移行中、幾つか躓いたポイントがあったので愚痴注意喚起しておきます。
想定外① Apple Developer Appの本人確認書類アップロード
iOS側の移行は概ね順調に進みましたが、一点困ったのが本人確認が運転免許証では通らず、パスポートを引っ張り出してやっと通ったことです。写りの問題なのかもしれませんが、もっと簡単に認証できると嬉しいところですね。
想定外② Google Play Consoleの移行先アカウントの本人確認
どうしても経営陣に作業依頼をせねばならず、使ったPDFが一発で通らなかったこともあり手間取りました。会社の書類と本人の確認と段階が分かれてるとありがたいなと思いました。
想定外③ Google Play Consoleのお支払いプロファイル
銀行のデポジット手続きは認識していたのですが、会社のウェブサイトをGoogle Search Consoleへ登録する必要があり、確認用のファイルをサイトにアップロードするのに少々時間を食いました。
そして作業漏れ発生
移行作業にはなんだかんだで1ヶ月程度かかり、一通り片付けてほっとしたところで作業漏れが判明しました。
Androidアプリの新しいバージョンのビルドをするところでCIが失敗、原因はGCPのサービスアカウントに対してmonoxerアプリのアクセス権限を付与出来ていなかったせいでした。
アプリ譲渡前の待ち時間に開発者アカウントを登録し直したため、その時点ではmonoxerアプリへの紐付けがまだ出来ておらず、作業漏れとなってしまいました。
GCPのサービスアカウントおよび開発メンバーのデベロッパーアカウントの紐付けを行い、すぐに復旧させることが出来ました。
最後に
こういう作業はふつう、インフラ系だったシニアなDevの方などが担当する作業で、QAがこの手の作業をすることは珍しいのではないでしょうか。慣れないところも多く、沢山の方の手助けをいただいてなんとか完了することが出来ました。 この記事が何かのご参考になれば幸いです。
モノグサQA募集中です
モノグサ株式会社では一緒に働く仲間を募集しています。 少しでも興味を持ってくださった方は、ぜひお話しましょう!