2016-05-15 9 views
0

アプリがインストールされている場合に起動し、アプリが存在しない場合はウェブサイトにフォールバックしようとしています。 (からいくつかの洞察力を得た:How to check if an app is installed from a web-page on an iPhone?ブラウザからアプリを起動する

私は、カスタムURLスキームを使用してアプリを起動することができましたが、唯一のユーザーとの対話があったときに(例えば、ユーザは)ボタン/リンクをクリックすることができました:

<a onclick="window.open('myapp://foo=bar', '_system')">Launch myapp</a> 
しかしながら

window.open使用( 'myappに:// FOO =バール'、 '_SYSTEM');

又は

window.locationの= 'myappに:// FOO =バー'ユーザーとのやり取りなしで(たとえば、ウィンドウの読み込み/ドキュメント準備中)、アプリケーションは起動しません。

これは予想されますか?

どのような回避策ですか?

おかげ 鷺

+1

これは期待されています。ユーザーがブラウザを使用している場合は、ブラウザを使用しています。あなたのアプリケーションを使用するには、カスタムURLをクリックしてボタンをクリックするだけです。 – adelphus

答えて

1

厥期待。 window.open()に電話をかける前に、ユーザーとのやりとりがまず必要です。それはプログラム的に行うことはできません。

ご覧になりたいことがあります。Universal Linksです。通常のhttp://リンクを介してアプリを起動するこのアプローチは、URLスキームを使用する代わりに新しい優先アプローチです。ユニバーサルリンクでは、アプリケーションがインストールされているかどうかを判断するロジックを処理する必要はありません。自動的に処理されます。すべての大企業はこのアプローチを使用しています。このblogもチェックしてください。

関連する問題