1. ホーム
  2. iphone

[解決済み】YouTubeやMapsなど、iPhoneアプリのhttp+ドメインベースのURL Schemeを登録することは可能でしょうか?

2022-04-21 14:29:24

質問

iOSで自分のドメインからのURL(例えば http://martijnthe.nl ) がインストールされている場合は私のアプリで、インストールされていない場合はモバイルSafariで表示されます。

このためにユニークなプロトコルサフィックスを作成してInfo.plistに登録することが可能だと読みましたが、アプリがインストールされていない場合、Mobile Safariはエラーになります。

回避策はありますか?

一つのアイデアです。

1) デスクトップのブラウザで開く http:// の URL を使用し、ブラウザを通してサービスをレンダリングする。

2) User-Agentを確認し、Mobile Safariの場合はmyprotocol://のURLを開いてiPhoneアプリを開く(試行)、試行に失敗した場合はMobile iTunesを開いてアプリのダウンロードをさせる。

うまくいくかどうかわかりませんが...提案お願いします。ありがとうございます。

解決方法は?

一番邪魔にならない方法は、次のようなものだと思います。

  1. ユーザーエージェントがiPhone/iPod Touchのものであるかどうかを確認します。
  2. をチェックします。 appInstalled クッキー
  3. Cookieが存在し、trueに設定されている場合、以下のように設定します。 window.location から your-uri:// (またはサーバー側でリダイレクトを行う)
  4. クッキーが存在しない場合、quot;Did you know Your Site Name has an iPhone application?" モーダルで、Yep, I've already got it", Nope, but I'd love to try it" and "Leave me alone" ボタンを表示させることができます。
    1. Yep"ボタンはクッキーをtrueに設定し、次のようにリダイレクトします。 your-uri://
    2. Nope"ボタンは、"にリダイレクトされます。 http://itunes.com/apps/yourappname 端末のApp Storeが開きます。
    3. ボタンを押すと、Cookieがfalseに設定され、モーダルが閉じます。

もう一つの方法は、Javascriptで次のようにすることです。

setTimeout(function() {
  window.location = "http://itunes.com/apps/yourappname";
}, 25);

// If "custom-uri://" is registered the app will launch immediately and your
// timer won't fire. If it's not set, you'll get an ugly "Cannot Open Page"
// dialogue prior to the App Store application launching
window.location = "custom-uri://";