تبهای سفارشی (Custom Tabs) قابلیتی در مرورگرهای اندروید هستند که به توسعهدهندگان اپلیکیشنها این امکان را میدهند تا مستقیماً یک تجربه مرورگر سفارشیسازیشده را درون اپلیکیشن خود اضافه کنند.
بارگذاری محتوای وب از روزهای اولیه گوشیهای هوشمند بخشی از برنامههای تلفن همراه بوده است، اما گزینههای قدیمیتر میتوانند چالشهایی را برای توسعهدهندگان ایجاد کنند. راهاندازی مرورگر واقعی برای کاربران یک تغییر زمینه سنگین است که قابل تنظیم نیست، در حالی که WebViewها از تمام ویژگیهای پلتفرم وب پشتیبانی نمیکنند ، وضعیت را با مرورگر به اشتراک نمیگذارند و سربار نگهداری را اضافه میکنند.
تبهای سفارشی به کاربران اجازه میدهند هنگام مرور، در داخل برنامه باقی بمانند، که این امر باعث افزایش تعامل و کاهش خطر ترک برنامه توسط کاربران میشود. تبهای سفارشی مستقیماً توسط مرورگر مورد نظر کاربر پشتیبانی میشوند و به طور خودکار وضعیت و ویژگیهای ارائه شده توسط آن را به اشتراک میگذارند. برای مدیریت درخواستها، اعطای مجوز یا ذخیره کوکیها نیازی به نوشتن کد سفارشی ندارید.
تبهای سفارشی چه کاری میتوانند انجام دهند؟
با استفاده از یک تب سفارشی، محتوای وب شما در هر موتور رندری که مرورگر مورد نظر کاربر را پشتیبانی میکند، بارگذاری میشود. هر API یا ویژگی پلتفرم وب در آنجا موجود است و در تب سفارشی شما نیز در دسترس است. جلسه مرور، رمزهای عبور ذخیره شده، روشهای پرداخت و آدرسها، همه درست مانند آنچه که قبلاً به آن عادت کردهاند، نمایش داده میشوند.
چه چیزهایی را میتوانم در برگه سفارشی سفارشی کنم؟
خیلی زیاد! تبهای سفارشی به شما کنترل دقیقی بر بسیاری از بخشهای مرورگر کروم و تجربه کاربری میدهند. در برنامه خود، یک تب سفارشی را با استفاده از یک Intent راهاندازی میکنید. وقتی این Intent فراخوانی میشود، میتوانید تعدادی ویژگی به CustomTabIntent اضافه کنید تا دقیقاً همان تجربهای را که میخواهید به دست آورید. برخی از سفارشیسازیهایی که میتوانید اضافه کنید در اینجا فهرست شدهاند:
- انیمیشنهای ورود و خروج سفارشی برای مطابقت با بقیه برنامه شما
- تغییر رنگ نوار ابزار برای مطابقت با برند برنامه شما
- ثبات رنگی که میتواند در برنامه شما باقی بماند، حتی اگر بین تمهای روشن و تیره تغییر کند
- اقدامات و ورودیهای سفارشی در نوار ابزار و منوهای مرورگر
- ارتفاع شروع تب سفارشی را کنترل کنید، و مواردی مانند پخش ویدیوهای خود را هنگام تعامل با فروشگاه وب خود فعال کنید
علاوه بر این، کاربران میتوانند یک تب سفارشی را کوچک کنند تا با برنامهی اصلی تعامل داشته باشند و در هر زمان بدون از دست دادن هیچ پیشرفتی، آن را بازیابی کنند تا سفر خود را از سر بگیرند. این به کاربران جایگزینی برای بستن تب سفارشی میدهد تا بتوانند به طور یکپارچه بین وب و برنامهی اصلی چندوظیفگی داشته باشند. این ویژگی به طور پیشفرض برای تبهای سفارشی فعال است.
این به هیچ وجه همه چیز نیست. تبهای سفارشی بسیار قدرتمند هستند و در حال توسعه فعال میباشند. هر مرورگر باید همزمان با در دسترس قرار گرفتن این ویژگیها، پشتیبانی از آنها را نیز اضافه کند. در حالی که تقریباً همه آنها سطحی از پشتیبانی را دارند، مهم است بدانید چه چیزی ممکن است در مرورگرهای کاربر شما در دسترس باشد یا نباشد. برای بررسی سریع در دسترس بودن ویژگیهای مختلف در مرورگرهای محبوب اندروید، به جدول مقایسه ویژگیها مراجعه کنید.
اکنون میتوانید این را با نمونه ما در گیتهاب آزمایش کنید.
چه زمانی باید از تبهای سفارشی استفاده کنم؟
هیچ روش «صحیحی» برای بارگذاری محتوای وب وجود ندارد. در شرایط خاص، WebView فناوری مناسبی برای استفاده خواهد بود. به عنوان مثال، اگر شما منحصراً محتوای خود را در داخل برنامه خود میزبانی میکنید، یا اگر نیاز دارید جاوا اسکریپت را مستقیماً از برنامه خود تزریق کنید. اگر برنامه شما افراد را به URL های خارج از دامنهها هدایت میکند، حالت اشتراکی داخلی در Custom Tabs به این معنی است که آنها احتمالاً انتخاب بهتری هستند. از دیگر نقاط قوت Custom Tabs میتوان به موارد زیر اشاره کرد:
- امنیت: تبهای سفارشی از مرور ایمن گوگل برای محافظت از کاربر و دستگاه در برابر سایتهای خطرناک استفاده میکنند.
- بهینهسازی عملکرد:
- گرم کردن اولیه مرورگر در پسزمینه، ضمن جلوگیری از سرقت منابع از برنامه.
- با بارگذاری احتمالی URLها از قبل، زمان بارگذاری صفحه را افزایش دهید.
- مدیریت چرخه عمر: برنامههایی که یک تب سفارشی را راهاندازی میکنند، در طول استفاده از آن تب توسط سیستم حذف نمیشوند. اهمیت تب سفارشی به سطح پیشزمینه افزایش مییابد.
- مدل کوکی و مجوزهای اشتراکی، به طوری که کاربران مجبور نباشند به سایتهایی که قبلاً به آنها متصل شدهاند وارد شوند یا مجوزهایی را که قبلاً اعطا کردهاند، دوباره اعطا کنند.
- ویژگیهای مرورگر مانند تکمیل خودکار برای تکمیل بهتر فرم، از قبل در دسترس هستند.
- کاربران میتوانند با دکمه بازگشت یکپارچه به برنامه برگردند.
تبهای سفارشی در مقابل فعالیت وب قابل اعتماد
فعالیتهای وب قابل اعتماد ، پروتکل تبهای سفارشی را گسترش میدهد و بیشتر مزایای آن را به اشتراک میگذارد. اما، به جای ارائه یک رابط کاربری سفارشی، به توسعهدهندگان اجازه میدهد تا یک تب مرورگر را بدون هیچ رابط کاربری باز کنند. این مورد برای توسعهدهندگانی که میخواهند برنامه وب پیشرونده خود را به صورت تمام صفحه، درون برنامه اندروید خود باز کنند، توصیه میشود.
تبهای سفارشی کجا در دسترس هستند؟
تبهای سفارشی قابلیتی است که توسط مرورگرهای پلتفرم اندروید پشتیبانی میشود. این قابلیت در ابتدا توسط کروم ، در نسخه ۴۵، معرفی شد. این پروتکل توسط اکثر مرورگرهای اندروید پشتیبانی میشود.
ما به دنبال بازخورد، سوالات و پیشنهادات در مورد این پروژه هستیم، بنابراین شما را تشویق میکنیم تا مشکلات خود را در crbug.com ثبت کنید و سوالات خود را در توییتر @ChromiumDev بپرسید.
بیشتر بدانید
برای سوالات، برچسب chrome-custom-tabs را در StackOverflow بررسی کنید.