米家扩展程序打开第三方应用 - 飞书云文档 (mioffice.cn)
米家扩展程序打开第三方应用
import { Host } from 'miot';
import logger from '../../../utils/logger';
const noop = undefined;
/**
* 打开第三方应用。如手机未安装应用将会跳转应用市场。
* @param schema {string} See: https://baike.baidu.com/item/Schema
* @param packageName {string} Android 包名。前往小米应用商店搜索应用后查看包名:
* https://app.mi.com/
* @param appStoreId {string} APP Store 应用 ID。
* 获取应用 ID 可以在 APP Store 搜索该应用后点击分享。
*/
export function open3rdApp(schema, packageName, appStoreId) {
// Android 应用市场链接:market://details?id=包名
// 获取 Android 包名:前往小米应用商店搜索应用后查看 https://app.mi.com/
const androidMarketLink = `market://details?id=${ packageName }`;
// APP Store 链接:https://apps.apple.com/app/应用ID
// 获取应用 ID 可以在 APP Store 搜索该应用后点击分享
const appStoreLink = `https://apps.apple.com/app/${ appStoreId }`;
const marketSchema = Host.isAndroid ? androidMarketLink : appStoreLink;
Host.jumpToThirdpartyApplication(schema, noop, noop)
.catch(() => Host.jumpToThirdpartyApplication(marketSchema, noop, noop))
.catch((e) => logger.e(`open 3rd app err: ${ JSON.stringify(e) }`));
}
/**
* 打开小米运动健康
*/
export function openMiHealth() {
const schema = 'mihealth://intent?pageType=sporttab';
const packageName = 'com.mi.health';
const appStoreId = 'id1493500777';
open3rdApp(schema, packageName, appStoreId);
}
/**
* Android 打开小米钱包,iOS 打开钱包
*/
export function openWallet() {
const schema = Host.isAndroid ? 'sacf776a64://mihome' : 'wallet://mihome';
const packageName = 'com.xiaomi.jr';
const appStoreId = 'id1160481993';
open3rdApp(schema, packageName, appStoreId);
}
/**
* 打开米兔 APP
*/
export function openMiRabbit() {
const schema = 'xiaoxun://mihome';
const packageName = 'com.imibaby.client';
const appStoreId = 'id1078501077';
open3rdApp(schema, packageName, appStoreId);
}
/**
* 打开米兔 APP 门卡页面
*/
export function openMiRabbitCard() {
const schema = 'imibaby://doorcard';
const packageName = 'com.imibaby.client';
const appStoreId = 'id1078501077';
open3rdApp(schema, packageName, appStoreId);
}