本文档是关于iOS上的HOKO框架(仅限于iOS 5及以上版本)的快速入门介绍。您可以在http://hokolinks.com/documentation#ios阅读完整文档。
要将HOKO集成到您的应用程序中,只需在公司文档中添加后,遵循以下3个简单步骤。
Hoko
文件夹拖放到您的项目中。SystemConfiguration.framework
和libz.dylib
添加到您的项目中,即使它们已经存在也在所不惜。由于HOKO SDK是用Objective-C
编写的,因此您必须手动将一个桥接头文件
添加到您的项目中,以便与您的Swift代码一起使用。
文件
> 新建
> 文件...
> iOS
> 源
> 头文件
将头文件命名为YourAppName-Bridging-Header.h
在该头文件内部,导入#import <Hoko/Hoko.h>
转到您的项目 > 构建设置
> Objective-C桥接头文件
> 添加到您的桥接头文件的路径,从您的根目录开始(例如,MyApp/MyApp-Bridging-Header.h
)
使用Swifty!
将以下行添加到您的AppDelegate
类中的applicationDidFinishLaunching
方法中(如果您使用的是Objective-C
,不要忘记通过使用#import <Hoko/Hoko.h>
导入HOKO类)。
Objective-C
#import <Hoko/Hoko.h>
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[Hoko setupWithToken:@"YOUR-APP-TOKEN"];
// The rest of your code goes here...
}
Swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Hoko.setupWithToken("YOUR-APP-TOKEN")
// The rest of your code goes here...
}
要注册URL方案,您应该导航到项目中的应用程序target
,选择info
标签页,并在URL Types
下点击加号
。一旦进入,您应该分配一个自定义的(且唯一的)URL方案。根据Apple的指南,它应该是反向DNS表示法(例如com.hoko.hokotestbed)。
要将路由映射到视图控制器,您只需在AppDelegate
类的applicationDidFinishLaunching
方法中的deeplinking
模块中进行映射即可。
Objective-C
[[Hoko deeplinking] mapRoute:@"product/:product_id" toTarget:^(HOKDeeplink *deeplink) {
BLKProductViewController *productViewController = [[BLKProductViewController alloc] initWithProductId:deeplink.routeParameters[@"product_id"]];
productViewController.referrer = deeplink.queryParameters[@"referrer"];
[HOKNavigation pushViewController:productViewController animated:YES];
}];
Swift
Hoko.deeplinking().mapRoute("product/:product_id", toTarget: { (deeplink: HKDeeplink!) -> Void in
let productViewController = BLKPRoductViewController(productId: deeplink.routeParameters["product_id"])
productViewController.referrer = deeplink.queryParameters["referrer"]
HOKNavigation.pushViewController(productViewController, animated: true)
})
为了在深度链接进入应用程序时执行某些任务,可以在Deeplinking
模块中添加一个Handler
。这使得跟踪深度链接到分析平台、记录条目或更新数据库变得更加容易。
Objective-C
[[Hoko deeplinking] addHandlerBlock:^(HOKDeeplink *deeplink) {
[[Analytics sharedInstance] track:"deeplink" parameters:@{@"route": deeplink.route}];
}];
Swift
Hoko.deeplinking().addHandlerBlock { (deeplink: HOKDeeplink!) -> Void in
Analytics.sharedInstance().track("deeplink", parameters: ["route": deeplink.route])
}
我们建议您阅读完整的文档:http://support.hokolinks.com/quickstart/ios/。