スマホアプリ
2025.06.26
Firebase Dynamic Links廃止対応で40アプリをApp Linksへ――高速移行プロジェクト
概要—課題と結果
課題
Google は 2025 年 8 月 25 日に Firebase Dynamic Links をサービス終了するfirebase.google.com。
当社が保守する約 40 本の iOS / Android アプリでは、下記機能に必須のディープリンクを Dynamic Links で実装していた。
リンクが失効すると onboarding とサポート工数が大幅に増えるため、3ヶ月以内に代替手段へ切り替える必要が生じた。
会員登録
パスワードリセット
メールアドレス変更
結果
Android は App Links、iOS は Universal Links を採用し、Backend で生成する全リンクを再設計。
検証期間を含め約 3 か月で 40 アプリすべてをストア公開まで完了した。
Firebase Dynamic Links廃止の発覚と移行期限
Dynamic Links は「アプリが入っていなければストアへ、入っていればコンテンツへ」というクロスプラットフォームリンクだった。廃止により URL は 404 を返し、Short Links API も 4xx 応答になるfirebase.google.comfirebase.google.com。2025 年 8 月 25 日以降にリンク障害が起きてもロールバックはできないため、“切り替え完了=唯一のリスクヘッジ” と位置付けた。
代替技術の選定—Android App Links と iOS Universal Links
項目 | Android App Links | iOS Universal Links |
|---|---|---|
公式サポート | Android 6.0 以降 | iOS 9 以降 |
実装方式 | Digital Asset Links でドメイン検証 | apple‑app‑site‑association でドメイン検証 |
ユーザー体験 | 選択ダイアログをスキップし直接遷移developer.android.com | Safari 経由せずアプリを起動developer.apple.com |
Web フォールバック | ブラウザで該当 URL 表示 | 同上 |
Firebase 依存 | なし | なし |
両技術とも “所有ドメイン証明によるリンク自動ルーティング” が特徴で、Dynamic Links 依存を完全に排除できる。
メールリンクフロー再設計—Backend・アプリ間の責務整理
旧実装は Firebase SDK が署名付きリンクを生成していたが、新実装では Backend が署名トークン付き URL を出力する。アプリは OS にルーティングを委ね、トークン検証 API を呼び出す構成に変更した。
AndroidのDynamicLinksのフロー

iOSのUniversal Linksのフロー

Backend 改修ポイント
署名方式の独自実装
HMAC‑SHA256 で 10 分有効トークンを発行
Database の
password_resetsテーブルでリプレイ攻撃を防止URL ルーティングの単純化
/action/:type/:tokenを 1 本に統一監査ログ
CloudWatch Logs にトークン検証結果を出力し異常値を Prometheus で監視
品質保証—自動テストとパイロット展開
テストレイヤ | 旧ケース数 | 新ケース数 | 備考 |
|---|---|---|---|
Unit | 85 | 102 | 署名失効やタイムゾーン誤差を追加 |
API | 24 | 40 | トークン不正・多重利用シナリオ |
E2E (Detox) | 6 | 9 | OS ルーティング検証 |
パイロットは影響度の小さい 5 アプリで実施し、CS 問い合わせゼロを確認後に残りを一括配信した。
つまずきポイントと解決策
課題 | 原因 | 解決策 |
|---|---|---|
Android 13 でリンクがブラウザに落ちる |
| Play Console の Digital Asset Links Debugger で検証後、証明書 SHA256 を更新 |
iOS TestFlight で Universal Links が無反応 | apple‑app‑site‑association キャッシュ | 該当ドメインを |
メールクライアント経由の URL エンコード崩れ | Outlook の改行自動挿入 |
|
今後の展望—リンクインフラの“所有”を続ける
Dynamic Links 廃止は「リンク機能を第三者に委ねるリスク」を顕在化させた。
リンク生成を自前 API に統合
証明ファイルと TLS 証明書を IaC 管理
することで将来のプラットフォーム変更にも対応可能な体制を整えた。今後は CI で定期的にドメイン検証を行い、リンクインフラを「運用資産」として磨いていく。
まとめ
締切が決まっている場合、“代替技術の早期確定” が成功の鍵
firebase dynamiclinks 代替 の本命は Android App Links / iOS Universal Links
Backend でリンク責務を一元化すると、テストと監視が容易
40 アプリでも 設計→自動化→パイロット→一括展開 の型で 3 か月以内に移行できた
以上が BASHAKA の経験知だ。リンクは小さな UX だが、サービスの信頼を支える基盤でもある。廃止告知に振り回されない開発プロセスこそ、長期運用のコストを最小化する最良の投資といえる。