這次帶給大家用h5怎麼喚醒app,怎麼用h5喚醒app? h5喚醒app的注意事項有哪些,以下就是實戰案例,一起來看一下。
h5喚起app這種需求是常見的。在移動為王的時代,h5在app導流上扮演著重要的角色。
三種喚起方案
目前我們採用的喚起方式是url scheme(iOS,Android平台都支援),只需原生APP開發時註冊scheme,那麼用戶點擊到此類連結時,會自動跳到APP。
var last = Date.now(), doc = window.document, ifr = doc.createElement('iframe'); //创建一个隐藏的iframe ifr.src = nativeUrl; ifr.style.cssText = 'display:none;border:0;width:0;height:0;'; doc.body.appendChild(ifr); setTimeout(function() { doc.body.removeChild(ifr); //setTimeout回小于2000一般为唤起失败 if (Date.now() - last < 2000) { if (typeof onFail == 'function') { onFail(); } else { //弹窗提示或下载处理等 } } else { if (typeof onSuccess == 'function') { onSuccess(); } } }, 1000);
iframe方案的喚起原理是: 程式切換到後台時,計時器會被延遲(計時器不準的又一種情況)。如果app被喚醒那麼網頁必然就進入了後台,如果使用者從app切回來,那麼時間一般會超過2s;若app沒有被喚起,那麼網頁不會進入後台,setTimeout基本上準時觸發,那麼時間不會超過2s 。
window.location.href直接跳轉
window.location.href = nativeUrl;
#a標籤喚起
<a href="nativeUrl">唤起app</a>
驅動的喚起,iframe喚起的表現比location.href要更好一點。
透過測試可以發現,進入頁面直接喚起和事件驅動的喚起,對於許多瀏覽器,兩者的表現是不同的,簡單來說,直接喚起的失敗更多。 透過上述比較分析,Android使用iframe喚起,ios採用window.location.href喚起更合適一點。 相信看了這些案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章! 相關閱讀:以上是h5怎麼喚醒app的詳細內容。更多資訊請關注PHP中文網其他相關文章!