2016-12-07 144 views
3

我正在使用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; 
} 

回答

8

測試它對於那種任務,你將需要創建後端時,該鏈接被點擊,然後創建針對特定設備的會話,並在應用程序獲取像在後臺打開調用API來檢查該設備的會話,然後將響應參數。在上述情況下,您需要管理很多事情。如果你不介意使用第三方,然後去Branch.io他們將處理所有你想要的東西,並不會導致發展的痛苦。

+0

感謝您的回覆。因此,如果我們從蘋果商店安裝應用程序並從商店打開它,則不會調用continueUserActivity方法。 –

+0

@GaneshGuturi是的,直到你明確地處理它,它纔會被調用。 –

+0

爲了進一步闡明,只有在通過Universal Links或Spotlight打開應用程序時,纔會調用「continueUserActivity」方法。由於應用程序必須已安裝,才能使這些選項可用,按照定義,如果用戶必須先下載應用程序,則不會調用「continueUserActivity」。 –