iOS11からのUniversalLinksのいいところと悪いところ?


概要

iOS11でUniversalLinksの挙動が少し変わったのでメモ

前提知識

iOS9からはじまったUniversal Links(Deep Link)
詳しい導入方法はこちらの記事などで載っています。

URLスキーム・独自ディープリンク実装に代わる、Universal Links(iOS 9で導入)でより良いUXを実現
http://qiita.com/mono0926/items/2bf651246714f20df626

Universal 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で実際に取れているか確認してみた。

Yahoo!検索から、アプリに飛んでみた

Google!検索から、アプリに飛んでみた

🐸KEROKERO🐸:referrerURL=https://search.yahoo.co.jp/
🐸KEROKERO🐸:referrerURL=https://www.google.co.jp/

「これで、特定のサイトから飛んできたら何か特別なことをする〜とか、
数値分析とかが捗りますね!!!!」

いまいちな点→Webブラウザからアプリに飛んだあと、アプリからWebに戻る方法がない・・

iOS10まで
アプリに飛ばされた後、右上のボタンを押せばWebで開き直すことができた。
↓ ↓ ↓ ↓ ↓
iOS11から
行方不明に。

→現状、アプリからWebに戻る方法はないようです。(あったら教えてください

iOS10 iOS11
↑右上に戻るボタンがある  ↑特になにもない

軽く裏技
アプリに飛んでしまうのが嫌なとき、
Webブラウザでリンクを長押しして「開く」or「新規タブで開く」とアプリに飛びません!!

余談
「個人的には好きじゃないです。アプリで開きたくないサイトもあるので。人それぞれですかね。」