iOS:Apple Universal Link如果应用程序未安装,continueUserActivity方法不会调用?

问题描述:

我正在使用Apple Universal Links概念,在我的应用程序中使用continueUserActivity方法读取/获取共享的链接或URL(用户通过Message,Email和其他社交应用程序点击了它)。iOS:Apple Universal Link如果应用程序未安装,continueUserActivity方法不会调用?

如果用户点击了链接并且该应用程序已经安装在设备上,那么调用continueUserActivity方法并且工作正常。

如果用户点击链接并且未在设备上安装应用程序,则链接自动重定向到Apple Store以安装应用程序(使用javascript),安装应用程序后如果打开它,则continueUserActivity方法不会打电话。如果您从Apple Store安装应用程序并打开它,是否会调用continueUserActivity方法?我错过了什么?请帮助我。

我对设备与iOS 9.3.1

-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * restorableObjects))restorationHandler { 

    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) { 

    if ([[userActivity.webpageURL absoluteString] hasSuffix:@"12345"]) { 

     // Open Item details view controller 
    } 
    } 
    return YES; 
} 

测试它对于那种任务,你将需要创建后端时,该链接被点击,然后创建针对特定设备的会话,并在应用程序获取像在后台打开调用API来检查该设备的会话,然后将响应参数。在上述情况下,您需要管理很多事情。如果你不介意使用第三方,然后去Branch.io他们将处理所有你想要的东西,并不会导致发展的痛苦。

+0

感谢您的回复。因此,如果我们从苹果商店安装应用程序并从商店打开它,则不会调用continueUserActivity方法。 –

+0

@GaneshGuturi是的,直到你明确地处理它,它才会被调用。 –

+0

为了进一步阐明,只有在通过Universal Links或Spotlight打开应用程序时,才会调用“continueUserActivity”方法。由于应用程序必须已安装,才能使这些选项可用,按照定义,如果用户必须先下载应用程序,则不会调用“continueUserActivity”。 –