YouTubeやマップなどのiPhoneアプリにhttp+ドメインベースのURLスキームを登録することは可能ですか?質問する

YouTubeやマップなどのiPhoneアプリにhttp+ドメインベースのURLスキームを登録することは可能ですか?質問する

アプリが携帯電話にインストールされている場合は、iOS で自分のドメインの URL (例: http://martijnthe.nl ) を自分のアプリで開き、インストールされていない場合は Mobile Safari で開くようにしたいと思います。

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

回避策は何でしょうか?

一つのアイデア:

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

2) ユーザーエージェントを確認し、モバイル Safari の場合は、myprotocol:// URL を開いて iPhone アプリを開こうとします。失敗した場合は、モバイル iTunes を開いてアプリをダウンロードします。

これがうまくいくかどうかはわかりません... 提案はありますか? ありがとうございます!

ベストアンサー1

最も邪魔にならない方法は次の通りだと思います:

  1. ユーザーエージェントがiPhone/iPod Touchのものかどうかを確認します
  2. appInstalledクッキーを確認する
  3. クッキーが存在し、trueに設定されている場合は、設定window.locationするyour-uri://(またはサーバー側でリダイレクトを実行する)
  4. Cookie が存在しない場合は、「サイト名に iPhone アプリケーションがあることをご存知ですか?」というモーダルを開き、「はい、すでにインストールしています」、「いいえ、でも試してみたいです」、「そのままにしておきます」ボタンを表示します。
    1. 「はい」ボタンはクッキーをtrueに設定し、your-uri://
    2. 「いいえ」ボタンは「http://itunes.com/apps/yourappname」にリダイレクトされ、デバイス上でApp Storeが開きます。
    3. 「放っておいて」ボタンはクッキーをfalseに設定し、モーダルを閉じます

私が試してみたが、少し扱いに​​くいと感じたもう 1 つのオプションは、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://";

おすすめ記事