課題
Google は 2025 年 8 月 25 日に Firebase Dynamic Links をサービス終了します。当社が保守する約 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 応答になります。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 でドメイン検証 |
ユーザー体験 | 選択ダイアログをスキップし直接遷移 | Safari 経由せずアプリを起動 |
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 でリンクがブラウザに落ちる | android:autoVerify が無効 | Play Console の Digital Asset Links Debugger で検証後、証明書 SHA256 を更新 |
iOS TestFlight で Universal Links が無反応 | apple-app-site-association キャッシュ | 該当ドメインを .well-known に再配置し curl で application/json を返却するか確認 |
メールクライアント経由の URL エンコード崩れ | Outlook の改行自動挿入 | token を Base64URL エンコードし 72 字ごとに改行しない |
今後の展望――リンクインフラの"所有"を続ける
Dynamic Links 廃止は「リンク機能を第三者に委ねるリスク」を顕在化させました。リンク生成を自前 API に統合し、証明ファイルと TLS 証明書を IaC 管理することで、将来のプラットフォーム変更にも対応可能な体制を整えました。今後は CI で定期的にドメイン検証を行い、リンクインフラを「運用資産」として磨いていきます。
まとめ
- 締切が決まっている場合、「代替技術の早期確定」が成功の鍵
- firebase dynamiclinks 代替 の本命は Android App Links / iOS Universal Links
- Backend でリンク責務を一元化すると、テストと監視が容易
- 40 アプリでも 設計→自動化→パイロット→一括展開 の型で 3 か月以内に移行できた
リンクは小さな UX ですが、サービスの信頼を支える基盤でもあります。廃止告知に振り回されない開発プロセスこそ、長期運用のコストを最小化する最良の投資といえます。



