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是不一