{"_id":"@coolita-os/coolita-ima-js-sdk","_rev":"6-1c50f7115df946c08b8e04399e4759f8","name":"@coolita-os/coolita-ima-js-sdk","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@coolita-os/coolita-ima-js-sdk","version":"0.0.1","keywords":["coolita-ima-js-sdk"],"author":{"name":"john"},"license":"MIT","_id":"@coolita-os/coolita-ima-js-sdk@0.0.1","maintainers":[{"name":"coolita-os-developer","email":"1121898804@qq.com"},{"name":"xiao_yao_pai","email":"806620445@qq.com"}],"dist":{"shasum":"3123497e49fd8a85cf223962c1c0335a8b044ba9","tarball":"https://registry.npmjs.org/@coolita-os/coolita-ima-js-sdk/-/coolita-ima-js-sdk-0.0.1.tgz","fileCount":16,"integrity":"sha512-fo8p00n6M2IrEoLPBbL5jZgSQ50tBt8ha8NP9jr/JsxglxxxYe2fVle2fUPHsa1GfWYsRGZbFXnV0BhcE4kZ7A==","signatures":[{"sig":"MEQCIC49IGefjyTX4VjkPkU/BzqDE3AQiFRx9NiiKU1KfnuVAiA+MrnsDOOwt6mYCoUsMt0DL6q26tgXZ50/kwDnpphKRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657174},"main":"./dist/ima-sdk.cjs.js","types":"./dist/lib/index.d.ts","module":"./dist/ima-sdk.esm.js","gitHead":"62c87fb92ae2a72583906d9fd4551227b3c35546","scripts":{"build":"rollup --config","clean":"rollup --config ./clean/rollup.clean.js"},"_npmUser":{"name":"coolita-os-developer","email":"1121898804@qq.com"},"repository":{"url":"http://gitlab.skysri.com/overseas/coolita-ima-js-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for coolita os loading the Coolita IMA SDK with static typing for the SDK","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.25.2","ts-node":"^10.9.1","typescript":"^5.1.6","@babel/core":"^7.22.5","@types/node":"^24.0.3","@babel/preset-env":"^7.22.5","@rollup/plugin-terser":"^0.4.3","rollup-plugin-cleaner":"^1.0.0","@rollup/plugin-commonjs":"^25.0.2","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.2","@better-typescript-lib/dom":"^2.11.0","@rollup/plugin-node-resolve":"^15.1.0","@coolita-os/coolita-ima-core":"^0.0.1","@types/google_interactive_media_ads_types":"^3.697.1"},"_npmOperationalInternal":{"tmp":"tmp/coolita-ima-js-sdk_0.0.1_1779783433160_0.42267985430256516","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@coolita-os/coolita-ima-js-sdk","version":"0.0.2","keywords":["coolita-ima-js-sdk"],"author":{"name":"john"},"license":"MIT","_id":"@coolita-os/coolita-ima-js-sdk@0.0.2","maintainers":[{"name":"coolita-os-developer","email":"1121898804@qq.com"},{"name":"xiao_yao_pai","email":"806620445@qq.com"}],"dist":{"shasum":"6f1a868dccb9dac46deb860c87497ce5594ad085","tarball":"https://registry.npmjs.org/@coolita-os/coolita-ima-js-sdk/-/coolita-ima-js-sdk-0.0.2.tgz","fileCount":16,"integrity":"sha512-2BShRJ0Hp6VQ99FTFGHr5SMH6gfytZ9zHe0ZRZrEg6CJceA1zizihCLNCgsKgCy7bmAEloltXLQQfnEhgUxBLQ==","signatures":[{"sig":"MEUCIQDy96jci2XE6O8xxCHa0K9dFF6XzYmnzC0A2w6lcUyrmQIgYtNQJbIu7BiahLblQucn2aIu5C1vHuskS1v/98ICWQw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":708397},"main":"./dist/ima-sdk.cjs.js","types":"./dist/lib/index.d.ts","module":"./dist/ima-sdk.esm.js","gitHead":"39385dcadc5ea39a311ee0b63409aa3c274fa89b","scripts":{"build":"rollup --config","clean":"rollup --config ./clean/rollup.clean.js"},"_npmUser":{"name":"coolita-os-developer","email":"1121898804@qq.com"},"repository":{"url":"http://gitlab.skysri.com/overseas/coolita-ima-js-sdk.git","type":"git"},"_npmVersion":"10.8.2","description":"A library for coolita os loading the Coolita IMA SDK with static typing for the SDK","directories":{},"_nodeVersion":"22.6.0","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.25.2","ts-node":"^10.9.1","typescript":"^5.1.6","@babel/core":"^7.22.5","@types/node":"^24.0.3","@babel/preset-env":"^7.22.5","@rollup/plugin-terser":"^0.4.3","rollup-plugin-cleaner":"^1.0.0","@rollup/plugin-commonjs":"^25.0.2","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.2","@better-typescript-lib/dom":"^2.11.0","@coolita-os/m3u8-ad-js-sdk":"^0.1.3","@rollup/plugin-node-resolve":"^15.1.0","@coolita-os/coolita-ima-core":"^0.0.2","@types/google_interactive_media_ads_types":"^3.697.1"},"_npmOperationalInternal":{"tmp":"tmp/coolita-ima-js-sdk_0.0.2_1787824216029_0.32483657088827655","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@coolita-os/coolita-ima-js-sdk","version":"0.0.3","keywords":["coolita-ima-js-sdk"],"author":{"name":"john"},"license":"MIT","_id":"@coolita-os/coolita-ima-js-sdk@0.0.3","maintainers":[{"name":"coolita-os-developer","email":"1121898804@qq.com"},{"name":"xiao_yao_pai","email":"806620445@qq.com"}],"dist":{"shasum":"80b5be68be1f9ed746040ca89782efa1e431c7f7","tarball":"https://registry.npmjs.org/@coolita-os/coolita-ima-js-sdk/-/coolita-ima-js-sdk-0.0.3.tgz","fileCount":16,"integrity":"sha512-H3JIXcLbvbNukI2SaSm+VNPdCQ9VwFLqVHH0Cykou4rZ4dNxwgtyUZ5f+zjSdeOOWxMZTo/+WkssJVVYuwDTJg==","signatures":[{"sig":"MEUCIQCmlR8FrLuEGa+JRyepg8XwGXX54RoBMW1g5w0K66se6gIgPCoVd4xn4oD76ZWbSVoUdGsM7fgb+TCDjtv+byrcyro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHi8ZTxcrs6t49ceSKmZicgYJGS7052gniGas4GdbWjtAiEA/hbKlifj2I0l2ZaBV9j8gm55NJeAakJ4sXI9pU3eflE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":723403},"main":"./dist/ima-sdk.cjs.js","types":"./dist/lib/index.d.ts","module":"./dist/ima-sdk.esm.js","gitHead":"f79c3e61d2b7e7ec6144687d32a004189626d20a","scripts":{"build":"rollup --config","clean":"rollup --config ./clean/rollup.clean.js"},"_npmUser":{"name":"coolita-os-developer","email":"1121898804@qq.com"},"repository":{"url":"http://gitlab.skysri.com/overseas/coolita-ima-js-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"A library for coolita os loading the Coolita IMA SDK with static typing for the SDK","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.25.2","ts-node":"^10.9.1","typescript":"^5.1.6","@babel/core":"^7.22.5","@types/node":"^24.0.3","@babel/preset-env":"^7.22.5","@rollup/plugin-terser":"^0.4.3","rollup-plugin-cleaner":"^1.0.0","@rollup/plugin-commonjs":"^25.0.2","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.2","@better-typescript-lib/dom":"^2.11.0","@coolita-os/m3u8-ad-js-sdk":"^0.1.3","@rollup/plugin-node-resolve":"^15.1.0","@coolita-os/coolita-ima-core":"^0.0.3","@types/google_interactive_media_ads_types":"^3.697.1"},"_npmOperationalInternal":{"tmp":"tmp/coolita-ima-js-sdk_0.0.3_1789440387535_0.7463951932458828","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@coolita-os/coolita-ima-js-sdk","version":"0.0.4","keywords":["coolita-ima-js-sdk"],"author":{"name":"john"},"license":"MIT","_id":"@coolita-os/coolita-ima-js-sdk@0.0.4","maintainers":[{"name":"coolita-os-developer","email":"1121898804@qq.com"},{"name":"xiao_yao_pai","email":"806620445@qq.com"}],"dist":{"shasum":"c9cc5980eeb53b4b6a793e631597907c58e750f1","tarball":"https://registry.npmjs.org/@coolita-os/coolita-ima-js-sdk/-/coolita-ima-js-sdk-0.0.4.tgz","fileCount":16,"integrity":"sha512-rMDn0RKR086SElEDeMf9MpzraWe4poGn7XFd50TYLUU/pKUiFqvwWAef+EzPd4HAQI6auhTX+myYEYo36BEhbA==","signatures":[{"sig":"MEUCIQDc0Ji8jUoyoMRL1vfFSxGCX9nuM4Eaw3AfJ1WDd2hmHQIgaqnwXTKfcIvByE9lrcxuZ/fytGS+PslbEIQlObYQatI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCpm/vjLHBeH3Yqx2YuVotc/bTmbWrMHWWIabbuAgWEQQIhAKaRsiQsc0DVzBjDl85m/LE5STOtKpliPyeXtR1Y0jjQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":737416},"main":"./dist/ima-sdk.cjs.js","types":"./dist/lib/index.d.ts","module":"./dist/ima-sdk.esm.js","gitHead":"91cedc2ebdab47726261f289ce396a90f3759d80","scripts":{"build":"rollup --config","clean":"rollup --config ./clean/rollup.clean.js"},"_npmUser":{"name":"coolita-os-developer","email":"1121898804@qq.com"},"repository":{"url":"http://gitlab.skysri.com/overseas/coolita-ima-js-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"A library for coolita os loading the Coolita IMA SDK with static typing for the SDK","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.25.2","ts-node":"^10.9.1","typescript":"^5.1.6","@babel/core":"^7.22.5","@types/node":"^24.0.3","@babel/preset-env":"^7.22.5","@rollup/plugin-terser":"^0.4.3","rollup-plugin-cleaner":"^1.0.0","@rollup/plugin-commonjs":"^25.0.2","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.2","@better-typescript-lib/dom":"^2.11.0","@coolita-os/m3u8-ad-js-sdk":"^0.1.3","@rollup/plugin-node-resolve":"^15.1.0","@coolita-os/coolita-ima-core":"^0.0.3","@types/google_interactive_media_ads_types":"^3.697.1"},"_npmOperationalInternal":{"tmp":"tmp/coolita-ima-js-sdk_0.0.4_1789441649100_0.07547130835345173","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@coolita-os/coolita-ima-js-sdk","version":"0.0.5","keywords":["coolita-ima-js-sdk"],"author":{"name":"john"},"license":"MIT","_id":"@coolita-os/coolita-ima-js-sdk@0.0.5","maintainers":[{"name":"coolita-os-developer","email":"1121898804@qq.com"},{"name":"xiao_yao_pai","email":"806620445@qq.com"}],"dist":{"shasum":"ec8bde60c49cee5f108c05cbb7c9c6e46d67a5c0","tarball":"https://registry.npmjs.org/@coolita-os/coolita-ima-js-sdk/-/coolita-ima-js-sdk-0.0.5.tgz","fileCount":16,"integrity":"sha512-A0UsXopwCUvWDKNZVkYvqxer9oMv7sP0XfzlI4eG8uyNn/zvWOpccbNHHhFGnOkhIiV94Hkh6BN2QOqAqOlGuQ==","signatures":[{"sig":"MEUCIHo4EmlU5aGPdhgC3sIpZwuCauN/8gtVJu5tAa3TpaMaAiEAyY+riiglckQrdukQ5gUK4fAFdkRQcvcGefUh/S8v+mM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD5snPM38eXq2B/cPAMvWvDw734hh98Wde3PqZGhnlGYQIhAIEJORsViRsc6dT6FxAFLhAuZbpShYo/zwbjEkPjIfLa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":737983},"main":"./dist/ima-sdk.cjs.js","types":"./dist/lib/index.d.ts","module":"./dist/ima-sdk.esm.js","gitHead":"6a18f355a23b032a0c78da74f33f66158eb9911d","scripts":{"build":"rollup --config","clean":"rollup --config ./clean/rollup.clean.js"},"_npmUser":{"name":"coolita-os-developer","email":"1121898804@qq.com"},"repository":{"url":"http://gitlab.skysri.com/overseas/coolita-ima-js-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"A library for coolita os loading the Coolita IMA SDK with static typing for the SDK","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.25.2","ts-node":"^10.9.1","typescript":"^5.1.6","@babel/core":"^7.22.5","@types/node":"^24.0.3","@babel/preset-env":"^7.22.5","@rollup/plugin-terser":"^0.4.3","rollup-plugin-cleaner":"^1.0.0","@rollup/plugin-commonjs":"^25.0.2","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.2","@better-typescript-lib/dom":"^2.11.0","@coolita-os/m3u8-ad-js-sdk":"^0.1.3","@rollup/plugin-node-resolve":"^15.1.0","@coolita-os/coolita-ima-core":"^0.0.4","@types/google_interactive_media_ads_types":"^3.697.1"},"_npmOperationalInternal":{"tmp":"tmp/coolita-ima-js-sdk_0.0.5_1789454475606_0.6090275743926519","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"_id":"@coolita-os/coolita-ima-js-sdk@0.0.6","dist":{"shasum":"19ad20ac1d7f4af924562d5e852c1f8929b4b423","tarball":"https://registry.npmjs.org/@coolita-os/coolita-ima-js-sdk/-/coolita-ima-js-sdk-0.0.6.tgz","fileCount":16,"integrity":"sha512-jboYpzs0TppjF/M8iTx/JNkBnp00dTp5UYbgr9OfMQVMeRf92dDMhVuHpZcP0o2NA1IuB9IkPTwkPyCM8NSsKA==","signatures":[{"sig":"MEYCIQCDel9da6705/Te/kpzJQ+4tY6v7mLoNgkOW+G8mCQzaQIhAKzEl/P/6P4sFq9R3Gcb/vdLo/N+CKHo/X+q3sodpOS8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC/H5rnSMEuyZxlkBTbB5JmREUrqC1ejOZUeC4WvcFmjQIhAIultIOwVU7Aoh3FSrTlYTyq0t6jo0Lq8+168VoYH5HE"}],"unpackedSize":737968},"main":"./dist/ima-sdk.cjs.js","name":"@coolita-os/coolita-ima-js-sdk","types":"./dist/lib/index.d.ts","author":{"name":"john"},"module":"./dist/ima-sdk.esm.js","gitHead":"6073a4b0492702b4e7e8f03014e5a5bb486ac73e","license":"MIT","scripts":{"build":"rollup --config","clean":"rollup --config ./clean/rollup.clean.js"},"version":"0.0.6","_npmUser":{"name":"coolita-os-developer","email":"1121898804@qq.com"},"keywords":["coolita-ima-js-sdk"],"repository":{"url":"http://gitlab.skysri.com/overseas/coolita-ima-js-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"A library for coolita os loading the Coolita IMA SDK with static typing for the SDK","directories":{},"maintainers":[{"name":"coolita-os-developer","email":"1121898804@qq.com"},{"name":"xiao_yao_pai","email":"806620445@qq.com"}],"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.6.0","rollup":"^3.25.2","ts-node":"^10.9.1","typescript":"^5.1.6","@babel/core":"^7.22.5","@types/node":"^24.0.3","@babel/preset-env":"^7.22.5","@rollup/plugin-terser":"^0.4.3","rollup-plugin-cleaner":"^1.0.0","@rollup/plugin-commonjs":"^25.0.2","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.2","@better-typescript-lib/dom":"^2.11.0","@coolita-os/m3u8-ad-js-sdk":"^0.1.3","@rollup/plugin-node-resolve":"^15.1.0","@coolita-os/coolita-ima-core":"^0.0.4","@types/google_interactive_media_ads_types":"^3.697.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/coolita-ima-js-sdk_0.0.6_1789457032741_0.2926438041447359"}}},"time":{"created":"2026-05-26T08:17:12.960Z","modified":"2026-09-15T07:23:53.021Z","0.0.1":"2026-05-26T08:17:13.405Z","0.0.2":"2026-08-27T09:50:16.192Z","0.0.3":"2026-09-15T02:46:27.623Z","0.0.4":"2026-09-15T03:07:29.200Z","0.0.5":"2026-09-15T06:41:15.689Z","0.0.6":"2026-09-15T07:23:52.829Z"},"author":{"name":"john"},"license":"MIT","keywords":["coolita-ima-js-sdk"],"repository":{"url":"http://gitlab.skysri.com/overseas/coolita-ima-js-sdk.git","type":"git"},"description":"A library for coolita os loading the Coolita IMA SDK with static typing for the SDK","maintainers":[{"name":"coolita-os-developer","email":"1121898804@qq.com"},{"name":"xiao_yao_pai","email":"806620445@qq.com"}],"readme":"# 自研版本coolita-ima-js-sdk，对coolita-ima-core做了再次封装\n\nCoolita OS ima js sdk插件库\n\n[参考原版Google IMA SDK官方文档重新封装](https://developers.google.com/interactive-media-ads/docs/sdks/html5/).\n\n## 安装\n\n`yarn add @coolita-os/coolita-ima-js-sdk` or `npm install --save @coolita-os/coolita-ima-js-sdk`\n\n## 使用\n\n<!-- ### 一、HTML文件中引入Google官方SDK脚本(1.3.1版本后改为的自研SDK，不用引入官方SDK)\n\n1、引入https://imasdk.googleapis.com/js/sdkloader/ima3.js: -->\n\n```html\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" href=\"/favicon.ico\" />\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n    <meta name=\"viewport\"\n        content=\"width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0\" />\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n    <meta http-equiv=\"pragma\" content=\"no-cache\" />\n    <meta http-equiv=\"Cache-Control\" content=\"no-cache, must-revalidate\" />\n    <!-- 1.3.1版本后改为的自研SDK，不用引入官方SDK -->\n    <!-- <script type=\"text/javascript\" src=\"https://imasdk.googleapis.com/js/sdkloader/ima3.js\" async></script> -->\n    <title>coolita-ima-js-sdk</title>\n</head>\n\n<body>\n    <div id=\"app\"></div>\n</body>\n\n</html>\n```\n\n2、在需要插入广告的节点添加广告节点元素和样式控制\n\n```html\n<div class=\"ad-ui\" style=\"opacity: 0\" id=\"ad-ui\"></div>\n<div class=\"ad-player-wrap\">\n    <video\n        style=\"display: none;\"\n        class=\"ad-video\"\n        id=\"ad-video\">\n    </video>\n    <div class=\"ad-container\" id=\"ad-container\"></div>\n</div>\n```\n\n```css\n    .ad-player-wrap {\n        width: 100%;\n        height: 100%;\n        position: relative;\n    }\n    .ad-video,\n    .ad-container {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n    }\n\n    .ad-video {\n        width: 100%;\n        height: 100%;\n        object-fit: cover; // 保持原有尺寸比例。但部分内容可能被剪切。\n    }\n```\n\n### 二、JavaScript/TypeScript 调用实现部分\n\n1、创建广告播放器实例并添加相关的数据添加事件\n\n```js\nimport ImaAdPlayer from '@coolita-os/coolita-ima-js-sdk'\n\n// 创建广告播放器实例，内部实现自动调用requestAd()发起广告请求等其他逻辑\nlet imaAdPlayerInstance = new ImaAdPlayer({\n    adVideoElement: document.getElementById('ad-video'), // 广告节点元素\n    contentElement: null, // 内容推荐位节点元素video/div，没有传null\n    adContainerElement: document.getElementById('ad-container'), // 广告UI容器元素\n    adUIElement: document.getElementById('ad-ui'), // 广告UI元素/没有传null\n    adTagUrl: '', // 广告请求tagUrl\n    bitrate: 300, // 广告比特率\n    muted: true, // 是否静音，默认静音\n    observeVideoSize: true, // 是否监听视频窗口大小变化做处理\n    instanceApi: { // 实例需要实现的所有回调函数\n        onLoad: (ad) => { // 请求后有广告返回\n            \n        },\n        onContentPauseRequested: () => {\n            // 正片是video，触发了暂停请求\n        },\n        onImpression: () => { \n            // 开始曝光\n        },\n        onStarted: () => { \n            // 即将开始播放\n        },\n        onFirstQuartile: () => { \n            // 播放了1/4\n        },\n        onMidpoint: () => { \n            // 播放了1/2\n        },\n        onThirdQuartile: () => { \n            // 播放了3/4\n        },\n        onComplete: () => {\n            // 广告100%播放完成，有多个广告将播放下一个，并再次触发onLoad\n        }, \n        onSkipStateChange: () => {\n            // 广告播放过程中，返回可跳过状态\n                \n        },\n        onAllAdsCompleted: () => {\n            // 所有广告播放完成\n            imaAdPlayerInstance.handlePlayAdComplete() // 内部执行实例定义重置\n        }, \n        onClick: () => {\n            // 广告触发了点击\n        }, \n        onAdProgress: (adEvent) => {\n            // 广告发生进度更新，可以得到当前广告的进度数据、时间等信息\n        },\n        onAdErrorEvent: (errorData) => {\n            // 广告发生异常，内部已经做了自动处理异常\n            // 正片是图片或者页面跳转等其他逻辑的话要自己在下面处理\n        }\n    }\n})\n\n```\n\n2、销毁广告播放器实例\n\n```js\n    imaAdPlayerInstance.destroy()\n```\n\n3、循环播放广告，可直接使用当前实例再次发起广告请求\n\n```js\n    imaAdPlayerInstance.requestAd()\n```\n\n4、监听到所有广告播放完成\n\n```js\n    onAllAdsCompleted: () => {\n        // 所有广告播放完成\n        imaAdPlayerInstance.handlePlayAdComplete() // 内部执行实例定义重置\n    }\n```\n\n5、跳过广告\n\n```js\n    imaAdPlayerInstance.skipAd()\n```\n\n6、暂停广告播放\n\n```js\n    imaAdPlayerInstance.pauseAd()\n```\n\n7、 恢复广告播放\n\n```js\n    imaAdPlayerInstance.resumeAd()\n```\n\n8、控制广告播放器是否静音\n```js\n    imaAdPlayerInstance.handlePlayerIsMuted(isMute: boolean)\n```\n\n### 三、埋点实现相关接口\n1、谷歌广告/系统广告埋点公共接口部分，data为埋点上报的所有参数，sendParams为发送参数自定义的方法\n\n```js\nimport {\n    setAdSkipBuried,\n    setAdPercentBuried,\n    setAdClickBuried,\n    setAdErrorBuried,\n    setAdRequestBuried,\n    setAdResponseBuried,\n    setAdDownloadBuried\n} from '@coolita-os/coolita-ima-js-sdk'\n\nsetAdSkipBuried(data: any, sendParams: Function): void  // 按back键/home键跳过\nsetAdPercentBuried(data: any, sendParams: Function): void  // 广告播放进度\nsetAdClickBuried(data: any, sendParams: Function): void // 广告点击\nsetAdErrorBuried(data: any, sendParams: Function): void // 广告播放异常\nsetAdRequestBuried(data: any, sendParams: Function): void // 发起广告请求\nsetAdResponseBuried(data: any, sendParams: Function): void // 接收到广告平台返回信息\nsetAdDownloadBuried(data: any, sendParams: Function): void  // 接收到广告完成下载，即将开始播放\n```\n\n2、仅谷歌广告可使用的埋点公共接口部分，data为埋点上报的所有参数，sendParams为发送参数定义的方法\n\n```ts\n-- 参数传递说明：\nconst currentAdParams: object = { // 如下为必须包含的参数\n    adType: string // 广告类型\n    eventId: string | number  // 广告事件唯一id\n    strategyId: string | number, //广告策略id\n    strategyName: string, // 广告策略名称\n    positionId: string | number, // 【首页】广告id\n    positionPid: string, // 【首页】广告位置\n    adServer: string | number// 广告请求方：1：Google，2：Spring Serve\n}\nconst currTabData: object = { // 如下为必须包含的参数，目前仅使用page_id\n    page_id: string | number // 版面id\n}\nconst adData: object // 谷歌广告返回的响应的整个数据结构\nconst sendParams: // 发送埋点数据时，自己定义的上报方法\nconst schedule: number // 上报的播放进度值，如：25\nconst code: any // 广告请求返回的错误码， 如：303、400\nconst mode: string | number // 静音:Mute; 取消静音:Unmute;音量+键:Volume+; 音量-键:Volume-\n\n\n-- 埋点上报接口使用&&传参：\nimport {\n    setGoogleAdRequestBuried,\n    setGoogleAdResponseBuried,\n    setGoogleAdDownloadBuried,\n    setGoogleAdPercentBuried,\n    setGoogleAdClickBuried,\n    setGoogleAdErrorBuried,\n    setGoogleAdSkipBuried,\n    setGoogleAdUnmuteBuried\n} from '@coolita-os/coolita-ima-js-sdk'\nsetGoogleAdRequestBuried({\n    currentAdParams\n}, sendParams: Function): void // 发起广告请求，内部直接调用setAdRequestBuried\n\nsetGoogleAdResponseBuried({\n    currentAdParams,\n    adData\n}, sendParams: Function): void // 谷歌广告返回的响应数据，内部直接调用setAdResponseBuried\n\nsetGoogleAdDownloadBuried({\n    currentAdParams,\n    adData\n}, sendParams: Function): void // 谷歌广告完成下载，内部直接调用setAdDownloadBuried\n\nsetGoogleAdPercentBuried({\n    currentAd,\n    adData,\n    currentAdParams,\n    currTabData\n},\n    schedule: number,\n    sendParams: Function): void // 谷歌广告进度数据上报，通过传过来的sendParams发送进度数据\n\nsetGoogleAdClickBuried({\n    currentAdParams,\n    adData\n}, sendParams: Function): void // 谷歌广告点击，内部直接调用setAdClickBuried\n\nsetGoogleAdErrorBuried({\n    adData,\n    currentAdParams\n},\n    code: any,\n    sendParams: Function): void  // 谷歌广告发生异常，内部直接调用setAdErrorBuried\n\nsetGoogleAdSkipBuried({\n    adData,\n    currentAdParams\n}, sendParams: Function): void \n\nsetGoogleAdUnmuteBuried({// 按静音键或音量+-键控制，广告是否静音\n    adData,\n    currentAdParams,\n    mode\n}: any, sendParams: Function): void // 按静音键或音量+-键，通过传过来的sendParams发送埋点数据\n```\n\n# 四、谷歌广告内存控制器使用\n\n````ts\n    import { googleAdMemoryManager } from  '@coolita-os/coolita-ima-js-sdk'\n    const initIMA: Function // 广告初始化的方法\n    const adParams: {} // 广告相关的参数\n    const adTypeStr: '' // 广告类型自定义字符串，主要用于打印过滤数据，如：recommendAds\n    const deinitIMA: Function // 卸载广告的方法\n    const handleReplayAd: Function // 广告执行轮询请求的方法\n\n    // 第一次请求广告时调用initIMA判断内存是否充足，内存充足返回true，内存不足自动5s执行一次initIMA\n    googleAdMemoryManager.createInitIMATimer(initIMA, adParams, adTypeStr): boolean \n\n    // 广告请求成功后，每隔5s查询一次内存数据，当查询了5次内存不足后，调用传入的deinitIMA，强制刷新页面URL，释放内存\n    googleAdMemoryManager.createQueryMemoryTimer(deinitIMA, adTypeStr): void \n\n    // 广告轮询，每次请求的所有广告播放结束，再次判断内存释放充足，内存不足自动5s执行一次\n    googleAdMemoryManager.createReplayAdTimer(handleReplayAd, adTypeStr): void \n\n    // 清除广告轮询定时器\n    googleAdMemoryManager.clearReplayAdTimer(): void \n\n    // 清除每隔5s查询一次内存数据\n    googleAdMemoryManager.clearQueryMemoryTimer(): void \n\n     // 清除第一次请求广告的定时器\n    googleAdMemoryManager.clearInitIMATimer(): void\n\n     // 清除所有定时器\n    googleAdMemoryManager.clearAllTimer(): void\n````\n\n# SDK暴露可以使用的相关工具\n\n```js\nimport { utilsBySDK } from  '@coolita-os/coolita-ima-js-sdk'\n\nutilsBySDK.generateUniqueRandom() // 通过时间戳生成13位的唯一随机数\n\nlet timer = new utilsBySDK.Timer(function () {}, 5) // 创建一个5s定时器\ntimer.start() // 执行定时器\n\ntimer.clear() // 清除定时器\ntimer = null\n\n```\n\n# SDK暴露可以调用的异步接口\n\n```js\nimport { ajaxBySDK } from  '@coolita-os/coolita-ima-js-sdk'\najaxBySDK.getNodeUrl(node: number) // 没有板子的场景，需要根据节点域名类型去获取并更新services.json\n\najaxBySDK.sendAjaxRequest({ // 发起一个ajax请求\n    headers, // 请求头参数\n    method, // 请求方法，默认GET\n    url, // 请求地址\n    data // POST请求的body参数，GET请求为null\n})\n```","readmeFilename":"README.md"}