适用于尚未安装的iOS应用程序的深层链接?

时间:2015-04-14 15:43:33

标签: ios objective-c deep-linking

我想使用类似以下的库使用深层链接到我的应用中的特定位置:https://github.com/usebutton/ios-deeplink-sdk

我知道如何在设备上安装应用时进行深层链接。

如何深度链接到未安装在设备上的应用,即链接是指AppStore,安装应用后应该存在深层链接令牌?

3 个答案:

答案 0 :(得分:0)

您可以使用UIApplications canOpenUrl方法来检查应用是否存在。

参见示例:

-(void)openOtherApp
{
    UIApplication * myApplication = UIApplication.sharedApplication;
    NSString * URLEncodedString = [@"someSortOfAction" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString * completePath = [@"otherAppsUrlScheme://" stringByAppendingString:URLEncodedString];
    NSURL * theUrl = [NSURL URLWithString:completePath];
    if ([myApplication canOpenURL:theUrl])
    {
        // App is installed, launch it
        [myApplication openURL:theUrl];
    }
    else
    {
        // App not installed open app store
        // replace appstore web url http:// with itms-apps:// or itms://
        NSURL * AppStoreURL = [NSURL URLWithString:@"itms-apps://appstoreurl"];
        [myApplication openURL:AppStoreURL];
    }
}

答案 1 :(得分:0)

当您按照链接进入App Store的应用程序页面时,流程结束,即使您继续安装应用程序,也不会再调用该应用程序继续处理启动该流程的链接

此外,安装应用程序的链接不会与用于为应用程序提供数据的深层链接相同。安装链接将专门用于访问App Store应用程序。

目前,实现目标的唯一方法是提供两个链接,一个用于安装,另一个用于在安装后深入链接到应用程序。您可以将这两个链接放在电子邮件,短信,网页等中。

如果您愿意添加额外的Web服务器html / php,您可以使用一个指向Web地址的链接,该链接用于确定是否已安装应用程序,在这种情况下,深层链接被重定向到,或者如果未安装应用程序,页面将用户重定向到App Store。但是,安装方案要求用户在安装后返回并再次点击链接以便对深层链接执行操作。一个链接,两个水龙头。

答案 2 :(得分:0)

您可以设置托管链接服务来执行该操作,并处理每个特定平台和用例的所有不同深层链接标准,并且能够通过安装传递参数。我们在Branch.io上构建了这个,您可以使用我们的链接,如果您想自己构建这样的服务,下面的文章包含了所有必要的信息: https://hackernoon.com/the-death-of-deep-linking-6cc65eb33e28#.avyz7g5bf