- npm ERR! peer react-native@”0.63.4” from react-native-tapsell-plus
- خطای 403
- گرفتن لاگ اندروید
- خطاهای رایج ادموب
- خطای Activity is Dead
- خطای App Id is not Valid
- خطای Tapsell Plus is not Initialized
- خطای Zone Id is not Valid
- خطای Previous Request is Still Trying
- خطای All Ad Networks Returned Error
- خطای adContainer should not be null
- خطای adHolder should not be null
- خطای Banner Type is not Valid
- خطای adContainer should not have child
- خطای AdShowListener Should not be null
- خطای INVALID_BANNER_SIZE
- خطای No Waterfall in Cache and Waterfall API has Error
- خطای Error inflating class com.google.android.gms.ads.nativead.NativeAdView Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.google.android.gms.ads.nativead.NativeAdView
در این بخش خطاهایی که ممکن است در مراحل مختلف راهاندازی تپسل در React Native با آنها مواجه شوید به همراه راه حل ذکر شدهاند.
خطای مورد نظر شما در این صفحه مطرح نشده است؟ در قسمت Issues گیتهاب جستجو کنید و در صورت نیافتن در آنجا مورد جدیدی مطرح کنید.
npm ERR! peer react-native@”0.63.4” from react-native-tapsell-plus
در صورتیکه با این خطا مواجه شدید، از دستور زیر در هنگام نصب پکیج تپسلپلاس استفاده نمایید:
npm i --legacy-peer-deps react-native-tapsell-plus --save
خطای 403
در صورتیکه در فرایند بیلد اپ خود، دانلود پلاگین های Gradle یا وابستگی های دیگر به دلیل عدم داشتن دسترسی مجاز، تحریم یا مشکلات مربوط به IP ایران، با خطای 403 مواجه شود، سینک پروژه به مشکل خورده و با خطای Gradle Project Sync Failed
مواجه خواهید شد. یکی از روش های رفع این مشکل، استفاده از ابزار shecan میباشد.
گرفتن لاگ اندروید
برای گرفتن لاگ نیتیو اندروید روش های مختلفی وجود دارد. یکی از این روش ها استفاده از ADB
است. ابتدا لازم است آن را به متغیر های سیستم خود اضافه کنید. سپس در محیط ترمینال کد زیر را وارد کنید:
adb logcat -v color
روش دیگر استفاده از ابزار LogCat
در نرمافزار Android Studio
میباشد.
همچنین میتوانید از سایر پکیج های مفید npm
از قبیل LogKitty نیز استفاده نمایید.
خطاهای رایج ادموب
در این لینک خطاهای رایج ادموب توضیح داده شده است
خطای Activity is Dead
هنگام صدا زدن متد initialize , request و یا Show (تا قبل اینکه Callback صدا زده بشه) اگر از Activity خارج شوید این خطا رخ می دهد. زمانی که sdk یخواهد جوابی که از سمت سرور اومده رو به کاربر منتقل کند، ابتدا بررسی میکند Activity ای که تابع در آن صدا زده شده Destroy نشده باشد
خطای App Id is not Valid
هنگام initialize کردن SDK مقدار appId (یا همان شناسه ای که از پنل دربافت کردید) معتبری نداشته باشه. توسط دیباگر میتوانید مطمئن بشوید که دقیقا همون مقداری که مدنظر هستش به تابع به عنوان ورودی داده شود
خطای Tapsell Plus is not Initialized
این خطا زمانی که تابع request و یا show را صدا زدید ولی SDK هنوز initialize نشده است، رخ میدهد برای درخواست تبلیغ ابتدا اطمینان حاصل کنید که SDK را initialize کردهاید. برای اطمینان از این موضوع میتوانید لاگ های نیتیو مربوط به اندروید را به کمک ابزار adb یا لاگکت بررسی کنید. در صورتیکه لاگ onInitializeSuccess
با کد TAPSELLPLUS
را پیدا کردید، به این معنی است که SDK را با موفقت initialize کردهاید.
خطای Zone Id is not Valid
این خطا زمانی رخ می دهد که request صدا زده میشود و ZoneId مقدار خالی داشته باشد. میتوانید با Debugger از مقداری که به عنوان ورودی به تابع می دهید مطمئن شوید
خطای Previous Request is Still Trying
این خطا زمانی رخ می دهد که یک تبلیغ درخواست داده شده و بالافاصله (قبل اینکه جواب درخواست قبلی دربافت شود) مجددا درخواست تبلیغ بکنید
خطای All Ad Networks Returned Error
این خطا زمانی رخ می دهد که هیچکدام از شبکه های تبلیغاتی که برای شما فعال هست نتوانند تبلیغی رو آماده کنند اگر زمان نمایش تبلیغ این خطا رو مشاهده کردید، مطمئن شوید که Id ای که به تابع به عنوان ورودی به تابع می دهید دقیقا با مقداری که از response درخواست تبلیغ گرفتید یکسان باشد. اگر زمان درخواست تبلیغ این خطا را مشاهده کردید احتمال این که شبکه تبلیغاتی به درستی برای شما فعال نشده باشد است. در این صورت مسئله را با تیم پشتیبانی در میان بگذارید
فعال/غیرفعالسازی دیالوگ بازگشت در تبلیغات ویدیویی
در پلتفرم تپسلپلاس، فعالسازی دیالوگ بازگشت نیازی به پیادهسازی از طرف شما ندارد و از قبل در کتابخانه تعبیه شده است. برای فعالسازی آن کافیست درخواست خود را به پشتیبانی تپسل ارجاع دهید
فعال/غیرفعالسازی دکمه بازگشت در زمان مشاهده تبلیغات ویدیویی
در پلتفرم تپسلپلاس، غیرفعالسازی دکمه بازگشت در تبلیغات ویدیویی، نیازی به پیادهسازی از طرف شما ندارد و از قبل در کتابخانه تعبیه شده است. برای فعالسازی آن کافیست درخواست خود را به پشتیبانی تپسل ارجاع دهید
خطای adContainer should not be null
این خطا زمانی که میخواهید تبلیغ از نوع StandardBanner را نمایش دهید رخ می دهد اطمینان حاصل کنید که ViewGroup ای که میخواهید تبلیغ را در آن نمایش دهید null نباشد و مقدار درستی داشته باشد
خطای adHolder should not be null
این خطا زمانی که میخواهید تبلیغ از نوع NativeBanner را نمایش دهید رخ می دهد اطمینان حاصل کنید که ViewGroup ای که میخواهید تبلیغ را در آن نمایش دهید null نباشد و مقدار درستی داشته باشد
خطای Banner Type is not Valid
ابن خطا زمانی رخ می دهد مقدار سایز بنری که در نمایش تبلیغ StandardBanner به عنوان ورودی به تابع requestStandardBannerAd می دهید مقدار درستی ندارد با Debugger میتوانید از صحت مقدار مطمئن شوید و حتما ار مقادیر TapsellPlusBannerType استفاده نمایید
خطای adContainer should not have child
این خطا زمانی که میخواهید تبلیغ از نوع StandardBanner را نمایش دهید رخ می دهد اطمینان حاصل کنید که ViewGroup ای که میخواهید تبلیغ را در آن نمایش دهید، داخل XML آن View دیگری نداشته باشد
خطای AdShowListener Should not be null
این خطا زمانی که میخواهید تبلیغ را نمایش دهید رخ می دهد مطمئن شوید که Callback مناسب را به عنوان ورودی به تابع میدهید
خطای INVALID_BANNER_SIZE
این خطا برای هر کدام از شبکه های تبلیغاتی اگر رخ داد، به معنای آن است که مقدار درستی برای انداز بنری که میخواهید نمایش دهید به عنوان ورودی به تابع ندادید
خطای No Waterfall in Cache and Waterfall API has Error
زمانی که که درخواست تبلیغ می دهید Sdk اگر لیست شبکه ها تبلیغاتی رو ذخیره نداشته باشد، سعی میکند که از سرور بگیرد. اگر این مرحله هم با موفقیت انجام نشود (به دلیل قطع شدن اینترنت) این خطا رو Sdk نمایش می دهد
خطای Error inflating class com.google.android.gms.ads.nativead.NativeAdView Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.google.android.gms.ads.nativead.NativeAdView
این خطا زمانی اتفاق میافتد که از ادنتورک AdMob در پرژه خود استفاده کرده باشید، اما وابستگی play-services-ads
را به پروژه اضافه نکرده باشید. برای رفع آن لازم است تا این وابستگی را به صورت زیر در فایل android/app/build.gradle
اضافه کنید.
dependencies { def supportedAdmob = "22.6.0" implementation("com.google.android.gms:play-services-ads:$supportedAdmob") }