通過JS下載 or 喚起App


判斷喚起app的連接是否在WeChat中打開

let isWeiXin = navigator.userAgent.toLowerCase().indexOf('micromessenger') != -1;
// 監測手機設備的系統
systemType(isWeiXin);

判斷手機設備為iOS的方法

// iOS
function toiOS() {
	$('#DBL').click(function() {
		/* [app scheme碼]:// */
		window.location.href = 'scheme://';
		setTimeout(function() {
			// iOS App Store下載地址
			window.location = 'url';
		}, 300);
		setTimeout(function() {
			window.location.reload();
		}, 1000)
	});
}

判斷手機設備為Android的方法

// Android
function toAndroid(isWeiXin) {
	if (isWeiXin) {
		// 在微信中打開鏈接的提示信息
		$('#DBL').click(function() {
			$('#zz').fadeIn();
		});
		$('#zz').click(function() {
			$(this).fadeOut();
		});
	} else {
		var ifr = document.createElement('iframe');
		/* Android app scheme碼 打開地址 */
		ifr.src = 'scheme://host/openwith';
		ifr.style.display = 'none';
		document.body.appendChild(ifr);

		$('#DBL').click(function() {
			// Android.apk下載地址
			window.location = 'url';
		});
	}
}

判斷手機系統類型(AndroidiOSWeChat

// 判斷手機系統
function systemType(isWeiXin) {
	let u = navigator.userAgent,
		app = navigator.appVersion;
  
	// 監測設備
	let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
		isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);

	// iOS 設備判斷
	if (isiOS) toiOS();
	// Android 設備判斷
	if (isAndroid) toAndroid(isWeiXin);
}


在WeChat中,因為微信的安全機制的問題,通過微信喚起不同設備的app的方法也存在一定的差異;iOS與Android的安全機制不同,喚起各自設備的app的方法也有所差別。
iOS所有的app都是在App Store中完成的,所以可以通過微信直接喚起蘋果的App Store來實現app的喚起和下載;
Android中app的來源五花八門,可以通過app應用市場、瀏覽器等來實現app的喚起和下載;因為微信的安全機制,無法通過微信直接喚起app或下載app,只能通過微信提供的插件“瀏覽器”中打開當前鏈接,通過瀏覽器來實現app的下載和打開功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM