2016-11-21 6 views
0

まず、私たちにはアプリがあり、私たちのドメインはiOS9とiOS10上のユニバーサルリンクをサポートしています。ランディングページには、ドメインに 'href'属性が設定された要素があります。それをクリックすると、ネイティブアプリが起動されるか、ブラウザでULが開きます。これは機能しています。iframe内でiOSユニバーサルリンクを動作させる方法

ただし、同じランディングページをiframe内に配置すると(予想される使用例)、そのボタンは期待どおりに機能しません。私たちのアプリを起動するのではなく、コンソールで見ることができます: "https://domain/path/page.html"は、安全でないコンテンツをitms-appssから表示することはできません://itunes.apple.com/app/appname/id######?mt = 8。 これは、ULメカニズムが機能せず、ブラウザが実際にURLを取得したことを意味します(これは、iTunesにリダイレクトするLocationヘッダーを送信する単純なPHPファイルです)。

私たちのアプリまたはページまたはサブドメインのように、私はInstagramアプリケーションのための同様のリンクを追加しようとしました。これは動作が同じであるために役立ちませんでした:ULメカニズムが機能せず、ブラウザがULのコンテンツを取得しました。

擬似HTML:

<body> 
<a href="universal_link">Works</a> 

<iframe src="your_random_local_page.html"> 
    <a href="universal_link">Doesn't work</a> 
</iframe> 

</body> 

答えて

0

我々は追加の詳細を必要とする - 全体像を得るためにここに足りません。理想的には、ライブリンク先ページへのリンクが最適ですが、ユニバーサルリンクがどこを指しているかについての情報は少なくとも不足しています。

私は、ユニバーサルリンクがどういうわけかitms-appss:// URIスキームを使ってApp Storeアプリケーション自体を起動しようとしているApp Storeページにリダイレクトしていると思われます。カスタムURIスキームはiFrames have been blocked since iOS 9.3内でリダイレクトされるため、これは予想される動作です。

+0

アレックス、ありがとうございます。あまり詳しく説明せずにこれをもっと明確にしようとしましょう。 Universal Linkは基本的にapple-app-site-associationファイルに登録されているPHPファイルを指しています。したがって、このリンクがトップウィンドウまたはNotesアプリからクリックされると、ネイティブアプリが起動されます。 Phpファイルは、ユーザーがアプリをインストールできるように、iTunesにリダイレクトするLocationヘッダーを返すだけです。 iTunesについてのログを取得した場合、ULメカニズムがiframe内で動作していないようです – Denis

+0

それは私を驚かせません。 iframeが予期せずに別のアプリを起動することができた場合、ユーザーは非常に驚くべきものになります。 Appleはユニバーサルリンクについて何らかのユーザアクションを必要とすることについてかなり控えめなので、これはおそらく制限のように思える。 –

0

ちょうどそれが私のために正常に動作します

<body> 
<a href="universal_link">Works</a> 

<iframe src="your_random_local_page.html"> 
     <a target="_top" href="universal_link">Doesn't work</a> 
</iframe> 

</body> 

によってはiframeから去ります。

関連する問題