如何實現(xiàn)邀請好友幫搶票功能?

近期,如何實現(xiàn)更加便捷的邀請好友幫搶票成為了各類搶票app拉新、促活的有效方案,而目前主流社交平臺無非就是微信、微博、QQ,所以如何運用好這三個平臺,合理規(guī)劃分享內(nèi)容與app相關(guān)聯(lián)就顯得尤為重要。

仔細思考后問題確定為如何通過分享一個鏈接給好友,好友點擊后能夠直接回到app去操作,確定好這一方案后就開始找市場上有沒有已經(jīng)成熟的解決方案,經(jīng)過一些搜索,對比后找到下面這樣一個demo,先給大家看一下QQ里的效果圖:


看到這個demo之后就確定了這就是我們需要的解決方案,于是就開始研究這個東西是怎么實現(xiàn)的?又是一番瘋狂搜索,從前端網(wǎng)頁到客戶端配合實現(xiàn),發(fā)現(xiàn)這其中還是有很多技術(shù)實現(xiàn)和需要注意的地方。

OS客戶端上使用的新技術(shù)Universal Link(下文簡稱 ul)。單是這個ul的實現(xiàn)就有很多條件的限制,具體的大家可以參考蘋果官方對ul的說明:

https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html (如果不能放鏈接就改成自行谷歌Universal Link)

簡單的可以總結(jié)為以下幾點:

1.你需要有一個https的安全域名;

2.需要在該域名的指定目錄下放一個可以直接訪問的指定格式的文件;

3.需要iOS客戶端的證書開啟對應的功能并在客戶端里配置好對應的URL。

下面將詳細介紹一下所做的這些繁瑣的配置都會用在什么階段?有什么作用?

首先,我們來說一下這個https的域名,對于我們的app來說,這個域名要具有唯一性、安全性、靈活性等等,那么這些是什么意思呢?唯一性,可以理解為我們app的另一個身份標識,就像scheme一樣,我們要確保一個特殊的scheme來打開我們的app,所以我們也要確定一個域名來打開我們的app。

而安全性就是要使用https安全協(xié)議,這一點很重要,如果你的域名不支持https,那么很有可能無法打開app。對于靈活性,這就是蘋果的iOS系統(tǒng)處理的問題了,簡單來說就是如果我們安裝了app,那么這個域名打開的地址將會自動喚起我們的app,否則iOS系統(tǒng)會直接使用Safari打開對應的鏈接地址。除此之外,這個域名還可以做更多定制化的東西,這里不作贅述。

下面,我們來說一下這個指定格式的文件以及它應該存放的路徑。我們先不說這個文件是干什么用,或者什么地方用,我們先來看一下這個文件是什么樣的格式。


上面是蘋果官方對這個文件定義的示例,可以看到這是一個json文件,但文件名只是’apple-app-site-association’不帶任何后綴,也不用指定格式。

這里需要特別說明一下,這個文件里的’applinks’和其中的‘a(chǎn)pps’務必保持與上圖中一致,即使’apps’是一個空數(shù)組,也要讓它就是個空數(shù)組!重點是’details’數(shù)組里的每一個字典,每一個字典對應上述域名下的一個路徑,只有在這里寫了的路徑才能打開app,不過值得慶幸的是這里可以使用類似于正則的方式做匹配。說到這里我就要說一下上面那個demo對應的這個特殊文件里的內(nèi)容了,詳見下圖:


可以看到其實demo使用的這個文件’details’里就只寫了一個通配符的路徑,那么這樣的話也就是說app里配置的這個域名下面所有的路徑都可以打開對應的app,我想他們是為每一個app分配了一個特殊的域名吧(純屬猜測,哈哈哈)。

現(xiàn)在這個指定格式的文件已經(jīng)了解了,那么這個文件要放在哪里呢?從上面的蘋果官方文檔中我們知道,這個特殊的文件要放到上述https域名的根目錄或者其名為’.well-known’這個特殊的子目錄下,并且,重點是這個文件訪問不能有任何的重定向操作,也就是說一定要通過‘https:///apple-app-site-association’或者‘https:///.well-known/apple-app-site-association’就能夠直接訪問到該文件。

