With the "Google Ads API" - PHP Client Library.

While calling the "GetCampaigns.php" / "ListAccessibleCustomers.php" example code. I was still getting this error (below) but found a solution (check answer).

Error -

authorization_error: User doesn't have permission to access customer.  Note: If you're accessing a client customer,  the manager's customer id must be set in the 'login-customer-id' header.  See https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid

How can I implement InterstitialAd ads when a user closes the currently visited page.

A user also can go back(close a page) from a page using his mobile device back button(not react native back header button).

Please check the below code

import React, { useState, useEffect } from "react"; import { View, Button, Text, ScrollView, } from 'react-native'; import { AppOpenAd, InterstitialAd, RewardedAd, BannerAd, TestIds, AdEventType } from 'react-native-google-mobile-ads'; const Test = ({ navigation }) => { useEffect(() => {         let interstitial = InterstitialAd.createForAdRequest(TestIds.INTERSTITIAL, {             requestNonPersonalizedAdsOnly: true,             keywords: ['fashion', 'clothing'],         });         interstitial.addAdEventListener(AdEventType.LOADED, () => {             interstitial.show();         });         interstitial.load();         return () => {             interstitialListener = null;         };     }, []); return (         <ScrollView>             <View>                 <View style={{ marginTop: 20 }}>                     <Text>                         Lorem Ipsum is simply dummy text of the printing and typesetting industry.                         Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, </Text>                 </View>             </View>         </ScrollView>     ) } export default Test 

MyApp.js file

import * as React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import Test from './Test'; import TestTwo from './TestTwo'; const Tab = createBottomTabNavigator(); const HomeTabs = ({ navigation }) =>{   return (     <Tab.Navigator screenOptions={{ headerShown: false }}>       <Tab.Screen name="Test" component={Test} />      </Tab.Navigator>   ); } const Stack = createNativeStackNavigator(); export default function App () {   return (     <NavigationContainer>       <Stack.Navigator>         <Stack.Screen name="Home" component={HomeTabs} />         <Tab.Screen name="TestTwo" component={TestTwo} />       </Stack.Navigator>     </NavigationContainer>   ); } 

What is wrong on this below code?

The ads are appearing when I change the screen but before loading the Ads I am getting white screen for 2-3 seconds.

Why it's happening? Thank you in advance for your time and support.

import React, { useState, useEffect } from "react"; import { View, Button, Text, ScrollView, } from 'react-native' import { RewardedAd, RewardedAdEventType, TestIds } from 'react-native-google-mobile-ads'; const adUnitId = __DEV__ ? TestIds.REWARDED : 'ca-app-pub-3940256099942544/5224354917';     const rewarded = RewardedAd.createForAdRequest(adUnitId, {       requestNonPersonalizedAdsOnly: true,       keywords: ['fashion', 'clothing'],     });     const Testing = ({ navigation }) =>{             const [loaded, setLoaded] = useState(false);         useEffect(() => {               const unsubscribeLoaded = rewarded.addAdEventListener(RewardedAdEventType.LOADED, () => {                 setLoaded(true);                 rewarded.show();               });               const unsubscribeEarned = rewarded.addAdEventListener(                 RewardedAdEventType.EARNED_REWARD,                 reward => {                   console.log('User earned reward of ', reward);                 },               );           // Start loading the rewarded ad straight away               rewarded.load();           // Unsubscribe from events on unmount               return () => {                 unsubscribeLoaded();                 unsubscribeEarned();               };             }, []);                        // No advert ready to show yet             if (!loaded) {               return null;             }             return (                 <ScrollView>                 <View style={{flex:1, justifyContent : 'center',alignItems : 'center'}}>                 <Text>                  Lorem Ipsum is simply dummy text of the printing and typesetting industry.                 Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,                  </Text>                 <Button onPress = {() => navigation.navigate('ThirdPage')} title='Next Screen'></Button>                    </View>                 </ScrollView>)             }             export default Testing 

I have read the document regarding payments and also raised the customer support ticket in Meta for Developers(Developer Support) and find the relevant question but I didn't get the proper solution on how to add Indian Payment Method.

Does anyone know anything about adding payment method in India? Any help would be appreciated.