FDLBuilder
FDL(Firebase Dynamic Links)构建器。
let builder = FDLBuilder(link: "https://example.com/top", domain: "example.page.link")
.iOS(bundleID: "com.example.foo.ios") { params in
params.appStoreID = "123456789"
params.fallbackURL = "https://example.com/lp/ios"
return params
}
.android(packageName: "com.example.foo.android") { params in
params.fallbackURL = "https://example.com/lp/android"
return params
}
.options({ options in
options.pathLength = .unguessable
return options
})
builder.build(.long) { link, _, _ in
print("long link:", link as Any)
}
builder.build(.short) { (link, warnings, error) in
print("short link:", link as Any, warnings as Any, error as Any)
}
- 相较于使用框架,使用 FDLBuilder 更易于构建 Firebase Dynamic Links。
- 方法链式
使用方法
基本使用
- 使用deeplink和域名初始化构建器。
let deeplink = URL(string: "https://example.com/top")!
let builder = FDLBuilder(link: deeplink, domain: "example.page.link")
或者,如果它是有效的url,还可以直接设置url为String。
let builder = FDLBuilder(link: "https://example.com/top", domain: "example.page.link")
- 设置您需要的参数。
let builder = FDLBuilder(link: "https://example.com/top", domain: "example.page.link")
.iOS(bundleID: "com.example.foo.ios") { params in
params.appStoreID = "123456789"
params.fallbackURL = "https://example.com/lp/ios"
return params
}
.options({ options in
options.pathLength = .unguessable
return options
})
参数
方法 | 参数类 s |
---|---|
iOS(标识符:_:) |
DynamicLinkIOSParameters |
appStore(_:) |
DynamicLinkItunesConnectAnalyticsParameters |
android(包名:_:) |
DynamicLinkAndroidParameters |
socialMetaTag(_:) |
DynamicLinkSocialMetaTagParameters |
navigationInfo(_:) |
DynamicLinkNavigationInfoParameters |
otherPlatform(_:) |
DynamicLinkOtherPlatformParameters |
options(_:) |
DynamicLinkComponentsOptions |
- 构建链接
// build long link
let longLink = builder.longLink() // Optional<URL>
print(longLink as Any)
// build short link
builder.build(.short) { url, warnings, error in
print(url as Any)
print(warnings as Any)
print(error as Any)
}
高级
如果您想在构建FDL之前更改deeplink
let builder = FDLBuilder(link: "https://example.com/top", domain: "example.page.link")
// set parameters you need
func issueItemLink(itemID: String, completion: @escaping (URL?) -> Void) {
builder
.link("https://example.com/items/\(itemID)")
.build(.short, completion: { url, warnings, error in
print(url as Any)
print(warnings as Any)
print(error as Any)
completion(url)
})
}
依赖关系
- Firebase/DynamicLinks (版本5.0.0以上)
安装
CocoaPods
pod 'FDLBuilder'
然后运行 pod install
手工安装
下载所有 *.swift
文件并放置到您的项目中。
通信
- 如果您发现了一个错误,提交一个问题。
- 如果您有功能请求,提交一个问题。
- 如果您想贡献力量,提交一个拉取请求。
💪
许可协议
FDLBuilder 采用 MIT 许可证。更多信息请参阅LICENSE文件。