ディープリンクが意図した画面に遷移しない場合、まずはReproを介さず、ディープリンクがどのように動作するか確認する必要があります。
ディープリンクとは
ディープリンクとは、アプリ内の特定の画面へ直接遷移させるためのURLです。
アプリ側での実装により動作しており、生成されたURLによりアプリの特定画面に遷移させるように実装するものです。
そのため、まずはReproを介さずにそのディープリンクが正常に動作するかどうかを確認します。
ステップ1|Reproを介さずにディープリンクの挙動を確認
まずは、Reproを使わずにディープリンクが正常に動作するかを確認します。
メモ帳アプリなどにディープリンクURLを記載し、タップして以下のアプリの状態ごとに動作を確認しましょう。
- アプリがキル状態(完全に終了している)
- アプリがバックグラウンド状態
- アプリがフォアグラウンド状態
それぞれの状態で、ディープリンクをタップした際に期待する画面に遷移できるかを確認します。
ここでディープリンクが動作しない場合は、アプリ開発者にディープリンクが動作しない旨を伝え、実装内容の確認を依頼してください。
ディープリンクが問題なく遷移できる場合はステップ2を確認してください。
ステップ2|Reproを利用してディープリンクの挙動を確認
Reproを使ったディープリンクの動作を検証します。
基本的にプッシュ通知機能でReproを利用したディープリンクの挙動確認ができます。
以下の各状態で期待通りに動作するか確認し、状況をメモしましょう。
- プッシュ通知から起動(アプリがキル状態)
- プッシュ通知から起動(アプリがバックグラウンド状態)
- アプリ内メッセージから遷移(アプリがフォアグラウンド状態)
注釈💬
フォアグラウンド状態でのプッシュ通知表示には、アプリ側で実装が必要です。お済みでない場合は、プッシュ通知をフォアグラウンド状態で受け取っても表示できない可能性があります。
Reproを介したときだけディープリンクが動作しない場合は以上で検証した情報をもとに、チャットサポートへご連絡ください。要因の切り分けをお手伝いします。
参考|Reproを介した場合のみ動作するディープリンク
Repro App SDKは、アプリ内メッセージやプッシュ通知で配信したコンテンツの遷移先として設定したURLに対し、任意で画面遷移処理をカスタマイズする実装ができます。
開発ドキュメント:iOS SDK > ユニバーサルリンクを使用する
本実装を利用している場合、(アプリ内メッセージやプッシュ通知経由で)Reproを利用したときだけ機能するディープリンクを作成できます。
メモ帳アプリからではアプリが起動しないケースでは、Reproの利用を前提としたディープリンクの可能性もありますので、注意してください。
参考|よくあるケースと対応方法
以下のケースに該当する場合は、実装を担当したエンジニアへ対応方法を確認してください。
| 事象 | 想定される要因 | 対応方法 |
|---|---|---|
| アプリの状態に関わらず、指定した画面に全く遷移しない | 1. Reproキャンペーンに指定したURL文字列と、アプリ側で定義・設定したURLスキームや識別子に相違(タイポ等)がある。 2. アプリ側に渡されたURL(パラメータ)を解析し、目的の画面を呼び出す「ルーティングロジック」自体に不具合がある、または未実装である。 |
1. 管理画面に入力した文字列と、アプリ側の設定(XcodeのURL TypesやAndroidのintent-filter)が完全に一致しているか確認してください。 2. 「ステップ1|Reproを介さずにディープリンクの挙動を確認」を実施し、Reproを介さない状態でも遷移しない場合は、アプリ内のルーティング処理(URLのパースや画面生成・表示ロジック)の修正が必要です。 |
| Universal Linksを設定したのに、アプリが開かずブラウザが開いてしまう | 1. OS側の設定ファイルの記述エラー、またはサーバー配置の不備(AASAやassetlinks.json)。 2. 同一ドメイン上のリンクを手動でブラウザの検索窓等に入力した(OSの仕様上、手動入力時はブラウザ維持が優先される)。 3.「URLをフックして自前のWebViewに読み込ませるコールバック処理」が実装されていないため(Repro SDKは設定されたURLをそのままOSに渡して開く仕様)。 |
「ステップ1|Reproを介さずにディープリンクの挙動を確認」を実施し、Reproを介さない状態でも遷移しない場合は、OS側で正しくドメインとアプリが関連付けられているか確認してください。 |
| アプリ内WebViewでURLを開きたいが、SafariやChromeなどの標準ブラウザが起動してしまう | アプリ側で「URLをフックしてアプリ内WebViewに読み込ませるコールバック処理」や「WebView起動用カスタムURLスキームのパース処理」に不具合がある、または未実装である。 この場合Repro SDKの仕様上、設定されたURLをそのままOSに渡して開くので標準ブラウザが起動します。 |
開発ドキュメントを参考に、アプリ側にコールバック等のフック処理を実装するか、専用のカスタムURLスキームを用意してください。 ・ユニバーサルリンクのURLパターンを登録する ・ユニバーサルリンク実行時の処理を登録する |