Mobile Safari調用本地App, 否則進入App Store下載

來源:互聯網
上載者:User

標籤:class   code   java   http   com   strong   

需求:

如何讓使用者通過手機瀏覽器(Mobile Safari),訪問一個URL就能直接開啟ios上的App應用,如果該應用沒有安裝,那麼直接跳轉到App Store的App下載頁面。

準備工作
  1. ios SDK的OpenURL函數和URL Scheme
  2. JavaScript的window.location和setTimeout函數
代碼實現

下面以開啟暖島app為例子,JS實現部分如下

window.location = ‘nuandao://web2app‘;setTimeout(function() {    window.location = ‘itms-apps://itunes.apple.com/cn/app/nuan-dao/id583307376?mt=8‘}, 30);

看到的效果:
1. 如果你已經安裝了暖島APP,那麼會直接開啟該App2. 如果你還沒安裝,那麼會直接跳轉到APP Store的下載頁面

思路:
1. window.location的串連執行開啟應用2. 延遲開啟App Store下載應用頁面

具體來說,當你開啟連結時,Mobile Safari通過window.location指向URL Scheme,直接開啟本地APP。否則30ms後開啟下載頁面。如果應用成功開啟,生命週期就是啟用狀態,那麼瀏覽器的狀態進入後台,頁面裡的所有操作都被登出了,顯然timeout會被clear掉,如果你沒有成功開啟應用即返回404,那麼30ms後面頁面當然會自動跳轉了。注意是items-apps:而不是http://,否則可能會有錯誤。

接下來結合移動判斷,實現需求。

if(/(iphone|ipad|ipod)/i.test(navigator.userAgent)) {    $(‘#header‘).addClass(‘ios‘);                   // 調整結構    $(‘#J_itunes-cover‘).show();                    // 顯示下載條    $(‘#J_itunes‘).click(function() {        window.location = ‘nuandao://web2app‘;        setTimeout(function() {            window.location = ‘itms-apps://itunes.apple.com/cn/app/nuan-dao/id583307376?mt=8‘        }, 30);    });}

本文轉載: http://jsdashi.com/development/511.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.