淺析APP之間相互交互的原理

2020-12-12 人人都是產品經理

APP之間相互調用並且傳輸數據經常會出現在實際需求中,我們應該對這樣的基本功能的實現原理有一個簡單的認識,這樣也方便工作中和程序哥哥們的溝通。

在產品設計中,經常會遇到APP之間相互調用的功能設計,比如:

實現三方登錄。用QQ帳號快速登錄,如果安裝了 QQ,那麼應用會調用QQ的快速登錄界面,確認後, QQ會回調到原來的應用,同時將登錄的狀態信息返回給了原應用。實現分享。選擇應用內的可分享內容,點擊分享, 選擇朋友圈,於是微信的朋友圈被調起,並將這張圖片發了出去,並詢問你是返回原應用還是留在微信,如果你選擇了返回原應用,那麼原來的應用又會被調起。實現第三方支付。選擇應用內要支付的內容,選擇支付方式,一般會提供支付寶或微信,點擊後跳轉到支付寶或微信的付款頁面,完成支付後回到該應用。實現手機網頁引導並打開應用功能。在推廣的H5頁面上,加入打開APP的按鈕,點擊後直接調起我們的APP,並且可以根據參數信息, 在本地應用中還原用戶的瀏覽場景。

這些過程實現的原理就是利用 URL Scheme

什麼是URL Scheme

URL Scheme就是一個可以讓app相互之間可以跳轉的協議。每個app的URL Scheme都是不一樣的,如果存在一樣的URL Scheme,那麼系統就會響應先安裝那個app的URL Scheme,因為後安裝的app的URL Scheme被覆蓋掉了,是不能被調用的。

應用之間跳轉原理

一個應用能打開另一個應用的必然條件是,另一個應用必須配置一個scheme(協議),這樣應用程式才能根據協議找到需要打開的應用。

APP應用在系統中通過註冊Scheme的方式註冊自己,常見的Scheme就是 http:,聲明了這個Scheme的應用就是聲稱自己支持http協議,能夠打開網頁了。還有一些常見的Scheme比如 file:(傳輸文本), tel:(通話)等。

當然,APP應用不僅可以聲明這些標準的Scheme,也能聲明自己獨有的Scheme,比如微信的就是 weixin:, QQ 的是 mqq: 。

如果多個應用都聲明相同的Scheme呢?比如應用a、b、c都聲明自己能發簡訊,這時系統會有一定的策略來保證公平性,比如在Android系統中,就會彈出支持的應用列表,讓用戶選擇, iOS則替用戶選擇近打開過的支持應用。

應用之間傳遞數據

了解了應用之間調用的方法,那麼後面數據傳遞就簡單了,只需要在Scheme後面攜帶上需要傳遞的信息作為參數就可以了。

比如,發起調用的是應用A,被調用的是應用B。yingyongB://action=sendmessage,message=」xxx」,後面的數據會帶到應用B中,但是應用B接到了信息不知道該信息是哪個應用發的,回信息給哪個應用。如何進行回調呢?發起調用的應用A在Scheme後面加一個參數backScheme=yingyongA: ,這樣應用B就知道了需要返回信息給應用A,應用A和B這種自定義協議也可以叫做偽協議,只要雙方應用能識別處理就可以。

同樣,我們也可以實現跳轉到指定頁面的功能。想要跳轉到指定界面,必定是上一個app告訴下一個app(被跳轉的app)需要跳轉到哪個界面,而如何告訴它這裡便涉及到兩個app的通信。兩個app之間的跳轉只需要配置一個Scheme,通過協議即可實現。

最後上一段iOS測試代碼:

//進入更多界面(上一個APP)– (IBAction)intoMore:(id)sender {NSURL *url = [NSURL URLWithString:@」test://more」]; //test://more是要跳轉的頁面名稱if ([[UIApplication sharedApplication] canOpenURL:url]) {[[UIApplication sharedApplication] openURL:url]; //是否安裝應用,url是跳轉頁面的地址}else{NSLog(@」沒有安裝應用」); //沒有安裝則提示相應信息}}

在被調用的APP中,就會監聽方法,對進入的頁面進行判斷。

總結

以上就是應用之間進行交互原理的簡單總結,不同平臺會有自己一些獨特的應用交互方式,用Scheme這種方式可以減少一些跨平臺開發適配的成本,同時也有利於網頁和Native之間的相互調用。

作者:流年,網際網路產品設計師,4年網際網路產品設計經驗。

