アプリがインストールされていない場合にユーザーを App Store (iOS) または Play Store (Android) にリダイレクトするには、通常、次の 2 つの手順に従います。
- カスタム URL スキーム (ディープリンク) を使用してアプリを開こうとします。
- アプリが開けない場合 (インストールされていないことを示す)、ユーザーを適切なアプリストアにリダイレクトします。
両方のプラットフォームの内訳を以下に示します。
1. iOS
iOS では、ユニバーサルリンクまたはカスタム URL スキームを使用できます。
-
カスタム URL スキーム:
- アプリのカスタム URL スキームを定義します (例:
your_app_app_scheme://)。 - ユーザーがリンクをクリックすると、このスキームを開こうとします。
- アプリがインストールされていれば開きます。インストールされていない場合、ブラウザは通常 URL を開けず、その後 App Store にリダイレクトできます。
-
例 (HTML/JavaScript):
html <a href="your_app_scheme://">Open My App</a> <script> setTimeout(function() { window.location.href = "https://apps.apple.com/app/idYOUR_APP_ID"; // YOUR_APP_ID を置き換える }, 250); // アプリが開くのを許可するための短い遅延 </script>この JavaScript はアプリを開こうとします。250 ミリ秒以内にアプリが開かない場合、App Store にリダイレクトされます。
- アプリのカスタム URL スキームを定義します (例:
-
ユニバーサルリンク:
- ユニバーサルリンクは Apple が推奨する方法です。これらは、アプリが主張できる標準の
https://リンクです。 - アプリがインストールされている場合、ユニバーサルリンクをクリックするとアプリが直接開きます。
- アプリがインストールされていない場合、リンクは Safari で開き、その後 Web サイトから App Store にリダイレクトできます。これにはサーバーサイドの設定 (
apple-app-site-associationファイル) が必要です。
- ユニバーサルリンクは Apple が推奨する方法です。これらは、アプリが主張できる標準の
2. Android
Android では、Android アプリリンクまたはカスタム URL スキーム (ディープリンク) を使用できます。
-
カスタム URL スキーム (ディープリンク):
- iOS と同様に、カスタム スキーム (例:
your_app_scheme://) のためにAndroidManifest.xmlにインテントフィルターを定義します。 - ユーザーがリンクをクリックすると、このスキームを開こうとします。
- アプリがインストールされていれば開きます。インストールされていない場合、ブラウザは通常 URL を開けず、その後 Play Store にリダイレクトできます。
-
例 (HTML/JavaScript):
html <a href="your_app_scheme://">Open My App</a> <script> setTimeout(function() { window.location.href = "market://details?id=com.yourcompany.yourapp"; // アプリのパッケージ名に置き換える }, 250); // アプリが開くのを許可するための短い遅延 </script>market://スキームは Play Store を直接開きます。
- iOS と同様に、カスタム スキーム (例:
-
Android アプリリンク:
- Android アプリリンクは iOS ユニバーサルリンクに似ています。これらは、アプリが主張できる標準の
https://リンクです。 - アプリがインストールされている場合、アプリリンクをクリックするとアプリが直接開きます。
- アプリがインストールされていない場合、リンクはユーザーのデフォルトのブラウザで開き、その後 Web サイトから Play Store にリダイレクトできます。これにはサーバーサイドの設定 (
assetlinks.jsonファイル) も必要です。
- Android アプリリンクは iOS ユニバーサルリンクに似ています。これらは、アプリが主張できる標準の
3. 一般的な考慮事項
- ユーザーエクスペリエンス: ユーザーに何が起こっているのかを明確に伝えます (例: 「アプリを開いています...」または「App Store にリダイレクトしています...」)。
- 遅延: アプリがインストールされている場合に起動するのに十分な時間を確保するために、App Store へのリダイレクトを試みる前に短い遅延 (例: 250ms) を使用します。
- フォールバック: アプリがインストールされていない場合は、常に該当するアプリストアへのフォールバックを用意してください。
- アプリ ID/パッケージ名: アプリケーションに正しい App Store ID (iOS) とパッケージ名を使用していることを確認してください。