richpartners-telegram-sdk
Version:
richPartners ads telegram
78 lines • 3.4 kB
JavaScript
"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