| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- cc.Class({
- /**
- * 收到JNI发上来的事件
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {Object} eventData
- */
- handleEvent (eventData) {
- /* eventData参数:
- * @param {String} sdkName
- * @param {String} eventKey
- * @param {Integer} code
- * @param {String} errorMsg
- * @param {Object} data
- */
- let eventKey = eventData.eventKey;
- if (eventData.data && eventData.sdkName) {
- eventData.data.sdkName = eventData.sdkName;
- }
- switch (eventKey) {
- case 'ad_error': {
- cc.game.emit('e_middle_ad_error', eventData);
- break;
- }
- case 'ad_showed': {
- cc.game.emit('e_middle_ad_showed', eventData);
- break;
- }
- case 'ad_closed': {
- cc.game.emit('e_middle_ad_closed', eventData);
- break;
- }
- case 'ad_clicked': {
- cc.game.emit('e_middle_ad_clicked', eventData);
- break;
- }
- case 'ad_award': {
- cc.game.emit('e_middle_ad_award', eventData);
- break;
- }
- case 'ad_skip': {
- cc.game.emit('e_middle_ad_skip', eventData);
- break;
- }
- default:
- break;
- }
- },
- /**
- * 获取广告模块的配置信息
- *
- * @author Pyden
- * @date 2020-03-23
- * @returns {Object}
- * config.list 广告SDK类型信息列表
- */
- getConfig () {
- if (!this._config) {
- let gameConfig = G.MiddleMgr.getGameConfig();
- if (gameConfig && gameConfig.ad) {
- this._config = gameConfig.ad;
- }
- }
- return this._config;
- },
- /**
- * 获取广告SDK类型信息列表
- *
- * @author Pyden
- * @date 2020-03-11
- * @returns {Array}
- * name
- * sdkName
- */
- getSDKTypeInfoList () {
- let config = this.getConfig() || {};
- return config.list;
- },
- /**
- * 销毁所有广告
- *
- * @author Pyden
- * @date 2020-03-11
- */
- clearAllSDKAD () {
- let sdkTypeInfoList = this.getSDKTypeInfoList();
- for (const v of sdkTypeInfoList) {
- this.clearAllAD(v.sdkName);
- }
- },
- /**
- * 加载并展示广告
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} sdkName 广告SDK名称
- * @param {Integer} adType 广告类型
- * @param {Integer} adId 广告参数
- * @param {Integer} positionId 广告入口
- * @param {Object} uiInfo 广告UI信息,如尺寸、时间等
- */
- loadAndShowAD (sdkName, adType, adId, positionId, uiInfo) {
- },
- /**
- * 销毁指定广告
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} sdkName 广告SDK名称
- * @param {Integer} adType 广告类型
- * @param {Integer} adId 广告参数
- * @param {Integer} positionId 广告入口
- */
- clearAD (sdkName, adType, adId, positionId) {
- },
- /**
- * 销毁全部广告类型
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} sdkName 广告SDK名称
- */
- clearAllAD (sdkName) {
- },
- /**
- * 设置广告是否可见
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} sdkName 广告SDK名称
- * @param {Integer} adType 广告类型
- * @param {Integer} adId 广告参数
- * @param {Integer} positionId 广告入口
- * @param {Boolean} visible 是否可见
- */
- setADVisible (sdkName, adType, adId, positionId, visible) {
- },
- /**
- * 设置广告用户协议是否同意 —— 目前仅华为 ad_setAdUserProtocolAgreeState
- *
- * @author Pyden
- * @date 2020-03-11
- * @param {String} sdkName 广告SDK名称
- * @param {Boolean} value
- */
- setAdUserProtocolAgreeState (sdkName, value) {
- }
- });
|