// Learn TypeScript: // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html // Learn Attribute: // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html // Learn life-cycle callbacks: // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html import NativeAdComponent, { NativeType } from "./NativeAdComponent"; import SDK, { NodeAction } from "../SDK"; import Utils from "../tools/Utils"; import VivoAd from "./VivoAd"; const { ccclass, property } = cc._decorator; @ccclass export default class Icon extends cc.Component { private _config; private _iconList : [] = []; private _nativeIconAd; public init(config){ this._config = config; Utils.instance.log('创建Icon广告') } public showIconAd(id: number = 0, x: number, y: number) { let self = this; if (this._config == null) { return; } if (this._config.masterEnable != 1) {//插屏是否打开 return; } if (this._config.iconAdEnable != 1) {//插屏是否打开 return; } let adNodeList = JSON.parse(this._config.insertAdNodeList); //当前节点是否打开 if (adNodeList[id].enable != 1) { return; } let nativeData = VivoAd.Instance.getVivoNativeData(); if (nativeData == null || !nativeData.isReady()) { Utils.instance.log("---------showNativeIconAd 广告数据不存在-----"); return; } let clickCallBack = () => { VivoAd.Instance.creatorNativeData(); SDK.Instance.reportLog(NodeAction.NATIVE_CLICK, "原生icon点击"); }; let showCallBack = () => { //缓存下一条广告 VivoAd.Instance.creatorNativeData(); SDK.Instance.reportLog(NodeAction.NATIVE_SHOW, "原生icon展示"); }; let closeCallBack = () => { SDK.Instance.reportLog(NodeAction.NATIVE_CLOSE, "原生icon关闭"); }; let node = cc.director.getScene().children[0]; let iconAd = node.getChildByName("iconAd"); if (iconAd) { iconAd.removeFromParent(); // return ; } Utils.instance.loadPrefabs("sdk/res/prefabs/NativeIconAd", (prefabs) => { let adNode = cc.instantiate(prefabs); self._nativeIconAd = adNode.addComponent(NativeAdComponent); self._nativeIconAd.initData(nativeData); self._nativeIconAd.listionCall(showCallBack, clickCallBack, closeCallBack); node.addChild(adNode, 1000, "icon")//加节点名,防止重复加广告 // adNode.active = false; self._nativeIconAd.showAd(NativeType.ICON, self._config, x, y); }); } public hideIcon(){ if(this._nativeIconAd){ this._nativeIconAd.hide(); } } }