More Related Content
PPTX
PDF
【Unity道場スペシャル 2017博多】スマホゲーム開発者が知っておくべきチートのリスク&対策 PDF
【Unite 2017 Tokyo】スマホゲーム開発者なら知っておくべきチートのリスク&対策 PDF
PDF
PPTX
PDF
PPTX
Viewers also liked
PDF
Swift3 typecasting nested_type PDF
PDF
PDF
みんなで Swift 復習会での談笑用スライド – in 札幌 1st′ #minna_de_swift PDF
コードを書きやすくしてくれる Xcode の基本機能 #NSStudy #devsap PPTX
PDF
AnyObject – 自分が見落としていた、基本の話 PDF
Swift 3 で新しくなったところ - 表面から見えにくいところを中心に紹介 #ISAOcorp PDF
PDF
PDF
NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile PDF
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift PDF
Swift イニシャライザー復習会 #love_swift #akibaswift #21cafe More from toyship
PDF
PDF
Can we live in a pure Swift world? PDF
Swift Protocol and Selector PDF
PDF
PDF
PDF
PDF
Embedded framework and so on PDF
はじめてのWKInterfaceController PDF
PDF
PDF
Universal Link
- 1.
- 2.
- 3.
Universal Linkとは
from iOS9
»自分のアプリや他のアプリを起動するスキーム。
» iOS内部の(設定した)URL Linkからアプリを起動することができ
る。
» 今までのカスタムURLスキームをおきかえる機能。
» URL Schemeの場合にはそれぞれのアプリが好きなものを設定できる
ので、アプリ間の重複の危険性があったが、Universal Linkの場合に
は、Domain名に依存するため、一意性が担保できる。
- 4.
- 5.
- 6.
- 7.
- 8.
他のアプリからの Universal Link
»openURLで起動した場合には、Universal Linkが有効になります。
» ただし、urlを開く際にSFSafariViewController、WKWebView、
UIWebViewを使うとUniversal Linkは無効になります。
» 意識の高いアプリはだめ。
- 9.
- 10.
Mobile Safariから
» MobileSafariのアドレスバーに直接URLを入力した場合や、Mobile
Safari内のリンクから移動した場合にはUniversal Linkはききませ
ん。
» Googleなどの検索結果からはUniversal Linkが有効になります。
- 11.
- 12.
- 13.
- 14.
- 15.
Smart App Bannerとの違い
»Universal Linkは、Smart App Bannerとは目的が異なるため、両
方実装する必要があります。
» Smart App Bannerでは、アプリがインストールされていたらアプリ
が起動され、アプリがインストールされていなかったらApp Storeが
起動する。
<meta name="apple-itunes-app" content="app-id=400435286,
app-argument=https://asajikan.jp/topics/">
- 16.
Smart App BannerとUniversalLinkの隠れ
た関係
» Smart App Bannerのcontentのapp-argument指定がUniversal
Linkに対応しているかどうかでUIが変わる。(下記のリンクを
Mobile Safariでチェックしてみてください)
» https://asajikan.jp/ (Universal Link対応)
» https://asajikan.jp/topics/ (Universal Link非対応)
- 17.
- 18.
- 19.
- 20.
実装方法 (Server)
» serverroot(/)に apple-app-site-association という名称でjson
フォーマットの設定ファイルを置く。
» (このファイルに署名をかける必要があるという情報があったけ
ど、かける必要はありません。)
» iOS9.3.1以上では、apple-app-site-associationのファイルサイズ
は128KBに制限されてます。(9.3で発生していたクラッシュの原因
だったらしい)
- 21.
apple-app-site-association format
» BundleIdentifierとUniversal Linkに対応させたいpathを記述。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "9JA89QQLNQ.com.apple.wwdc",
"paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
},
{
"appID": "ABCD1234.com.apple.wwdc",
"paths": [ "*" ]
}
]
}
}
- 22.
実装方法 (Server)
» 設定ファイルの置き場所は、9.3から/.well-known/ もサポートする
ようになりました。
» Technical Q&A QA1919
» Incoming requests for /.well-known/apple-app-site-
association file
https://developer.apple.com/library/ios/qa/qa1919/
index.html#//appleref/doc/uid/DTS40016874
- 23.
- 24.
- 25.
- 26.
App Search APIValidation Tool
» formatのvalidation checkをすることができます。
» https://search.developer.apple.com/appsearch-validation-
tool
- 28.
- 30.
- 31.
func application(application: UIApplication,
continueUserActivityuserActivity: NSUserActivity,
restorationHandler: ([AnyObject]?) -> Void) -> Bool{
if userActivity.activityType == "com.apple.corespotlightitem" {
// Core Searchの処理を記述
}
else if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
let url : NSURL? = userActivity.webpageURL
// Universal Linkの処理を記述
}
return true
}
- 32.