本文由 @流年 原創發布於人人都是產品經理。未經許可,禁止轉載。

相關焦點

  • 楊浦UI互動設計培訓班淺析新手學習UI互動設計誤區
    ①學習過於片面,知識體系不完整之前UI互動設計培訓老師說過了,軟體基礎、設計理論、項目實戰都是不可或缺的拼圖。但是UI互動設計培訓老師認為3.0對工作起不到太大作用,把時間放到了遊戲界面設計的學習上。後來,因為蘋果手機火爆,flash徹底涼了,actionscript3.0語言徹底沒了用武之地。而UI設計火了,遊戲界面設計很便捷就轉到了手機界面設計上。再比如2020年流行的顏色是經典藍,很漂亮。但是也不能亂套,兒童類行業可能就不合適。
  • APP loading頁面:淺析「先進入再loading」的交互方法
    先loading再進入在一個頁面中點擊一個button或者一個入口時,app會先加載完下一個頁面的所有數據之後,再進行跳轉操作,下一個頁面的所有樣式布局、所有的數據,都是在加載完該頁面所有的模塊之後,才會跳轉並顯示出來。這裡你可能會比較差異,自己平時用的app裡面好像很少有這種交互方法。
  • 以在線協作文檔為例的情境交互體驗淺析與設計實例 - 人人都是產品...
    本文將以在線協作文檔為例,分析其情景交互體驗,希望對你有幫助。筆者以 「在線文件存儲和文檔創作」 的場景為例,進行關於在線協作文檔的情境交互研究。分享用戶自己在協作文檔 app 中的一些數據,可以幫助用戶表達自己工作可靠、高效的形象。用戶可以與同事分享。3. 在線協作文檔中的關係模型在在線文檔的多用戶協作活動中,用戶之間的溝通和協調都在影響著目標是否可以順利完成,順暢的溝通和協調便於了解團隊或同事之間的工作方式,感受團隊的專業性,這些也有助於團隊建立良好的合作關係,確保合作的成功進行。
  • 設計小結:新聞資訊類App的UX淺析
    門戶類網站新聞資訊app(騰訊新聞、網易新聞、搜狐新聞):PC延伸的門戶網站,通過轉載內容和新聞解析滿足用戶多元化需求。用研根據iresearch 2017數據各項佔比,我們可以建立一個移動新聞資訊app核心用戶概念模型。
  • 互動設計是什麼?深入分析互動設計專業,附全球互動設計院校推薦
    隨著網際網路時代高速發展,越來越多的交互設備開始進入人們的生活,互動設計師就開始顯得愈發重要。據統計,即使是互動設計專業的應屆畢業生,月薪平均也在1萬以上,有2年以上工作經驗的互動設計師,月薪可達2萬5以上。互動設計儼然成為了設計領域一個炙手可熱的專業。那到底互動設計是什麼?哪些大學的互動設計專業最好?未來的就業前景又如何?
  • 淺析前後端數據交互
    想要做好網際網路產品的設計,就要對一些基本的技術實現原理有所了解,本文將對網際網路產品的前後臺數據交互做一個小的總結。(技術大神輕噴)HTTP協議前後臺交互的協議不只有HTTP協議,本文僅以HTTP協議為例。HTTP協議即超文本傳輸協議,是網際網路上應用最為廣泛的一種網絡協議。
  • 你離不開的點讚:淺析「點讚」功能的互動設計
    「點讚」,可以毫不誇張地說是移動網際網路和社交媒體時代最熱門的交互方式。筆者關注到這一現象,並研究數款熱門APP的點讚體驗對比,淺析「點讚」功能的互動設計。
  • 交互技術、場景化體驗、IP內容生態,小企鵝樂園app的一站式變革
    這部在小企鵝樂園app播出的學齡前兒童動畫,已經播出至第二季。本季《海豚幫幫號》交互版為兒童呈現出肢體動作等交互體驗,兒童在參與動畫互動的過程中,不僅獲得了小浣熊和麥雞自然共生的知識科普,也學會了如何通力合作解決危機。
  • 虹口UI互動設計培訓班解讀UI互動設計的學習路線
    非凡教育UI互動設計培訓老師發現很多小白萌新都會有這樣的疑問,交互前景很美好,可是自己該從哪入手?下一步該學些什麼?網際網路公司對設計的要求標準是什麼?同一家公司為什麼設計師收入相差卻很大?這些都是各位小白們會面臨的切實問題。
  • 傾角傳感器原理及市場現狀淺析
    打開APP 傾角傳感器原理及市場現狀淺析 發表於 2020-04-10 15:57:33   傾角傳感器工作原理   傾角傳感器根據工作原理的不同可分為「液體擺」式、「固體擺」式和「氣體擺」式三種,但這三種傾角傳感器都是基於牛頓第二定律的基本理論來完成的。
  • 淺析FPGA的結構組成及工作原理
    打開APP 淺析FPGA的結構組成及工作原理 發表於 2019-07-12 15:24:20
  • 探討:對話式交互會成為未來主流的交互方式嗎?
    既然都快到人工智慧時代了,交互方式也得與時俱進啊,那未來主流的交互方式是什麼呢?浮出水面的答案就是 — 對話式交互。對話式交互會成為未來主流的交互方式嗎?我們一起來探討下這個問題。二、走在前面的探索者給大家介紹兩個app,在對話式交互上做得不錯的。
  • iOS 11人機互動指南概覽:主題(Themes)
    當用戶瀏覽內容時,界面之間的轉換效果可以表現另一種深度感。設計原則(Design Principles)為了最大程度地提高影響面和覆蓋率,當你設計你的app時,你需要牢記以下準則:美學完整性(Aesthetic Integrity)美學完整性表現了一個app的功能和外觀、交互行為結合的完美程度。
  • 發光二極體正嚮導通電壓 淺析發光二極體電壓工作範圍及其原理
    打開APP 發光二極體正嚮導通電壓 淺析發光二極體電壓工作範圍及其原理 工程師譚軍 發表於 2018-08-27 10:18:28
  • 寶山百度SEM培訓班淺析SEM推廣的基本要素和工作原理
    學習百度SEM推廣培訓課程的同學們要了解根據搜尋引擎推廣的原理,搜尋引擎推廣之所以能夠實現,需要有五個基本要素:信息源(網頁)、搜尋引擎信息索引資料庫、用戶的檢索行為和檢索結果、用戶對檢索結果的分析判斷、對選中檢索結果的點擊。
  • 淺析App付費模式新出路-千尺免費換享
    淺析App付費模式新出路-千尺免費換享 2012年05月15日 17:21作者:HL編輯:陳濤文章出處:泡泡網原創     近日,國內開發團隊千尺無限公司,旗下iOS平臺產品1000app推出「免費換享」新模式:用戶通過下載免費產品獲得積分,並由積分兌換APP付費應用。這一模式一經推出,業內頗受好評。
  • 如何用Axure快速製作APP交互原型
    其中,作為一個專業的快速原型設計工具,Axure RP無疑在產品人心中擁有一個難以撼動的地位。但就要PS一樣,雖然足夠專業,但同樣也會存在使用靈活性的一些問題。今天我們就談談,如何用Axure快速製作APP交互原型,不對,更準確的說法應該是:如何用Axure快速製作一份有水準的APP交互原型。作為一名優秀的產品人不僅要保證效率,也要保證質量才行。
  • 微交互的設計理念:一切都是細節,一切都是微交互
    《微交互的設計理念:一切都是細節,一切都是微交互》微交互就是產品中那些功能性的細節,細節是本質,是評價質量的標準,專注於微交互是創建用戶體驗的必經之路。移動設計發展到現在,各類設計規範的制定,各種app設計風格的統一,產品設計同質化似乎變得更加明顯,同一類的產品往往大致結構都是相同的,用戶也變的難以選擇。
  • 人機互動簡述,一起來了解人機互動的世界!
    一、HCI綜述HCI(WIKI)是一門研究系統和用戶之間交互的學問。系統可以是各種各樣的不同的機器,也可以是計算機化的系統和軟體。人機互動界面通常是指用戶可見的部分。用戶通過人機互動界面與系統交流,並進行操作。通俗的講就是研究各種通過交互系統、交互體驗的學科。Physical的交互界面比如收音機的播放按鍵,virtual的界面比如網站、app界面。
  • 菲茨定律與未來交互方式
    百度all in AI之後,前天發布了無人駕駛的Apollo(阿波羅)系統,隨著李彥宏被堵在五環的消息刷遍朋友圈,網際網路圈好像一夜之間好像都在對未來的無人駕駛充滿遐想。尤瓦爾·赫拉利在《未來簡史》中令人最眼前一亮的就是信數據得永生的概念,在數據積累到2016這個節點之後。仿佛什麼東西如果不粘上大數據、智能算法和AI你都不好意思寫BP。