@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
47 lines (40 loc) • 1.28 kB
text/typescript
import { useEffect } from "react";
import { View } from "react-native";
import * as R from "ramda";
import { useNavigation } from "../navigation";
import { usePickFromState } from "@applicaster/zapp-react-native-redux/hooks";
import { platformSelect } from "@applicaster/zapp-react-native-utils/reactUtils";
const GOOGLE_ADS_IDENTIFIER = "google-admob-ads-qb";
const ModalContainer = platformSelect({
ios: View,
default: null,
});
export function useAdvertisingInterstitial() {
const navigator = useNavigation();
const { plugins } = usePickFromState();
const { screenData } = navigator;
return useEffect(() => {
// TODD: typing problem: fix any type
if ((screenData as any)?.advertising?.interstitial_ad_unit_id) {
const GoogleAdsPlugin = R.find(
R.propEq("identifier", GOOGLE_ADS_IDENTIFIER),
plugins
);
navigator.openModal({
item: {},
options: {
ModalContainer,
pointerEvents: "none",
},
props: {
screenType: "hooks",
screenData: {
payload: screenData,
callback: navigator.dismissModal,
hookPlugin: GoogleAdsPlugin,
},
},
});
}
}, [navigator.currentRoute, screenData?.id]);
}