スマホアプリ

    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のフロー

    Android のDynamicLinksのフロー

    iOSのUniversal Linksのフロー

    iOSのUniversal Linksのフロー

    Backend 改修ポイント

    1. 署名方式の独自実装

      HMAC‑SHA256 で 10 分有効トークンを発行

      Database の password_resets テーブルでリプレイ攻撃を防止

    2. URL ルーティングの単純化

      /action/:type/:token を 1 本に統一

    3. 監査ログ

      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 に再配置し curlapplication/json を返却するか確認

    メールクライアント経由の URL エンコード崩れ

    Outlook の改行自動挿入

    token を Base64URL エンコードし 72 字ごとに改行しない


    今後の展望—リンクインフラの“所有”を続ける

    Dynamic Links 廃止は「リンク機能を第三者に委ねるリスク」を顕在化させた。

    • リンク生成を自前 API に統合

    • 証明ファイルと TLS 証明書を IaC 管理
      することで将来のプラットフォーム変更にも対応可能な体制を整えた。今後は CI で定期的にドメイン検証を行い、リンクインフラを「運用資産」として磨いていく。


    まとめ

    • 締切が決まっている場合、“代替技術の早期確定” が成功の鍵

    • firebase dynamiclinks 代替 の本命は Android App Links / iOS Universal Links

    • Backend でリンク責務を一元化すると、テストと監視が容易

    • 40 アプリでも 設計→自動化→パイロット→一括展開 の型で 3 か月以内に移行できた

    以上が BASHAKA の経験知だ。リンクは小さな UX だが、サービスの信頼を支える基盤でもある。廃止告知に振り回されない開発プロセスこそ、長期運用のコストを最小化する最良の投資といえる。

    Favicon

    Favicon

    Favicon

    お問い合わせはこちら
    ホーム

    |

    システム開発事業

    |

    開発事例

    |

    Firebase Dynamic Links廃止対応で40アプリをApp Linksへ――高速移行プロジェクト

    お問い合わせ

    サービスに関するご質問や、取材・パートナーシップのご相談などはこちらからお気軽にご連絡ください。

    trending_flat

    お問い合わせはこちら

    採用について

    チームのビジョンに共感し、共に前進できる仲間を探しています。一緒に働いてみませんか?

    launch

    採用情報はこちら