この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
こんにちは。モバイルアプリサービス部の平屋です。
本記事では、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をさわってみようとしてる方の参考になれば幸いです!