chrome iOSアプリを使用すると、ディープリンクは完全に機能します。ただし、サファリでは機能しなくなり、アプリがインストールされていても常にアプリストアページにリダイレクトされるか、「サファリはページを開くことができないため、ページを開くことができない」というアラートが表示されることがあります。アドレスが無効です」。数日前にすべてが完全に機能するので、これはios 9.2アップデート後に発生すると思います。これに対する解決策はありますか?
[〜#〜]更新[〜#〜]
新しい電話(以前にインストールされていないアプリ)を使用して、アプリをインストールしてみました。
ディープリンクは両方のブラウザ(SafariとChrome)で機能します。
Bnc.ltの進むボタンを押すと、SafariとChromeの両方のAppStoreが開きます。
次回リンクディープリンクを開くとき:
つまり、stausバーのbnc.lt転送リンクをクリックした後でも、Chromeからアプリを開くことができます。これは、Chromeがアプリストアではなくアプリ。
Safariの場合、ディープリンクがアプリではなく常にアプリストアを開く不可逆的な状態になります。
ここのブランチのアレックス:これは予想される動作です。残念ながら、フォールバックオプションは、 iOS 9.2でのユニバーサルリンクへの変更 のため、現時点ではかなり制限されています。
TL; DR:ほとんどのユーザーが遭遇することのないちょっとしたエッジケースですが、 Deepviews 機能を利用することで簡単に回避できます。
基本的に、これがあなたが見ているものの背後にある論理です:
bnc.lt
進むボタンを押すと、デバイスに「すぐにアプリを開いてほしくない...代わりにこのリンクのWebコンテンツを表示してください」と表示されます。ブランチリンクの場合、この「Webコンテンツ」は単にAppStoreへのリダイレクトです。この時点で、Branchはアプリがインストールされているかどうかを知る方法がないため、インストールされていないと想定する必要があり、上記の1と同じ扱いを受けます。 これはあまり良くありませんが、Appleがシステムを設計したの方法のため、現時点ではこれ以上の選択肢はありません。bnc.lt
ボタンを押したことを記憶し、Webコンテンツに直接移動します。 Safariがこのように機能する理由はわかりません。これが望ましい状況を想像することができず、ユーザーに多くの混乱をもたらすからです。ここでの本当の問題は、bnc.lt
を押してアプリをバイパスすると、デバイスがこの設定を記憶し、今後bnc.ltリンクを検出するたびに実行することです。 Chromeは、4。で毎回設定を積極的に確認しているため、引き続き「機能します」が、Safariは前進するだけです。次に何が起こるかについては、いくつかのオプションがあります。
IOS 9.2以降、AppleはディープリンクのURIスキームをサポートしなくなりました。開発者は、iOSで適切にディープリンクするためにユニバーサルリンクを実装する必要があります。
ユニバーサルリンクを使用すると、カスタムURLスキームを標準のHTTPまたはHTTPSリンクに置き換えることができます。ユニバーサルリンクはすべてのユーザーに機能します。ユーザーがアプリをインストールしている場合、リンクはユーザーをアプリに直接移動します。アプリがインストールされていない場合、リンクはSafariでウェブサイトを開きます。
ユニバーサルリンクの詳細については、を参照してください。
iOSアプリでユニバーサルリンクをサポートし、サーバーをセットアップする方法は?
例
https://github.com/vineetchoudhary/iOS-Universal-Links
Branchのコンテキストディープリンクの基本をロックする場合。 Branch.ioも従来のディープリンクを使用していることがわかりました
1。リンクの作成Mobile SDKを統合すると、ユーザーがクリックしてアプリ内から別のユーザーを共有または招待するたびに、ブランチリンクを作成できます。アプリがBranch.ioを呼び出し、Branch.ioがBranchリンクを返します。
2。データをリンクに結び付ける
4。データの使用
リンクをクリックするステップを確認してください。Branch.ioはウェブサイトのURLをアプリのURIスキームにマッピングするだけですが、URIスキームはSafariでサポートされなくなりました。したがって、iOS 9.2でディープリンクするためのオプションはユニバーサルリンクへの移行のみです。または、Branch.ioによる解決策を待つこともできます。ありがとう。