モバイルアプリテストでは「ディープリンクを開く」コマンドが利用可能です。本コマンドを使うと、以下のような操作が実現できます。
- カスタムスキーム(theapp:// や geo:// など)のURIを開く
- http:// や https:// で始まるWebサイトのURLを開く
- http:// や https:// で始まるUniversal LinksやAndroid App Linksを開く
目次
リンクで開かれるアプリ
ディープリンクとして指定したURIでどのアプリが開かれるかは、アプリのインストール状況やシステム設定、またコマンドの「リンクで開かれるアプリ」オプションに依存します。
「リンクで開かれるアプリ」オプションに特定のアプリを設定した場合は、そちらが優先して利用されます。「指定なし」を設定した場合は、通常はリンクに紐づいたシステムのデフォルトアプリが利用されます。
Androidにおける制約
外部クラウド環境でのオプション指定
- 外部クラウド環境(BrowserStack、SauceLabsなど)では「リンクで開かれるアプリ」オプションに「指定なし」を設定する機能に未対応なため、「指定なし」を設定した場合は実行エラーとなります。これらの環境を利用される場合、「リンクで開かれるアプリ」オプションには特定のアプリを指定してください。
Chromeが利用される場合
- 初期画面として「ようこそ画面」や「サインインを求める画面」などが出現することがあります。これらは「タップ」コマンドで画面を閉じる処理を必要に応じて追加してください。
- WebViewスキャン時に空のタブが存在するとスキャンに失敗することがあるという不具合が報告されています。Chrome起動時には自動で空のタブが作成されることがあるため、「タップ」コマンドでタブを閉じる処理を必要に応じて追加してください。
- 不具合に関する詳細は、「WebViewのテストについて」の「Android WebViewのスキャンに関する既知の問題」を参照してください。
OneLinkのハンドリングをAppsFlyerのSDKで実施している場合
- SDK側の制約により、アプリがフォアグラウンドにいる場合に、リンクを開くことができない問題が報告されています。リンクを開く直前にアプリをバックグラウンドに移動するようにしてください。
iOSにおける制約
iOS 16.3以下
- iOS 16.3以下の環境では、内部操作としてSafariを経由してリンクを開き、さらにリンクに紐づいたアプリが開かれます。
Safariを経由している都合上、いくつか制約が存在します。- ユニバーサルリンクの起動には対応していません。これはMagicPod側の改善課題と認識しており、修正を検討しております。
- Safariで既にタブが開かれていた場合、既存のタブが上書きされる可能性があります。
- 特定のアプリを指定してリンクを開くことはできません。そのため、「リンクで開かれるアプリ」オプションの設定は反映されません。
- 指定されたURIに打ち間違い等が存在していた場合、エラーになるのではなく検索画面に移行してしまうことがあります。
トラブルシューティング
クラウド端末と実機でiOSのユニバーサルリンクをタップした際の遷移先が異なる
シミュレータ環境における問題であるのか、MagicPodの問題であるのかを切り分けるため、お手元のiOSシミュレータで同様の問題が起こるかを確認してください。
参考:テスト対象アプリの挙動がiOS/Androidクラウド端末と実機で異なる
同様の問題が起こる場合:シミュレータでの挙動に関する問題となるため、以下内容をアプリ開発者に相談してください。また、ユニバーサルリンクのデバッグに関するApple Developerドキュメントも参考にしてください。
- ユニバーサルリンクの設定ファイル(apple-app-site-association)に不備がないか
- テスト対象アプリのURL SchemeやAssociated Domainsの設定が正しく行われているか
同様の問題が起きない場合:MagicPodサポートに連絡してください。