直接回答
デバイスリダイレクトは、訪問者のユーザーエージェントを読み取り、iPhoneユーザーをApp Storeへ、AndroidユーザーをGoogle Playへ、それ以外のユーザーをWebページへ、すべて1つのリンクから送ります。自分のサーバーで今日すぐに設定できます(例は下記)。RedirHubでは、デバイスルーティングはリクエスト制です。お問い合わせいただければ、最短3日でワークスペースに有効化できます。
| Item | Details |
|---|---|
| Goal | go.mybrand.com/app を開くと、デスクトップでは適切なアプリストア、またはWebページが表示されます |
| リダイレクト種類 | 302 一時的、なぜなら転送先はデバイスに依存するため |
| 注意点 | Macブラウザを報告するiPadや、ユーザーエージェントを無視するキャッシュ |
Nginxで設定する#
nginxmap $http_user_agent $app_target {
default https://mybrand.com/get-the-app;
~*(iphone|ipad) https://apps.apple.com/app/id123456789;
~*android https://play.google.com/store/apps/details?id=com.mybrand.app;
}
server {
server_name go.mybrand.com;
location = /app {
add_header Vary User-Agent;
return 302 $app_target;
}
}Webページに設定する#
サーバーを変更できない場合でも、ランディングページ上の小さなスクリプトで同じことができます。最近のiPadはMacのブラウザーとして報告されるため、タッチ対応も確認してください:
javascriptconst ua = navigator.userAgent;
const isIOS = /iPhone|iPad|iPod/.test(ua) ||
(/Macintosh/.test(ua) && navigator.maxTouchPoints > 1);
if (isIOS) {
location.replace('https://apps.apple.com/app/id123456789');
} else if (/Android/i.test(ua)) {
location.replace('https://play.google.com/store/apps/details?id=com.mybrand.app');
}よくあるミス#
- 301を使うこと: ブラウザーはそれをキャッシュするため、以前にApp Storeへ案内された端末はそのままそこへ行き続けます。
- Vary: User-Agentを忘れること: その結果、キャッシュがiPhone向けの応答をAndroidユーザーに返してしまいます。
- フォールバックがないこと: デスクトップ訪問者や未知の端末にも、正常に動作するWebページが必要です。
RedirHubでのデバイスルーティング(要リクエスト)#
RedirHubのブランドリンクとQRコードは、ワークスペースでデバイスルーティングを有効にすると、各デバイスタイプをそれぞれの送信先に振り分けられます。そのため、印刷したQRコードを開くと適切なアプリストアが表示され、後から送信先を変更することもできます。これはリクエストに応じて設定され、最短3日で利用開始できます。
ご希望の場合は、お問い合わせフォームまたはsuccess@redirhub.com宛てに、ワークスペース名、リンク、各デバイスの送信先を記載してご連絡ください。
RedirHubでデバイスルーティングが必要ですか? 必要なリンクとデバイスをお知らせください。最短3日で公開できます。
デバイスルーティングを依頼するストアURL形式、Smart App Banners、ディープリンクについては、App Store Redirect: One Link for iPhone and Android Usersをお読みください。
よくある質問
デバイスルーティングはご要望に応じて利用できます。お問い合わせフォームまたはsuccess@redirhub.comからご連絡ください。最短3日でワークスペースに有効化できます。
302です。遷移先はデバイスによって異なり、ブラウザは301をキャッシュするため、スマートフォンがずっと同じ場所に送られてしまいます。
最近のiPadのSafariはMacのユーザーエージェントを報告します。タッチ対応も確認するか、MacとiPadの訪問者を両方のストアバッジがあるページに送ってください。
