[英]Deep Linking for iOS Apps which are not installed yet?
我想使用類似lib的應用程序將深層鏈接鏈接到我的應用程序中的特定位置: https : //github.com/usebutton/ios-deeplink-sdk
我知道當應用程序安裝在設備上時如何進行深層鏈接。
如何深度鏈接到未安裝在設備上的應用程序,即,鏈接指向AppStore,並且在安裝該應用程序后應提供一個深層鏈接令牌?
您可以使用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];
}
}
當您單擊一個鏈接將您帶到App Store上的某個應用程序頁面時,該過程結束,即使您繼續安裝該應用程序,也不會再調用該應用程序來繼續處理啟動該過程的鏈接。
另外,安裝應用程序的鏈接與用於向應用程序提供數據的深層鏈接不同。 安裝鏈接將是專門用於訪問App Store應用程序的鏈接。
當前,執行所需操作的唯一方法是提供兩個鏈接,一個鏈接用於安裝,一個鏈接用於在應用程序安裝后進行深度鏈接。 您可以將這兩個鏈接放入電子郵件,短信,網頁等中。
如果您願意添加額外的Web服務器html / php,則可以使用一個指向網址的鏈接,該鏈接用於確定是否安裝了該應用程序,在這種情況下,該深層鏈接被重定向到該地址,或者該應用程序沒有被重定向。安裝后,頁面會將用戶重定向到App Store。 但是,安裝方案要求用戶在安裝后返回並再次點擊鏈接以使深層鏈接起作用。 一個鏈接,兩個水龍頭。
您可以設置一個托管鏈接服務,該服務可以處理每個特定平台和用例的所有不同的深層鏈接標准,並且可以通過安裝傳遞參數。 我們是在Branch.io上構建的,您可以使用我們的鏈接,如果您想自己構建這樣的服務,則下面的文章提供了所有必要的信息: https : //hackernoon.com/the-death-of-deep-linking- 6cc65eb33e28#.avyz7g5bf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.