123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- // 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();
- }
- }
- }
|