UNPKG

richpartners-telegram-sdk

Version:
78 lines 3.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RichPartnersTelegramAds = void 0; const index_js_1 = require("../services/index.js"); const index_js_2 = require("../factory/index.js"); const index_js_3 = require("../types/index.js"); class RichPartnersTelegramAds { constructor() { this.requestData = {}; this.telegramData = {}; this.appId = null; this.process = () => { const activeWidgetTypes = this.widgetManager.getActiveWidgetTypes(); let richPartnersAds = null; activeWidgetTypes.forEach(type => { richPartnersAds = index_js_2.AdsFactory.createRichPartnersAdsByType(String(type)); richPartnersAds.setRequestData(this.requestData); richPartnersAds.setWidgetManager(this.widgetManager); richPartnersAds.handle(); }); if (this.telegramData?.telegram_id) { index_js_1.TW.handle(this.telegramData.telegram_id); } }; this.debug = false; this.widgetManager = new index_js_1.WidgetManager(); this.telegramService = new index_js_1.TelegramService(); this.ipService = new index_js_1.IpService(); } async initialize(config) { try { this.appId = config.appId; this.debug = config.debug ?? false; this.requestData.publisher_id = config.pubId; this.requestData.user_agent = navigator.userAgent; this.telegramData = this.telegramService.getTelegramData(this.debug); Object.assign(this.requestData, this.telegramData); (0, index_js_1.injectRichPartnersStylesheet)(); this.widgetManager.initialize(config); this.ipService.setIp().then(() => { this.requestData.ip = this.ipService.getIp(); this.process(); }).catch(console.error); } catch (error) { console.warn("[TelegramAdsController] Failed initialized:", error); } } async triggerPushStyle(autoRedirect = false) { return this.triggerByWidgetType(index_js_3.WidgetType.PUSH_STYLE, autoRedirect); } async triggerInterstitialBanner(autoRedirect = false) { return this.triggerByWidgetType(index_js_3.WidgetType.INTERSTITIAL_BANNER, autoRedirect); } async triggerInterstitialVideo(autoRedirect = false) { return this.triggerByWidgetType(index_js_3.WidgetType.INTERSTITIAL_VIDEO, autoRedirect); } async triggerByWidgetType(type, autoRedirect) { try { if (!this.requestData.ip) { await this.ipService.setIp(); } const richPartnersAds = index_js_2.AdsFactory.createRichPartnersAdsByType(type); richPartnersAds.setRequestData(this.requestData); richPartnersAds.setWidgetManager(this.widgetManager); const widgetId = this.widgetManager.getWidgetIdByType(type); if (!widgetId) { return Promise.reject(new Error("widget_id not initialize")); } return richPartnersAds.handleTrigger(autoRedirect); } catch (error) { return Promise.reject(error); } } } exports.RichPartnersTelegramAds = RichPartnersTelegramAds; //# sourceMappingURL=RichPartnersTelegramAds.js.map