Closed develowper closed 3 months ago
لطفا اطلاعات بیشتری در خصوص این مشکل بفرستید که بتونیم مشکل رو سمت خودمون reproduce کنیم. در حالت خاصی این اتفاق میوفته؟ مثلا بدون اینترنت یا حالت خاص دیگه ای داره؟
خیر حالت خاصی نیست .ساده ترین حالت ممکن. مانند مثال های داخل راهنما. از کتابخانه google_mobile_ads هم همزمان استفاده میکنم . (شاید باهم تداخل داشته باشند مثلا اگر از فایر بیس استفاده شده باشه البته دقیق نمیدونم در حد سرچ هایی که زدم شاید کمک کنه)
لطفا یک پروژه نمونه یا apk بفرستید که این مشکل داخلش وجود داشته باشه که بتونیم تست کنیم. داخل تست هایی که روی سمپل تپسل قرار دادیم، این اتفاق نمیوفته
https://play.google.com/store/apps/details?id=com.varta.magnetgram&hl=fa
این اپ هستش الان روی تپسل گذاشتم میتونید تست کنید. همون صفحه اول بعد لاگین ردیف دوم باید نشون بده که چون لود نمیشه یه عکس رندوم گذاشتم.
سلام . مشکل من تفاوت بین onOpened و onLoaded در تابع TapsellPlus.instance.showNativeAd بود. ظاهرن onOpened مربوط به تبلیغات تپسل و onLoaded مربوط به ادموب هستش. من onOpened رو پر نکرده بودم.
TapsellPlus.instance.showNativeAd(
responseId,
admobFactoryId: 'adFactoryExample',
onOpened: (nativeAd) {
print("****tapsellonOpened********${nativeAd.runtimeType}");
if (nativeAd is GeneralNativeAdPayload) {
setState(() {
nativeAdWidgetTapsell = TapsellNativeAdWidget(
responseId: nativeAd.ad.responseId ?? '',
title: nativeAd.ad.title ?? '',
description: nativeAd.ad.description ?? '',
callToAction: nativeAd.ad.callToActionText ?? '',
iconUrl: nativeAd.ad.iconUrl ?? '',
portraitImageUrl: nativeAd.ad.portraitImageUrl ?? '',
landScapeImageUrl: nativeAd.ad.landscapeImageUrl ?? '',
onClick: () => Get.back());
});
}
},
onLoaded: (nativeAd) {
print("******tapsell loaded ${nativeAd.toString()}");
setState(() {
if (nativeAd is GeneralNativeAdPayload) {
nativeAdWidgetTapsell = TapsellNativeAdWidget(
responseId: nativeAd.ad.responseId ?? '',
title: nativeAd.ad.title ?? '',
description: nativeAd.ad.description ?? '',
callToAction: nativeAd.ad.callToActionText ?? '',
iconUrl: nativeAd.ad.iconUrl ?? '',
portraitImageUrl: nativeAd.ad.portraitImageUrl ?? '',
landScapeImageUrl: nativeAd.ad.landscapeImageUrl ?? '',
onClick: () => Get.back());
} else if (nativeAd is AdMobNativeAdPayload) {
} else if (nativeAd is AdMobNativeAdViewPayload) {
nativeAdWidgetTapsell = AdWidget(ad: nativeAd.nativeAdView!);
}
});
},
onError: (map) {
print('******tapsell Ad error - Error: $map');
},
)
اگه میشه تفاوت onOpened و onLoaded رو داخل داکیومنت ها هم بزارید و یک توضیحی بدید ممنون میشم. تیکت رو با اجازتون میبندم
TapsellPlus.instance .requestNativeAd()
این تابع اگر دوبار پشت سر هم اجرا بشه مثلن اگه دوتا تبلیغ همسان داخل صفحه باشه این ارور رو میده java.lang.IllegalStateException: Reply already submitted
در حالتیکه دو تا ریکوئست همزمان با یک zoneId بزنید، ممکنه این اتفاق بیوفته. شما با دو تا zoneId مختلف درخواست بزنید و ببینید همین اتفاق میوفته؟
تعداد ریکوئست ها داینامیکه یا ممکنه کاربر صفحه رو چند بار ببنده و باز کنه و همون zoneid چند بار درخواست داده بشه. اگه توی این شرایط باشه داخل پنل تپسل چند تا zoneid بسازم هم ممکنه کرش کنه
مشکل اصلی اینه که بعد کرش اپلیکیشن رو میبنده وگرنه اگه همین پیام تو قسمت ارور بیاد میشه هندلش کرد
در نسخه بعدی، یک کالبک جداگانه مشابه بنر استاندارد داده میشه که این مشکل کرش رو حل میکنه. فقط در نظر داشته باشید که خود کتابخانه، ریکوئست های همزمان با یک zoneId رو محدود میکنه
مشکل کرش در نسخه 2.2.7 حل شد.