UNPKG

@azerion/bluestack-sdk-react-native

Version:

BlueStack provides functionalities for monetizing your mobile application: from premium sales with rich media, video and innovative formats, it facilitates inserting native mobile ads as well all standard display formats. BlueStack SDK is a library that a

95 lines (91 loc) 3.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BluestackModuleView = exports.BannerModuleView = void 0; var _react = _interopRequireWildcard(require("react")); var _reactNative = require("react-native"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } const sizeForType = { standard: { width: 320, height: 50 }, large: { width: 320, height: 100 }, full: { width: 468, height: 60 }, mediumRectangle: { width: 300, height: 250 }, leaderboard: { width: 728, height: 90 }, dynamic: { width: -1, height: 50 }, dynamicLeaderboard: { width: -1, height: 90 } }; const getSizeForType = type => sizeForType[type]; const LINKING_ERROR = `The package 'react-native-bluestack--module' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({ ios: "- You have run 'pod install'\n", default: '' }) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo managed workflow\n'; const ComponentName = 'BluestackModuleView'; const BluestackModuleView = exports.BluestackModuleView = _reactNative.UIManager.getViewManagerConfig(ComponentName) != null ? (0, _reactNative.requireNativeComponent)(ComponentName) : () => { throw new Error(LINKING_ERROR); }; // export const BannerModuleView = (props: BannerViewProps) => { const BannerModuleView = props => { const { onBannerAdLoaded, onBannerAdFailedToLoad, onBannerAdRefreshed, onBannerAdFailedToRefresh, onBannerAdClicked, type, visible, ...restProps } = props; let adType = type; if (adType === undefined) { adType = 'standard'; } const size = getSizeForType(adType); // Track dynamic height from native side const [dynamicHeight, setDynamicHeight] = (0, _react.useState)(size.height); // Handle ad loaded event and update height const handleAdLoaded = (0, _react.useCallback)(event => { var _event$nativeEvent; if (event !== null && event !== void 0 && (_event$nativeEvent = event.nativeEvent) !== null && _event$nativeEvent !== void 0 && _event$nativeEvent.size) { setDynamicHeight(event.nativeEvent.size); } onBannerAdLoaded === null || onBannerAdLoaded === void 0 || onBannerAdLoaded(event); }, [onBannerAdLoaded]); return /*#__PURE__*/_react.default.createElement(BluestackModuleView, _extends({}, restProps, { style: [{ width: size.width, height: dynamicHeight }], adSize: adType.toString(), visible: visible, onAdLoaded: handleAdLoaded, onAdFailedToLoad: onBannerAdFailedToLoad, onAdRefreshed: onBannerAdRefreshed, onAdFailedToRefresh: onBannerAdFailedToRefresh, onAdClicked: onBannerAdClicked })); }; exports.BannerModuleView = BannerModuleView; //# sourceMappingURL=BannerViewManager.js.map