خطاهای فنی رایج در اندروید

در این بخش خطاهایی که ممکن‌ است در مراحل مختلف راه‌اندازی تپسل در اندروید با آن‌ها مواجه شوید به همراه راه‌ حل ذکر شده‌اند.

خطای مورد نظر شما در این صفحه مطرح نشده است؟ در قسمت Issues گیت‌هاب جستجو کنید و در صورت نیافتن در آنجا مورد جدیدی مطرح کنید.

خطای 403

در صورتیکه در فرایند بیلد اپ خود، دانلود پلاگین های Gradle یا وابستگی های دیگر به دلیل عدم داشتن دسترسی مجاز، تحریم یا مشکلات مربوط به IP ایران، با خطای 403 مواجه شود، سینک پروژه به مشکل خورده و با خطای Gradle Project Sync Failed مواجه خواهید شد. یکی از روش های رفع این مشکل، استفاده از ابزار shecan می‌باشد.

خطاهای رایج ادموب

در این لینک خطاهای رایج ادموب توضیح داده شده است

Admob-error-codes

unable to connect the host 127.1.1

این خطا معمولا به دلیل مشکل در اینترنت کلاینت یا استفاده از VPN نامناسب است. همچنین در صورتیکه از شبیه ساز استفاده میکنید، ممکنه است در لحظه درخواست، به اینترنت متصل نباشد. لطفا شبکه اینترنت را بررسی بفرمایید

فعال/غیرفعال‌‌سازی دیالوگ بازگشت در تبلیغات ویدیویی

در پلتفرم تپسل‌پلاس، فعال‌سازی دیالوگ بازگشت نیازی به پیاده‌سازی از طرف شما ندارد و از قبل در کتابخانه تعبیه شده است. برای فعال‌سازی آن کافیست درخواست خود را به پشتیبانی تپسل ارجاع دهید

فعال/غیرفعال‌سازی دکمه بازگشت در زمان مشاهده تبلیغات ویدیویی

در پلتفرم تپسل‌پلاس، غیرفعال‌سازی دکمه بازگشت در تبلیغات ویدیویی، نیازی به پیاده‌سازی از طرف شما ندارد و از قبل در کتابخانه تعبیه شده است. برای فعال‌سازی آن کافیست درخواست خود را به پشتیبانی تپسل ارجاع دهید

خطای 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 نشده است، رخ میدهد. برای درخواست تبلیغ ابتدا توسط Callback های تابع initialize مطمئن شوید که sdk نصب شده(توسط یک متغییر) و قبل درخواست تبلیغ این موضوع رو با آن متغییر بررسی کنید

خطای Zone Id is not Valid

این خطا زمانی رخ می دهد که request صدا زده میشود و ZoneId مقدار خالی داشته باشد. میتوانید با Debugger از مقداری که به عنوان ورودی به تابع می دهید مطمئن شوید

خطای Previous Request is Still Trying

این خطا زمانی رخ می دهد که یک تبلیغ درخواست داده شده و بالافاصله (قبل اینکه جواب درخواست قبلی دربافت شود) مجددا درخواست تبلیغ بکنید

خطای All Ad Networks Returned Error

توصیه می‌شود که به نسخه‌ی ۲.۱.۶ بروزرسانی کنید و با کد TapsellPlus.setDebugMode(Log.DEBUG) اطلاعات بیشتری در مورد خطا کسب کنید

این خطا زمانی رخ می دهد که هیچکدام از شبکه های تبلیغاتی که برای شما فعال است نتوانند تبلیغی رو آماده کنند اگر زمان نمایش تبلیغ این خطا رو مشاهده کردید، مطمئن شوید که 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

برای نمایش تبلیغات همسان، لازم است وابستگی play-services-ads را به پروژه خود در فایل app/build.gradle اضافه کنید.

dependencies {
   def supportedAdmob = "22.6.0"
   implementation("com.google.android.gms:play-services-ads:$supportedAdmob")
}

در صورتیکه از پیش از شبکه تبلیغاتی ادموب در پروژه خود استفاده نمی‌کنید، می‌توانید از کلید تست ادموب (ca-app-pub-3940256099942544~3347511713) استفاده کنید. در غیر اینصورت کلید اختصاصی خود را وارد نمایید.

GooglePlay Your app targets Android 13 (API 33) or above. You must declare the use of advertising ID in Play Console.

با توجه به سیاست‌های پلی استور از اندروید ۱۳ به بعد، لازم است ابتدا وارد فایل AndroidManifest.xml شده و دسترسی com.google.android.gms.permission.AD_ID را به آن اضاقفه کنید. همچنین لازم است که استفاده از Advertising ID به اطلاع کاربر نیز برسد. برای اینکار کافیست که در کنسول پلی‌استور مطابق عکس زیر، تیکِ استفاده از Advertising ID را بزنید. و دلیل آن را استفاده از تبلیغات تعیین کنید.

GooglePlay-Advertising-ID-error