Когда отображается интерстициальная реклама, если пользователь сводит к минимуму приложение на фон, а затем вновь открывает его, используя значок приложения, объявление исчезает. Что я ожидаю, так это то, что когда пользователь возвращается в приложение, объявление должно продолжаться от того места, где оно осталось. фон) < /p>
Версия Flutter: 3.22.0
applovin_max: 4.5.0 < /p>
void init() async {
if (!isInitialized) {
if (locator.call.call().isUserFromGDPRCountry) {
AppLovinMAX.setPrivacyPolicyUrl(privacyUrl);
AppLovinMAX.setTermsOfServiceUrl(termsUrl);
AppLovinMAX.setTermsAndPrivacyPolicyFlowEnabled(true);
}
AppLovinMAX.setHasUserConsent(true);
var config = await AppLovinMAX.initialize(appLovinSdkKey);
isInitialized = config != null;
}
if (locator.call.call().isPro || !isInitialized) {
return;
}
attachAdListeners();
AppLovinMAX.loadInterstitial(interstitialStartUnitId);
AppLovinMAX.preloadWidgetAdView(mRecAdUnitId1, AdFormat.mrec).then((adViewId) => {mRecViewId1 = adViewId?.toInt()});
AppLovinMAX.preloadWidgetAdView(mRecAdUnitId2, AdFormat.mrec).then((adViewId) => {mRecViewId2 = adViewId?.toInt()});
AppLovinMAX.preloadWidgetAdView(bannerAdUnitId, AdFormat.banner).then((adViewId) => {bannerViewId = adViewId?.toInt()});
}
void attachAdListeners() async {
_initInterstitialAdListener();
}
void _initInterstitialAdListener() {
var interstitialRetryAttempt = 0;
AppLovinMAX.setInterstitialListener(InterstitialListener(
onAdLoadedCallback: (ad) {
final logger = locator.call();
logger.info('Interstitial ad loaded from ${ad.networkName}');
interstitialRetryAttempt = 0;
if (isInterstitialFailed) {
showInterstitialAd();
return;
}
showInterstitialAd();
},
onAdLoadFailedCallback: (adUnitId, error) {
interstitialRetryAttempt = interstitialRetryAttempt + 1;
int retryDelay = pow(2, min(6, interstitialRetryAttempt)).toInt();
locator.call.call().error('Interstitial ad failed to load with code ${error.code} - retrying in ${retryDelay}s');
Future.delayed(Duration(milliseconds: retryDelay * 1000), () {
AppLovinMAX.loadInterstitial(adUnitId);
});
},
onAdDisplayedCallback: (MaxAd ad) {
locator.call.call().action?.call();
locator.call.call().pauseMP3();
locator.call.call().add(PauseCurrentVideo());
isAdActive = true;
isFirstAdShowed = true;
isInterstitialFailed = false;
},
onAdDisplayFailedCallback: (MaxAd ad, MaxError error) {},
onAdClickedCallback: (MaxAd ad) {},
onAdHiddenCallback: (MaxAd ad) {
isAdActive = false;
timerManager.reset();
AppLovinMAX.loadInterstitial(interstitialStartUnitId);
},
));
}
void showInterstitialAd() async {
_showInterstitial(interstitialStartUnitId);
}
void _showInterstitial(String adUnitId) async {
if (locator.call.call().isPro) {
return;
}
bool isReady = await isAdReady(adUnitId);
if (isReady) {
var context = TubazyApp.navigatorKey.currentContext!;
if (!context.mounted) return;
showLoadingDialog(context);
Future.delayed(const Duration(milliseconds: 350), () {
if (Navigator.canPop(context)) {
Navigator.of(context).pop();
}
AppLovinMAX.showInterstitial(adUnitId, placement: _interstitialType.name);
});
} else {
isInterstitialFailed = true;
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... en-reopens
Когда отображается интерстициальная реклама, если пользователь сводит к минимуму приложение, а затем повторно откроет ег ⇐ Android
Форум для тех, кто программирует под Android
1750233323
Anonymous
Когда отображается интерстициальная реклама, если пользователь сводит к минимуму приложение на фон, а затем вновь открывает его, используя значок приложения, объявление исчезает. Что я ожидаю, так это то, что когда пользователь возвращается в приложение, объявление должно продолжаться от того места, где оно осталось. фон) < /p>
Версия Flutter: 3.22.0
applovin_max: 4.5.0 < /p>
void init() async {
if (!isInitialized) {
if (locator.call.call().isUserFromGDPRCountry) {
AppLovinMAX.setPrivacyPolicyUrl(privacyUrl);
AppLovinMAX.setTermsOfServiceUrl(termsUrl);
AppLovinMAX.setTermsAndPrivacyPolicyFlowEnabled(true);
}
AppLovinMAX.setHasUserConsent(true);
var config = await AppLovinMAX.initialize(appLovinSdkKey);
isInitialized = config != null;
}
if (locator.call.call().isPro || !isInitialized) {
return;
}
attachAdListeners();
AppLovinMAX.loadInterstitial(interstitialStartUnitId);
AppLovinMAX.preloadWidgetAdView(mRecAdUnitId1, AdFormat.mrec).then((adViewId) => {mRecViewId1 = adViewId?.toInt()});
AppLovinMAX.preloadWidgetAdView(mRecAdUnitId2, AdFormat.mrec).then((adViewId) => {mRecViewId2 = adViewId?.toInt()});
AppLovinMAX.preloadWidgetAdView(bannerAdUnitId, AdFormat.banner).then((adViewId) => {bannerViewId = adViewId?.toInt()});
}
void attachAdListeners() async {
_initInterstitialAdListener();
}
void _initInterstitialAdListener() {
var interstitialRetryAttempt = 0;
AppLovinMAX.setInterstitialListener(InterstitialListener(
onAdLoadedCallback: (ad) {
final logger = locator.call();
logger.info('Interstitial ad loaded from ${ad.networkName}');
interstitialRetryAttempt = 0;
if (isInterstitialFailed) {
showInterstitialAd();
return;
}
showInterstitialAd();
},
onAdLoadFailedCallback: (adUnitId, error) {
interstitialRetryAttempt = interstitialRetryAttempt + 1;
int retryDelay = pow(2, min(6, interstitialRetryAttempt)).toInt();
locator.call.call().error('Interstitial ad failed to load with code ${error.code} - retrying in ${retryDelay}s');
Future.delayed(Duration(milliseconds: retryDelay * 1000), () {
AppLovinMAX.loadInterstitial(adUnitId);
});
},
onAdDisplayedCallback: (MaxAd ad) {
locator.call.call().action?.call();
locator.call.call().pauseMP3();
locator.call.call().add(PauseCurrentVideo());
isAdActive = true;
isFirstAdShowed = true;
isInterstitialFailed = false;
},
onAdDisplayFailedCallback: (MaxAd ad, MaxError error) {},
onAdClickedCallback: (MaxAd ad) {},
onAdHiddenCallback: (MaxAd ad) {
isAdActive = false;
timerManager.reset();
AppLovinMAX.loadInterstitial(interstitialStartUnitId);
},
));
}
void showInterstitialAd() async {
_showInterstitial(interstitialStartUnitId);
}
void _showInterstitial(String adUnitId) async {
if (locator.call.call().isPro) {
return;
}
bool isReady = await isAdReady(adUnitId);
if (isReady) {
var context = TubazyApp.navigatorKey.currentContext!;
if (!context.mounted) return;
showLoadingDialog(context);
Future.delayed(const Duration(milliseconds: 350), () {
if (Navigator.canPop(context)) {
Navigator.of(context).pop();
}
AppLovinMAX.showInterstitial(adUnitId, placement: _interstitialType.name);
});
} else {
isInterstitialFailed = true;
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79652897/when-an-interstitial-ad-is-shown-if-the-user-minimize-the-app-and-then-reopens[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия