UNPKG

ylh-quick-app-ad-sdk

Version:

安装命令: 通过 `npm` 安装: ```sh npm install ylh-quick-app-ad-sdk ``` 通过 `yarn` 安装: ```sh yarn add ylh-quick-app-ad-sdk ```

106 lines (97 loc) 3.1 kB
/* eslint-disable import/no-unresolved */ import app from '@system.app'; import fetch from '@system.fetch'; import file from '@system.file'; import device from '@system.device'; import network from '@system.network'; import shortcut from '@system.shortcut'; import battery from '@system.battery'; import brightness from '@system.brightness'; import webview from '@system.webview'; import storage from '@system.storage'; import pkg from '@system.package'; import router from '@system.router'; import prompt from '@system.prompt'; import cipher from '@system.cipher'; import volume from '@system.volume'; import sensor from '@system.sensor'; import vibrator from '@system.vibrator'; import { classCallCheck, initYLHSDK, } from './utils'; import YlhQuickAppAdSDKCore from './lib/ylh-sdk-core-v1.7.1074.min'; const qaGlobal = Object.getPrototypeOf(global) || global; const system = { fetch, file, device, network, shortcut, battery, brightness, webview, storage, pkg, router, prompt, cipher, volume, sensor, vibrator, app, BroadcastChannel, }; // 为加快运行速度,缓存promise const userPromiseCache = {}; const YLH_SDK_SUPPORT_MINI_PLATFORM_VER = 1100; export const isPlatformVersionCodeGreaterThen1100 = async () => { if (!userPromiseCache.platformPromise) { userPromiseCache.platformPromise = new Promise((resolve, reject) => { device.getInfo({ success: (deviceInfoInfo) => { const { platformVersionCode } = deviceInfoInfo; if (platformVersionCode < YLH_SDK_SUPPORT_MINI_PLATFORM_VER) { reject(new Error(JSON.stringify({ platform: platformVersionCode }))); } else { resolve(true); } }, fail: () => { reject(new Error(JSON.stringify({ platform: '未知' }))); }, }); }); } return userPromiseCache.platformPromise; }; /** * 快应用SDK入口函数 * @param {Object} $app 快应用 App 实例。注意$app和app的区别:$app-快应用实例,app-快应用文档提供的@system.app api。 */ export default function YLH_UNION_AD_SDK_PURE($app, config = {}) { classCallCheck(this, YLH_UNION_AD_SDK_PURE); if (!config.appId) { console.error('必须传递appId,ylh_sdk才会正常运行'); return; } initYLHSDK($app); isPlatformVersionCodeGreaterThen1100().then(() => { qaGlobal.$YLHSDK = { $app, config, system: { ...system, telecom: require('@system.telecom'), // telecom 必须 大于 1080 版本 keyguard: require('@system.keyguard'), // keyguard 必须 大于 1090 版本 downloadTask: require('@system.downloadtask'), // downloadTask 必须 大于 1100 版本 }, }; // eslint-disable-next-line no-new YlhQuickAppAdSDKCore(qaGlobal.$YLHSDK); }).catch((err) => { const errObj = err?.message ? JSON.parse(err.message) : {}; console.warn(`该机型的 minPlatformVersion 为${errObj.platform}, 小于${YLH_SDK_SUPPORT_MINI_PLATFORM_VER}, ylh_sdk 不会运行也不会导致快应用异常`); }); }