如何使用HOKO Links实现Deferred deeplink?

时间:2016-11-10 07:40:21

标签: ios objective-c deeplink hoko

我已在我的iOS应用中使用 HOKO实现智能链接。

我的应用安装而不是链接进入应用时,它运行正常

HOKDeeplink *deeplink = [HOKDeeplink
                deeplinkWithRoute:@"ViewController/:product_id"
                routeParameters:@{@"product_id": @"2"}
                queryParameters:@{@"referrer": @"jax1"}
                metadata:@{@"coupon": @"20"}];
[[Hoko deeplinking] generateSmartlinkForDeeplink:deeplink success:^(NSString *smartlink)
{
    NSLog(@"smartLink == %@",smartlink);

    //[[Social sharedInstance] shareProduct:self.product link:smartlink];
}
failure:^(NSError *error)
{
    NSLog(@"Error = %@",error.description);

    // Share web link instead
    //[[Social sharedInstance] shareProduct:self.product link:self.product.webLink];
}];

通过使用上面的代码,我在应用程序中创建我的链接

当我点按链接时,它会将我重定向到应用

[[Hoko deeplinking] mapRoute:@"ViewController/:product_id"
toTarget:^(HOKDeeplink *deeplink)
{
    NSString *productId = deeplink.routeParameters[@"product_id"];
    NSString *referrer = deeplink.queryParameters[@"referrer"];

    NSLog(@"Product Id = %@ && Refferer = %@",productId,referrer);

    // Do something when deeplink is opened
    NSLog(@"HERE in app did finish launching..");

}];

在我的appDelegate中使用以上代码接收链接并执行您想要的操作。

但现在我想使用此实现延迟链接

我阅读了所有文件,但仍没有得到任何解决方案 在文档和它在GitHub中的例子我没有得到任何解决方案。

我想要一些代码示例来实现它。 因为在文档中有更多额外的功能,但我没有时间阅读整个功能。

所以,如果有人在此之前完成此任务,请帮助我

任何解决方案都将受到赞赏

请告诉我测试延迟链接的另一种方法,但不进行实际操作,因为测试我已经在线上传应用程序,但现在处于开发阶段,因此在测试中必须创建更多版本的app。

谢谢!

1 个答案:

答案 0 :(得分:1)

以上代码正在使用我测试过的live。 链接工作非常好,deferred link也正常工作。

但我仍然对referrer中的queryParameter密钥感到困惑,或者你可以使用任何字符串密钥吗?

<强>缺点

deferred link hokolinks过于复杂而无法测试,因为您必须使用实时版本进行测试,因此无法在不进行测试的情况下完善导航代码

为此,您必须让您的应用程序生效。我没有找到任何其他方法来测试这个。

是的,我知道您的链接与简单的智能链接相同,但开发人员必须使用实时应用进行一次测试。

如果任何开发人员混淆并制作日志并提醒他们进行测试,那么他/她必须至少发布2个新版本,并等待appstore审核该应用程序。

并且文档也是一个非常大的,没有适当的示例代码,这很容易理解,因为开发人员不是来自任何人的任何固定领域,所以他们遵循的术语在编程上是不同的,所以它有点复杂的理解

另外,上面的代码可以正常工作我已经用现场测试了一切都很完美。

谢谢!