Dynamic Link Wrapper Library for iOS
Create a structure and make it conform to LinkContract.
This structure writes the basic settings of dynamicLink.
If you do not know what to set, please check on the official site
struct LinkConfig: LinkContract {
var dynamicLink: String = ""
var domainURIPrefix: String = ""
var bundleId: String = ""
var appStoreId: String = ""
var fallbackUrl: String = ""
var isForcedRedirectEnabled: Bool = false
var socialParams: SocialContract
init(socialParams: SocialContract) {
self.socialParams = socialParams
}
}Create a structure and make it conform to SocialContract.
This structure writes about preview settings.
struct SocialParams: SocialContract {
var title: String
var description: String
var imageURL: URL
init(title: String, description: String, imageURL: URL) {
self.title = title
self.description = description
self.imageURL = imageURL
}
}The callback will return short url, long url and error.
let social: SocialContract = SocialParams(
title: self.product.title,
description: self.product.description,
imageURL: self.product.thumbnail.downloadURL
)
let link: LinkContract = LinkConfig(socialParams: social)
let params: [String: String] = ["productId": self.product.id]
Lune.shared.build(linkParams: link, urlParams: params) { (s, l, e) in
}Lune is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Lune'