開発者向け
端末に応じてユーザーを正しいアプリストアへ自動でリダイレクトする方法
iOS か Android かを判別し、訪問者を正しいストアへ — 判別コードを書くこともホスティングすることもなく。
結論
ストアの URL ではなく、スマートリンクを 1 本共有しましょう。OneStoreLink(onestore.link)はリンクが開かれた時点で訪問者の端末を読み取り、iPhone は App Store へ、Android スマートフォンは Google Play へ、パソコンは両方のボタンのあるページへ送ります。判定は Cloudflare のエッジで行われるため、判別コードを自分でホスティングしたり保守したりする必要はありません。
最終確認日:2026-10-22
ユーザーを正しいストアへ送るには、リクエストから端末を読み取り、それに応じてリダイレクトする必要があります。自前のサーバーで User-Agent を判別して自作することもできますが、UA 文字列は変わっていき、アプリ内ブラウザは予想外の動きをし、しかもリダイレクト用のエンドポイントをずっと抱え続けることになります。このガイドでは、端末に応じたストアへのリダイレクトの仕組みと、そうしたコードを一切保守せずに実現する方法を説明します。
課題
- User-Agent 文字列は一貫性がなく時とともに変わるため、自作の判別はすぐに古びる。
- アプリ内ブラウザ(TikTok、Instagram、Facebook)では、単純なストアへのリダイレクトが壊れる。
- リダイレクトを自前でホスティングすると、エンドポイント、TLS、稼働率を自分で維持しなければならない。
- デスクトップ、タブレット、不明な端末といった例外ケースには、それぞれ代替の処理が必要になる。
onestore.link なら
- onestore.link はサーバー側で端末を読み取り、iOS は App Store へ、Android は Google Play へ 302 リダイレクトする。
- アプリ内ブラウザには、失敗するリダイレクトではなく、読み込み時に自動でストアへ引き渡す専用のブリッジページを表示。
- デスクトップや不明な端末は、両方のボタンがあるランディングページに切り替わる。
- Cloudflare のエッジ上、訪問者それぞれに最も近いデータセンターで動作し、保守するものは何もない。
手順
SDK も再ビルドも不要。URL があるだけです。
- 1
両方のストア URL でリンクを作成
onestore.link のスラッグに App Store と Google Play の URL を追加します。これがリダイレクト先になります。
- 2
そのリンクを遷移先にする
ボタン、広告、QR コードの遷移先を、固定のストアリンクではなく onestore.link の URL にします。
- 3
判別はエッジに任せる
リクエストごとに(iOS / Android / アプリ内 / デスクトップ)が分類され、正しいストアまたはブリッジページへ自動で振り分けられます。
よくある質問
端末の判別は実際にどのように動いていますか?
onestore.link はサーバー側でリクエストの User-Agent を調べてプラットフォームを分類し、該当するストアへ 302 リダイレクトを返します。アプリ内ブラウザとデスクトップには、そのままのリダイレクトではなく、それぞれに合わせた代替の処理を行います。
クエリパラメーターや UTM タグはリダイレクト後も残りますか?
はい。UTM や任意のクエリパラメーターはリダイレクトを通じて保持されるので、その先の分析ツールでも引き続きクリックの出どころを特定できます。
経路上にサードパーティへの依存を挟まずに実現できますか?
リダイレクトは、KV にキャッシュされたリンクのデータをもとに、Cloudflare のエッジ上、訪問者に最も近いデータセンターで判定されるため、遅延はほとんど増えません。自前でホスティングしたい場合は、Firebase Dynamic Links との比較でトレードオフをご確認ください。
試してみませんか?
ずっと無料、パスワード不要。リンクは1分ほどで完成します。
無料リンクを作るツールを比較中ですか? onestore.link vs firebase dynamic links →