[iOS] Firebase Dynamic Linksのshort Dynamic Linkを扱う
はじめに
こんにちは。モバイルアプリサービス部の平屋です。
本記事では、iOSアプリでFirebase Dynamic Linksのshort Dynamic Linkを扱う実装を紹介します。
検証環境
- macOS High Sierra Version 10.13.5
- Xcode Version 9.4.1 (9F2000)
short Dynamic Linkを作成する
DynamicLinkComponents
を作成します。
let deepLinkURL = URL(string: "https://dev.classmethod.jp/?id=0001")! let components = DynamicLinkComponents(link: deepLinkURL, domain: "dynamiclinkssample.page.link") let iOSParameters = DynamicLinkIOSParameters(bundleID: Bundle.main.bundleIdentifier!) iOSParameters.appStoreID = "899247664" components.iOSParameters = iOSParameters print("long Dynamic Link:\(components.url!)")
url
プロパティを使用すれば以下のような形式のlong Dynamic Linkを取得できます。
https://dynamiclinkssample.page.link/?link=https%3A%2F%2Fdev%2Eclassmethod%2Ejp%2F%3Fid%3D0001&ibi=com%2Eshingohry%2EFirebaseDynamicLinksSample&isi=899247664
short Dynamic Linkを作成するにはshorten(completion:)
を使用します。
components.shorten { shortLink, strings, error in print("short Dynamic Link:\(shortLink!)") }
上記コードを実行すると、以下のようなURLを取得できます。
https://dynamiclinkssample.page.link/xYaLRBAXgEYJkAK39
short Dynamic LinkからディープリンクURLを取得する
DynamicLinks
のresolveShortLink(_:completion:)
を使用してLinkの詳細を取得します。
DynamicLinks.dynamicLinks().resolveShortLink(url!) { url, error in print("resolved url:\(url!)") }
上記コードを実行すると、以下のようなURLを取得できます。deep_link_id
パラメータの値がディープリンクURLです。
com.shingohry.firebasedynamiclinkssample://google/link/?utm_campaign=&deep_link_id=https%3A%2F%2Fdev%2Eclassmethod%2Ejp%2F%3Fid%3D0001&utm_medium=dynamic%5Flink&match_type=unique&utm_source=firebase
さいごに
本記事では、iOSアプリでFirebase Dynamic Linksのshort Dynamic Linkを扱う実装を紹介しました。
short Dynamic LinkはREST APIを使用して作成することもできるようです。
これからshort Dynamic Linkをさわってみようとしてる方の参考になれば幸いです!