最后,做好上面的準備工作之后下面就是客戶端的配置了。首先證書的配置,這個沒什么好說的,只要創(chuàng)建證書的時候打開對應的開關(guān)就好了。其次,需要在Xcode里的’Capabilities’里開啟’Associated Domains’,并使用上述域名,按固定格式:’applinks:’配置好,最終示例截圖如下:


好了,到這里為止,可以解釋一下上面那個特殊文件是怎么使用的了,那么在我們開發(fā)app的時候,只要這里配置了對應的’domains’,iOS系統(tǒng)在安裝app的時候app下載完成之后,開始安裝之前,會做多一步操作,就是去訪問這里配置的所有域名下面(包括其特殊的子路徑)是否有上述特殊文件存在,如果有將會自動下載到app內(nèi),并將該特殊文件里申明的內(nèi)容注冊到iOS系統(tǒng)中,以便在iOS系統(tǒng)里訪問對應域名的時候能夠檢測是否有對應的app存在并使用app打開。

那么這里就有兩個坑要提醒大家了,第一,如果上面的特殊的文件使用了重定向,會導致即使客戶端配置正確,那么也無法在下載安裝app的時候正常獲取該文件;第二,前面那個問題還是可以避免的,但是如果恰恰在你下載安裝app的時候,用作ul的域名服務器抽風,導致ul文件獲取失敗,那么即使你的app運行一切正常,ul功能也無法使用,并且,坑爹的是這種情況沒有補救措施,只能刪掉重裝,希望蘋果將來能修復這個問題,給出補救策略吧。

經(jīng)過了一段又一段掙扎之后,總算是大概搞清楚這個東西要怎么玩了,不過,不要高興的太早,我有一個好消息和一個壞消息,你們要先聽哪一個??好吧,那我就先說壞消息吧,最近,國內(nèi)最大社交平臺——微信,已經(jīng)開始著手封堵ul了,從微信6.6.0版本開始所有ul全部失效,再也不能達到右上角那個圖的效果了,心里真的是一萬頭草泥馬奔騰而過。但是??!但是我還有好消息啊,經(jīng)過我苦苦摸索,發(fā)現(xiàn)最開始提到的demo中以及很好的解決了這個問題,具體是什么樣的呢?請看下圖:


微信里增加了一個引導頁面,引導用戶如何打開app,這也是挺不錯的應對方案,希望將來他們能有更好的方案,更好的場景拓展。最后也給大家介紹一下這款MobLink產(chǎn)品。

MobLink打破App孤島 實現(xiàn)Web與App的無縫鏈接。

最主要功能有場景還原,就像上面提的搶票場景,從Web端打開的頁面,可直達App指定頁面,一鍵喚醒App;首次安裝App,即可恢復對應場景。場景還原可以幫助開發(fā)者提升App活躍度,降低用戶在Web端跳轉(zhuǎn)至App過程中的流失率,新用戶在首次打開App時,呈現(xiàn)正是用戶想看的內(nèi)容頁面,大大提高用戶轉(zhuǎn)化率。

在Web頁面上,MobLink支持多點直接跳轉(zhuǎn)至App,提高不同內(nèi)容的分享效率,用戶點擊Web頁面任意內(nèi)容,均可直達App相應頁面,實現(xiàn)無縫對接。

還有最關(guān)鍵是免費以及7*24小時技術(shù)團隊的支持。更多MobLink的場景運用,可查看:http://moblink.mob.com/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,812評論 25 709
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 14,288評論 0 15
  • 今天周六兒子要去上托輔,我也要上班!早晨起的挺早,我和兒子吃完飯后,就騎車先把兒子送去,一路上車輛不是太多,可...
    郭錫厚媽媽閱讀 176評論 0 0
  • 酷熱的夏季在高原上卻是難以想象的涼爽。距離太陽近了,陽光透過稀薄的空氣把更多的紫外線傾瀉下來,一馬平川的荒原上毫無...
    木皮叔閱讀 517評論 1 3

友情鏈接更多精彩內(nèi)容