Код: Выделить всё
const isMobileAdsStartCalledRef = useRef(false);
useEffect(() => {
// TODO: Remove reset, just for testing purposes
AdsConsent.reset();
AdsConsent.gatherConsent()
.then(startGoogleMobileAdsSDK)
.catch(() => {});
startGoogleMobileAdsSDK();
}, []);
async function startGoogleMobileAdsSDK() {
const { canRequestAds } = await AdsConsent.getConsentInfo();
if (!canRequestAds || isMobileAdsStartCalledRef.current) {
return;
}
isMobileAdsStartCalledRef.current = true;
await mobileAds().initialize();
}
< /code>
Сообщение согласия показывает правильно. Я использую рекламу баннера, используя [b] testids.banner [/b] и реализован так:
export function AdBanner() {
return (
);
}
Когда я нажимаю «Нет согласия» или «Параметры управления», баннер продолжает отображаться. Я могу вручную проверить какое -то состояние, чтобы скрыть его? Что -то вроде этого: < /p>
Код: Выделить всё
export function AdBanner() {
if(!shouldBeShown) {
return null;
}
return (
);
}
Какой правильный способ определить, должен ли баннер быть отображен или скрыт в соответствии с согласием пользователя? Следует автоматически сделать библиотеку? Я видел adsconsent.getUserChoices () в документах, но если я отрицаю согласие или принимаю параметры по умолчанию, все, кажется, возвращает false.
Как я могу правильно уважать согласие пользователя, прежде чем показывать рекламу в нативном с использованием этой библиотеки?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... es-consent