概要
iOS11でUniversalLinksの挙動が少し変わったのでメモ
前提知識
iOS9からはじまったUniversal Links(Deep Link)
詳しい導入方法はこちらの記事などで載っています。
URLスキーム・独自ディープリンク実装に代わる、Universal Links(iOS 9で導入)でより良いUXを実現
http://qiita.com/mono0926/items/2bf651246714f20df626Universal Links日本語ガイドhttps://developer.apple.com/jp/documentation/General/Conceptual/AppSearch/UniversalLinks.html
iOS11での気になる変更点を
以下、2つ
良さそうな点→遷移元情報を取得できるようになった
iOS10まで
UniversalLinksで飛んできてもアプリで遷移元がわからなかった。
どのサイトからきたのか?がわからないと分析ができない。
↓ ↓ ↓ ↓ ↓
iOS11から
アプリで遷移元を取得できるようになった。
/* The URL of the webpage that referred (linked to) webpageURL. */ @property (nullable, copy) NSURL *referrerURL API_AVAILABLE(macos(10.13), ios(11.0), watchos(4.0), tvos(11.0));
https://developer.apple.com/documentation/foundation/nsuseractivity/2875762-referrerurl
「どこからきたのかわかる!うれしい!」(←これくらい普通のことだけど・・)
AppDelegateで実際に取れているか確認してみた。
🐸KEROKERO🐸:referrerURL=https://search.yahoo.co.jp/
🐸KEROKERO🐸:referrerURL=https://www.google.co.jp/
「これで、特定のサイトから飛んできたら何か特別なことをする〜とか、
数値分析とかが捗りますね!!!!」
いまいちな点→Webブラウザからアプリに飛んだあと、アプリからWebに戻る方法がない・・
iOS10まで
アプリに飛ばされた後、右上のボタンを押せばWebで開き直すことができた。
↓ ↓ ↓ ↓ ↓
iOS11から
行方不明に。
→現状、アプリからWebに戻る方法はないようです。(あったら教えてください)
iOS10 | iOS11 |
---|---|
![]() |
![]() |
↑右上に戻るボタンがある | ↑特になにもない |
軽く裏技
アプリに飛んでしまうのが嫌なとき、
Webブラウザでリンクを長押しして「開く」or「新規タブで開く」とアプリに飛びません!!
余談
「個人的には好きじゃないです。アプリで開きたくないサイトもあるので。人それぞれですかね。」