UNPKG

nativescript-plugin-firebase-updated

Version:
59 lines (58 loc) 2.47 kB
let _firInAppMessagingDisplayDelegate; export function onMessageClicked(callback) { ensureDelegate(); _firInAppMessagingDisplayDelegate.setOnMessageClickedCallback(callback); } export function onMessageImpression(callback) { ensureDelegate(); _firInAppMessagingDisplayDelegate.setOnMessageImpressionCallback(callback); } export function triggerEvent(eventName) { FIRInAppMessaging.inAppMessaging().triggerEvent(eventName); } function ensureDelegate() { if (!_firInAppMessagingDisplayDelegate) { FIRInAppMessaging.inAppMessaging().delegate = _firInAppMessagingDisplayDelegate = FIRInAppMessagingDisplayDelegateImpl.new(); } } class FIRInAppMessagingDisplayDelegateImpl extends NSObject { static new() { if (FIRInAppMessagingDisplayDelegateImpl.ObjCProtocols.length === 0 && typeof (FIRInAppMessagingDisplayDelegate) !== "undefined") { FIRInAppMessagingDisplayDelegateImpl.ObjCProtocols.push(FIRInAppMessagingDisplayDelegate); } return super.new(); } setOnMessageClickedCallback(callback) { this.onMessageClickedCallback = callback; } setOnMessageImpressionCallback(callback) { this.onMessageImpressionCallback = callback; } displayErrorForMessageError(inAppMessage, error) { console.log("InAppMessaging error: " + error.localizedDescription); } impressionDetectedForMessage(inAppMessage) { console.log("InAppMessaging impression"); this.onMessageImpressionCallback && this.onMessageImpressionCallback({ campaignName: inAppMessage.campaignInfo.campaignName }); } messageClicked(inAppMessage) { console.log("InAppMessaging clicked"); this.onMessageClickedCallback && this.onMessageClickedCallback({ campaignName: inAppMessage.campaignInfo.campaignName }); } messageClickedWithAction(inAppMessage, action) { console.log("InAppMessaging clicked with action, text: " + action.actionText + ", url: " + action.actionURL); this.onMessageClickedCallback && this.onMessageClickedCallback({ campaignName: inAppMessage.campaignInfo.campaignName, actionText: action.actionText, actionURL: action.actionURL.absoluteString }); } messageDismissedDismissType(inAppMessage, dismissType) { console.log("InAppMessaging dismissed"); } } FIRInAppMessagingDisplayDelegateImpl.ObjCProtocols = [];