1. 程式人生 > >iOS9上的Universal Link實現

iOS9上的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更新的部分可能會沒有效果

相關推薦

iOS9Universal Link實現

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

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

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

PHP圖片傳功能實現

php file 圖片上傳 上傳圖片功能:獲取當前文件夾位置,上傳到當前文件夾下為了上傳後文件名重復導致覆蓋,上傳後更改名字為:當前時間+原文件名只允許gif、jpeg、bmg、jpg格式的文件上傳<form name="frm1" enctype="multipart/form-data"

struts2實現文件的傳下載實現

需要 內容 配置 multipart eth struts content 截器 XML ---恢復內容開始--- 了解 1 前臺form 表單 method=post , enctype=multipart/form-data Struts

一、實現一個特殊的棧,在實現棧的基本功能的基礎,再實現返回棧中最小元素的操作

empty util run print pri ont com res 字符串 請指教交流! 1 package com.it.hxs.c01; 2 3 import java.util.Stack; 4 5 /* 6 實現一個特殊的棧,在實現棧的基本

在CentOS6編譯安裝實現LAMP(php-modules)+phpMyAdmin安裝過程全記錄

輸出 dev 補充 server log tab cif web 必須 php與apache協作有三種模式:CGI、modules、FastCGI。  在CGI模式下,用戶請求php文件時,apache會啟動響應進程,調用php處理器處理請求,然後將結果返回給客戶端。用

universal link使用

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

把AspDotNetCoreMvc程序運行在Docker-part4:實現負載均衡

dash run ner 網絡 endpoint width idg 識別 nginx 在上一part《把AspDotNetCoreMvc程序運行在Docker上-part3:使用獨立的存儲容器》,我們利用MySql容器和Volume實現了真正意義上的數據存儲。整個結

圖片傳前端實現

multipart splice ons chang console resp 前端 返回 res 基於bootstrap實現圖片上傳,具體代碼實現如下 <form id="poster_form" class="form-horizontal" method="p

linux服務器搭建gitolite實現對git server的版本庫的權限控制

搭建gitolite一、環境介紹: 1.1Git賬戶管理機器manageip:10.0.0.56 [root@manage ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@manage ~]# hostname manage [roo

在Hadoop用Python實現WordCount

tdi fff tool 目錄 獲取 style 要求 ren pan 在hadoop上用Python實現WordCount 一、簡單說明   本例中我們用Python寫一個簡單的運行在Hadoop上的MapReduce程序,即WordCount(讀取文本文件並統計單詞的詞

圖片傳技術實現

encoding put com 中文 art get blog span gets 1.參考網站:https://blog.csdn.net/snakemoving/article/details/71076165 2.具體實現   (1)、下載common-fileup

Excel文件傳功能實現

return size access 信息 format 上傳失敗 index cli img $(function(){ let file; //上傳點擊事件 $(‘#btn‘).bind(‘click‘, function(){ let

手機怎麽實現PDF文件轉換成Excel表格

cto 文本格式 實現 文件 開發 除了 技術 doc 技術分享 PDF全稱是“Protable Document Format”,它是Adobe公司所開發的一種特殊的新型的 文本格式,這種文本格式除了方便閱讀、尺寸較小以外,還具有很強的防盜的功能, 因此我們如果要是對PD

PHP SFTP簡單傳下載實現

1 下載ssh2檔案 下載地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ 根據自己PHP的版本去下載,其中ts表示執行緒安全,nts表示不安全。 (可以使用phpinfo()檢視需要哪一個,Thread Safety項

【Android app】DialogFragmentViewPager+ RecyclerView實現多頁圖片list展示

效果圖:                                         &nb

Xcode 10 打包 執行在iOS9崩潰

問題描述: XCode 10打包的App在iOS 9上Crash(EXC_BAD_ACCESS)。 原因: App Store的Bug,上傳後的IPA經過App Store處理後,載入assets中的圖在iOS 9上會Crash。 解決方案三選一: 切回到XCode 9.4打包,前提是你沒有用到一些

Docker 訪問宿主服務路由配置及link實現容器間訪問

宿主機器不能直接ping容器IP,容器本身內部如果設定的127.0.0.1亦指其容器本身,如果容器需要訪問宿主,此時不能簡單的使用127.0.0.1而應該使用宿主的內網IP地址或公網地址。 構建和執行服務和資料庫容器 通過Dockerfile構建: docker build -t r

Windows命令列實現執行時新增ODBC資料來源-odbcconf命令的使

     最近做的一個專案要求程式可以自動在windows上新增一個ODBC資料來源,發現可以用Windows API中的SQLConfigDataSource函式可以實現,在檢視MSDN文件時,這個函式等同於odbcconf.exe命令列工具。最好是使用SQ

在樹莓派安裝mosquitto實現MQTT通訊

本篇文章我們介紹一下如何在樹莓派上安裝mosquitto實現訊息接收 訊息推送協議 MQTT 提供輕量級的,支援可釋出/可訂閱的的訊息推送模式,使裝置對裝置之間的短訊息通訊變得簡單,比如現在應用廣泛的低功耗感測器,手機、嵌入式計算機、微型控制器等移動裝置。 輸入以下命令: sudo ap