在不借用外壳方法的情况下,怎么调用第三方app?
-
第一步是判断手机是Android还是IOS系统。
-
第二步,根据手机类型不同怎么去拉取第三方app。
-
第三步,如果能拉取,怎么拉取第三方app。
-
第四步,如果不能拉取,怎么解决。
判断机型
做需求的时候外壳会告诉你怎么判断是ios还是安卓
ios
(网上找的)
isIos() {
var ua = navigator.userAgent.toLocaleLowerCase()
var u = navigator.userAgent
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) // ios终端
return isIOS
isAndroid() {
var ua = navigator.userAgent.toLocaleLowerCase()
var u = navigator.userAgent
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1 // g
return isAndroid
在网上找过一篇文章 说ios机型还需要判断是9+还是9以下
判断ios型号(网上找的 我记得一行代码就可以搞定了)
var str= navigator.userAgent.toLowerCase();
var ver=str.match(/cpu iphone os (.*?) like mac os/);
if(!ver){
alert("请在Ios系统中打开");
}else{
alert("你当前的Ios系统版本为:"+ver[1].replace(/_/g,"."));
//苹果9以上
if(iOS9) {
window.location.href = ${universalLink};
//9以下
else {
var ifr = document.createElement('iframe');
ifr.src = ${scheme};
ifr.style.display = 'none';
document.body.appendChild(ifr);
window.setTimeout(function () {
document.body.removeChild(ifr);
}, 300);
举个栗子:
${universalLink} = 'http://myapp.com'
${scheme} = 'myapp://index'
能不能拉取
const initialTime = new Date();
let counter = 0;
let waitTime = 0;
const checkOpen = setInterval(() => {
count++;
waitTime = new Date() - initialTime;
if (waitTime > 2500) {
clearInterval(checkOpen);
cb();
if (counter < 100) return;
const hide = document.hidden || document.webkitHidden;
if (!hide) {
cb(); // 唤端失败的回调函数
}, 20);
还有就是保底策略
//URL是下载APP的链接
window.location.href=URL
上面的cb()函数就要结合这个保底策略
有用的一些调用APP链接参考
H5唤起APP指南
H5页面拉起第三方App
h5怎么调用第三方app?在不借用外壳方法的情况下,怎么调用第三方app?方案思路h5调用第三方app,首先第一步是判断手机是Android还是IOS系统。第二步,根据手机类型不同怎么去拉取第三方app。第三步,如果能拉取,怎么拉取第三方app。第四部,如果不能拉取,怎么解决。...
5+APP原生第三方插件开发流程:1、离线打包https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android;开发工具:Hbuilder(X),Android Studio。
为什么要用离线打包呢,因为是开发安卓第三方插件,主要用的是Android Stuido,所以把5+APP项目导到Android studio里来,方便开发和测试。
其实还有一个原因,涉及到的第三方插件用到了系统级权限,要用platform.pk8来签名打包,才能运行。所以用离线
调起app是操作系统(iOS、Android)的机制,在h5页面,我们可以做的不多。
在调起之前,h5页面无法判断当前手机是否安装了对应的app,我们只能去尝试调起,并且用一些方法来处理没有调起的情况。
调起的原理就不介绍了,网上一搜一大堆。直接上核心代码。
if(iOS...
WebView是html与Android直接联系的纽带,可以通过WebView实现Android调用web端内容方法,WebView也可以实现web端调用Android的方法并获取返回值。以下是对web端和android本地通过WebView交互方法的总结。
一:web端调用Android端
1)可以通过webview的addJavaScriptInterfance(Object 对象,...
app唤醒方式
1 应用宝调起
很早前在微信和qq浏览器中采用的调起方式,在安装了应用宝的情况下,若已安装app,可通过应用宝直接调起,未安装,则引导去应用宝中下载,目前基本不再使用。
2 url scheme协议
一种页面内跳转协议,通过定义自己的scheme协议,可以方便的跳转到app中的各个页面。
scheme]://[host][:port]/[path]?[query]
协议名称(必选) 域名 端口 页面路径 请求参数
有协议名称即可拉起app,如在safari浏览器中输入
在项目根目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。
// main.js
import uView from "uview-ui";
Vue.use(uView);
#2. 在引入uView的全局SCSS主题文件
在项目根目录的uni.scss中引入此文件。
/* uni.scss */
@import 'uview-ui/theme.scss';
#3. 引入uView基础样式
在App.vue中
Android4.4+方法
如果你项目的minSdkVersion 为4.4 以上,那么你可以直接通过WebView的evaluateJavascript()方法 拿到JS方法的返回值
mWebView.evaluateJavascript("javascript:JSMethod()", new ValueCallback<String>() {
@Ove...
我司项目提供Android的SDK(jar,aar),而客户使用HBuilder开发的H5项目,为了能让客户顺利集成我司业务能力,没办法要折腾Demo了,没有经验怎么办?
前面介绍过HBuilder的使用,官方也有明确HBuilder要调用jar包需要使用AndroidStudio离线打包的方式;所以,本项目也不例外,那就开始准备吧!
一、资源下载
从这里下载H5 SDK包,地址:http:...
微信公众号平台是一个非常重要的社交媒体平台,不仅提供了便捷的聊天和朋友圈功能,还让用户创建自己的公众号,发布文章或推广产品。现在,微信公众号又推出了新功能:直接加载第三方H5网页。这种新功能在传统的互联网行业中早已普及,但是在微信公众号中实现这个功能还是比较方便的。
通过使用微信公众号直接加载第三方H5,用户可以将其他的网站的信息共享到微信中,这样可以方便用户在微信公众号中查看网页内容,从而节约用户的时间和精力。如果想使用这项功能,用户只需要在微信公众号后台添加第三方H5即可,这非常容易实现。
但是,直接加载第三方H5网页不遵循微信公众平台的规则,需要在安全性和可靠性上更加谨慎。因为加载的第三方H5是从其他网站引入的,必须注意安全性,避免不安全的标签注入和代码脚本注入等安全问题。此外,在加载时还必须考虑兼容性,以确保在微信公众号中浏览网页内容的质量。
总之,微信公众号直接加载第三方H5网页是一个非常实用的功能,为用户提供了更便捷的体验。但是,需要注意安全性和兼容性,以确保平台和用户的信息安全和稳定性。故,让微信公众号直接加载第三方H5不会引起比较大的影响,而是可以为公众号的用户提供更多其他来源的信息。