JSAPI

Since 8.1

checkApp

使用方法

AlipayJSBridge.call('checkApp', {
  appId: '20000042',
}, function(result) {
  console.log(result.status);
  if (result && result.status == 'installed') {
    // 应用可用
  }
});

代码演示

app可用性检测

<h1>输入应用id后查看该应用是否存在</h1>
<p>要注意的是这个api在安卓和ios表现并不一致,不建议使用</p>

<input class="app" type="text" value="20000067">

<a href="javascript:void(0)" class="btn check">检测</a>

<script>
function ready(callback) {
  // 如果jsbridge已经注入则直接调用
  if (window.AlipayJSBridge) {
    callback && callback();
  } else {
    // 如果没有注入则监听注入的事件
    document.addEventListener('AlipayJSBridgeReady', callback, false);
  }
}
ready(function() {
  document.querySelector('.check').addEventListener('click', function() {
    var appId = document.querySelector('.app').value;
    AlipayJSBridge.call('checkApp', {
      appId: appId
    }, function(e) {
      alert(appId + '的检测结果: ' + JSON.stringify(e))
    });
  });;
});
</script>

API

AlipayJSBridge.call('checkApp',{
  appId, stageCode
}, fn)

入参

名称类型描述必选默认值版本
appIdstring应用IDY
stageCodestring展台代码,”parentStageCode”: “marketStage”, “stageCode”: “homeStage”, “stageCode”: “recommend”, “stageCode”: “livingConvenience”, “stageCode”: “capitalTransactions”, “stageCode”: “shoppingEntertainment”, “stageCode”: “financialManagement”, “stageCode”: “educationWelfare”, “stageCode”: “othersStage”N
fnfunction回调函数N

出参

回调函数带入的参数result: {exist, status, extStatus, version, type}

名称类型描述备注
existbool应用是否存在(应用存在不代表可用,可能是下线状态)
statusstring值是:installed、uninstall(installed状态可以代表应用可用)
extStatusstringonline, // 上线;uninstall, // 未安装;installing, // 安装中;offline, // 下线(8.5以上版本支持,只有H5应用有这个字段)
versionstring目标应用的版本。(只有H5应用有这个字段)
typestring只有native应用有这个返回字段,值为microApp只有native应用有这个字段)

使用注意

  • checkApp这个api在安卓和ios表现有少于不一致,不建议使用。