Instagram には、Web URL からアプリを開くために使用できるクールなフックがいくつかあります。
例: instagram://camera
しかし、ユーザーが instagram をインストールしていない場合、ブラウザーは URL を処理する方法を知りません。ユーザーが instagram を (javascript で) インストールしているかどうかを検出する方法はありますか?
Instagram には、Web URL からアプリを開くために使用できるクールなフックがいくつかあります。
例: instagram://camera
しかし、ユーザーが instagram をインストールしていない場合、ブラウザーは URL を処理する方法を知りません。ユーザーが instagram を (javascript で) インストールしているかどうかを検出する方法はありますか?
Objective-C では、この[[UIApplication sharedApplication] canOpenURL:url]
式を使用して、URL がシステム内のアプリによって処理されているかどうかを検出できます。PhoneGap または類似のフレームワークを使用している場合は、このメソッドを探してください。Web アプリケーションしかない場合、これは不可能であると確信しています。
Web アプリの問題は、Web ページのようにサンドボックス化されており、ブラウザーの外部にアクセスできないことです。ただし、タイミングベースの方法で存在を検出できる可能性があるようです。つまり、アプリがインストールされていない場合、ユーザーは一定の比較的短い時間内にブラウザーに戻るか、ブラウザーをまったく離れることができなくなります。これらの線に沿って考えると、私はこの解決策を見つけました: URLスキームがjavascriptでサポートされているかどうかを確認してください
このアプローチを使用してソリューションを構築できる場合もありますが、「ページを開けません」というアラート ボックスが常にユーザーに表示されます。ただし、この私見は、Web アプリ側で正しく処理すれば、それほど面倒ではありません。
UIApplication には、canOpenURL:
チェックに使用できるメソッドがあります。
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"instagram://camera"]]) {
}