你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS編程技術 >> iOS9上的Universal Link實現(教程)

iOS9上的Universal Link實現(教程)

編輯:IOS編程技術

1.Universal Link

理解為蘋果官方支持deeplink就行了

 

2.通過點擊HTTP鏈接啟動APP

Web?iOS應用在支持Universal Link的前提下,當用戶點擊特點的鏈接時會自己起動應用

?App已經安裝的前提下:直接啟動App然後現實鏈接內容

?App沒有安裝的前提下:Web上繼續顯示鏈接內容

 

3.Universal Link的實現方法

首先需要准備一下內容

Web服務器

   ?獨立的domain

   ?SSL證書

 ?被簽名的JSON文件

iOS應用

  ?iOS9以上

  ?Xcode 7?iOS 9 SDK

  ?Capabilities

  ?AppDelegate的代理設置

 

3.1 Capabilities的設置

在Capabilities的設置中,設置`Associated Domains’的Domains內容

例:https://www.hovertree.com/ -> applinks:hovertree.com

注意:對於subdomain,www的有無要仔細考慮一下

 

3.2 apple-app-site-association文件的配置

apple-app-site-association文件一定要放在服務器的根目錄下!!!!!!

首先要准備一下apple-app-site-association文件

{
  "applinks": {
    "apps": [],
    "details": {
      "TBEJCS6FFP.com.domain.App": {
        "paths":[ "*" ]
      }
    }
  }
}

 paths中的內容為對應App啟動的鏈接路徑

全路徑的時候使用“*”。

特定位置的時候需要指定具體內容,

["/wwdc/news/", /videos/wwdc/2015/*]

 TBEJCS6FFP.com.domain.App這部分使用的是你的TeamID和Bundle Identifier

 

3.3 對apple-app-site-association文件的簽名

我使用的是以下的方法對apple-app-site-association進行簽名。

cat apple-app-site-association-unsigned.js | openssl smime -sign -inkey g01-server.key -signer g01-server.crt -certfile  g01-dvcacert.cer -noattr -nodetach -outform DER > apple-app-site-association

 

3.4 App對應的開發

在AppDelegate.m文件中添加以下代碼

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
{
    NSLog(@"continueUserActiity enter");
    NSLog(@"\tAction Type : %@", userActivity.activityType);
    NSLog(@"\tURL         : %@", userActivity.webpageURL);
    NSLog(@"\tuserinfo :%@",userActivity.userInfo);
    
    NSLog(@"continueUserActiity exit");
    restorationHandler(nil);
    
    NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:userActivity.webpageURL];

     NSLog(@"COOKIE{name: %@", cookies);
    return true;
}

 如代碼所示,我們可以獲取到跳轉鏈接的一些基本信息

URL內容,ActionType等都是可以獲取並且在代碼中進行修改的。

 

4.結果

通過以上的配置後,一個基礎的Universal Link應用就開發結束了

點擊對應的鏈接我們可以看到自己的App被成功啟動

 

5.一些事實

相同的服務器不同的目錄結構可能導致Universal Link不啟動

應用和json文件同時更新時,json更新的部分可能會沒有效果

 

如果需要使用我的服務器和app進行測試的同時可以私信我。

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved