Copy import PayWall, { getEventsEnvDetails, pageExist, onTouchListener, PopUp } from 'csc-react-native-sdk';
const userAgent = await DeviceInfo.getUserAgent();
useFocusEffect(
React.useCallback(() => {
return () => {
removePage();
};
}, [])
);
async function removePage() {
const res = await pageExist(getEventsEnvDetails(mode), clientId, contentId)
}
const conscentMessage = async (message) => {
if (message == 'GoogleLoginClick') {
googleSignIn();
}
}
const googleSignIn = async () => {
try {
await GoogleSignin.hasPlayServices();
const userInfo = await GoogleSignin.signIn();
const email = userInfo.user.email;
const data = await genrateTempToken(email, mode);
const tempToken = data?.tempAuthToken;
await autoLoginView(tempToken, clientId, email, phoneNumber, currentStackScreenName, props.navigation, mode); // phoneNumber optional(pass empty string)
} catch (error) {
console.log('got error: ', error.message);
}
}
async function onStatusChange(result) {
if (result?.successMessage == 'METERBANNER') {
setShowPaywall(true);
setShowContent(true);
}
else if (result?.successMessage == 'PAYWALL') {
setShowPaywall(true);
setShowContent(false);
}
else if (result?.successMessage == 'UNLOCK') {
setShowPaywall(false);
setShowContent(true);
}
}
const goBack = () => {
// Go back to the previous screen
props?.navigation.goBack();
}
return (
<SafeAreaView style={styles.container}>
<ScrollView
onScroll={(e) => {
setScrollY(e.nativeEvent.contentOffset.y)
// call this method when user do any activity on screen
onTouchListener();
}}>
{
showContent ?
<Text>{ showContent your full content }</Text> : <Text>{ showContent your locked content }</Text>
}
</ScrollView>
{userAgent && showPaywall &&
<PayWall
ref={paywallRef}
clientId={clientId}
contentId={contentId}
environment={mode}
userAgent={userAgent}
conscentMessage={conscentMessage}
onPaywallStatus={(result) => {
onStatusChange(result)
}}
onErrorMessage={(error) => {
console.log('Error', error)
}}
navigation={props?.navigation}
scrollY={scrollY}
goBack={() => {
goBack()
}} />
}
<PopUp
environment={mode}
currentStackName={'Your_current_stack_name'}
navigation={props?.navigation}
scrollY={scrollY}
/>
</SafeAreaView >
)