1. 程式人生 > >Universal Link 通用連結

Universal Link 通用連結

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.facebook.com/ -> applinks:facebook.com

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

3.2 apple-app-site-association檔案的配置

apple-app-site-association檔案一定要放在伺服器的根目錄下!!!!!!

首先要準備一下apple-app-site-association檔案

1 2 3 4 5 6 7 8 9 10 { "applinks": { "apps": [], "details": { "TBEJCS6FFP.com.domain.App": { "paths":[ "*" ] } } } }

 paths中的內容為對應App啟動的連結路徑

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

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

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

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

3.3 對apple-app-site-association檔案的簽名

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

1 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檔案中新增以下程式碼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 - (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進行測試的同時可以私信我。

相關推薦

Universal Link 通用連結

1.Universal Link 理解為蘋果官方支援deeplink就行了 2.通過點選HTTP連結啟動APP Web・iOS應用在支援Universal Link的前提下,當用戶點選特點的連結時會自己起動應用 ・App已經安裝的前提下:直接啟動App然後現實連

iOS 喚起APP之Universal Link(通用連結)

什麼是Universal Link(通用連結) Universal Link(通用連結)是Apple在iOS9推出的一種能夠方便的通過傳統HTTPS連結來啟動APP的功能,可以使用相同的網址開啟網址和APP。當你的應用支援Universal Link(通用連結),當用戶點選一個連結是可以跳轉到你的網站並獲得無

iOS通用連結Universal Links)突然點選無效的解決方案

問題描述 測試告訴我,如果從微信開啟App之後,點選App右上角的應用網址之後,iOS通用連結就費了,在也用不了了,如圖: 原因分析 因為你點選右上角的網址之後,預設就把通用連結禁

打通 iOS 9 的通用連結Universal Links)

在WWDC 2015 上, Apple 為 iOS 9 宣佈了一個所謂 通用連結 的深層連結特性, 視訊地址為 [無縫連結到您的 App]。雖然它不是一個必須實現的功能, 但還是需要引起一些注意。 在網上有太多讓人迷惑和錯誤的資訊, 這次 WWDC 本身也沒

universal link使用

server art devel type ace host 直接 ida cat iOS9之後,蘋果推出了universal link方案,該方案較url scheme有明顯的改善。url scheme很難做到唯一。 而 universal link卻是你自己控制的。

簡單的通用連結串列實現

最近專案需要用到連結串列, 並且是建立三個不同的專用連結串列,為了對程式碼加以簡化,特採用通用連結串列來實現程式碼功能! 本連結串列是在linux下執行的,因此含有部分系統函式。 本人對指標理解較為粗糙,不能保證程式碼正確性,僅作自己總結而用! 程式碼未加封裝,只有簡單的實現函式。

C語言通用連結串列(Linux核心實現)

每次在實現連結串列的時候,我總是會想起Linux核心連結串列的實現.今天就來分享一下這個連結串列的實現. 一般情況下,我們用C語言定義連結串列時會定義一個數據域和一個指標域,如下面所示: struct list_head{ struct list_head *next, *prev;

Link.ld 連結指令碼記憶體解析

#include <stdio.h> #include <string.h> #include <stdlib.h> unsigned int  bss_test_array[1024 * 1024]; unsigned int 

企業級通用連結串列雛形

關鍵資料結構: typedef struct tag_node {     struct tag_node *next; }node_t; typedef struct tag_head {     node_t  linker;   &

MobLink | URL Scheme和Universal Link的區別

一.簡介蘋果的沙盒機制 一般來說,我們使用的智慧裝置上有許多我們的個人資訊。比如:聯絡方式、銀行卡/信用卡資訊、支付寶/Paypal/各大商城的賬戶密碼、照片甚至行程與位置資訊等等。 如果說,你裝置上的每一個應用,不管是官方的還是你從任何商城安裝的應用都可以隨意地獲取

Universal Link(iOS)踩坑

http://davidleee.com/2017/01/04/universal-link-problems/?utm_source=tuicool&utm_medium=referral 這篇文章講的都是整合 Universal Link 的時候可能會踩的坑

iOS9上的Universal Link實現

1.Universal Link 理解為蘋果官方支援deeplink就行了 2.通過點選HTTP連結啟動APP Web・iOS應用在支援Universal Link的前提下,當用戶點選特點的連結時會自己起動應用 ・App已經安裝的前提下:直接啟動App然後現實連

Universal Link 前端部署採坑記

轉載自: http://awhisper.github.io/2017/09/02/universallink/號外!號外!微信已經封禁Universal Link,已經不能實現跳出微信開啟App具體細節可以看但Univeral Link 還是可以學習學習看看的~畢竟幾遍在S

用模板寫通用連結串列的方法之一

用模板寫通用連結串列方法之一     以前老師要我們用C語言寫通用連結串列,由於是通用嘛,資料的輸入輸出就不一樣,所以得連結串列演算法和資料分離開來.最近學了多型,可以用基類指標指向派生類的方式寫通用連結串列,實現起來更加方便.今天又給我們講了一個另類的模板的方法. //

IOS9通用連結使用要點

1      簡介 通用連結是Apple在WWDC2015上為IOS9引入的一個新功能,是通過傳統HTTP連結來啟動App的技術。可以使用相同的網址開啟網站和App。 通過唯一的網址,就可以連結到App中具體的檢視,不需要特殊的schema。如果使用者沒有安裝App則連結到

一個通用連結串列的簡單實現

最近在CSDN上看到了absurd大神的幾篇關於系統程式設計師成長計劃的的博文 裡面提到了關於通用連結串列實現的思想,雖然資料結構學的還行,但是真的沒寫過通用的連結串列,對封裝的認識比較淺顯! 於是乎決定實現一下,真正開始寫才發現,對我這麼個眼高手低的菜鳥來說挺有難度的。寫

Universal Link如何實現MobLink網頁跳轉app指定介面

MobLink網頁跳轉app指定介面技術簡介之Universal LinkMobLink作為一款實現網頁無縫跳轉App的個性化擴充套件工具,它主要做到了下面幾件事情:追溯來源資訊。MobLink能夠追蹤新安裝(或新註冊)使用者來源,實現使用者之前的相互關聯,比如好友關係或者其

連結串列-雙向非通用連結串列

[toc] --- ## 前言 * 20201010 * 在閱讀 RTOS LiteOS 核心原始碼時發現該核心使用的連結串列時**通用連結串列**,而 FreeRTOS 核心使用的時**非通用連結串列**,所以,有必要釋出一下關於連結串列實現的筆記。 * 以下內容為個人筆記,涉及一些非專業詞彙,敬請諒解,

連結串列-雙向通用連結串列

[toc] --- ## 前言 * 20201014 * 在閱讀 RTOS LiteOS 核心原始碼時發現該核心使用的連結串列是**通用連結串列**,而 FreeRTOS 核心使用的是**非通用連結串列**,所以,有必要記錄一下關於連結串列實現的筆記。 * 以下內容為個人筆記,涉及一些非官方詞彙,敬請諒解,

Link連結串列的反轉

尊重原創,轉載請標明出處   http://blog.csdn.net/abcdef314159 上一篇簡單介紹了LinkedList,程式碼都很簡單,基本上沒有什麼可說的,這一篇就來介紹一下連結串列的使用,反轉連結串列,這個連結串列和LinkedList是不一