در گذشته، نصب اپلیکیشن فقط در زمینه اپلیکیشن های مخصوص پلتفرم امکان پذیر بود. امروزه، برنامههای وب مدرن تجربیات قابل نصبی را ارائه میکنند که همان سطح یکپارچگی و قابلیت اطمینان را به عنوان برنامههای مخصوص پلتفرم ارائه میکنند.
شما می توانید به روش های مختلف به این هدف برسید:
- نصب PWA از مرورگر
- نصب PWA از فروشگاه برنامه
داشتن کانال های توزیع مختلف یک راه قدرتمند برای دستیابی به تعداد زیادی از کاربران است، اما انتخاب استراتژی مناسب برای ترویج نصب PWA شما می تواند چالش برانگیز باشد.
این راهنما بهترین شیوهها را برای ترکیب گزینههای مختلف نصب برای افزایش نرخ نصب و جلوگیری از رقابت پلت فرم و آدمخواری بررسی میکند. پیشنهادات نصب تحت پوشش شامل PWA های نصب شده از هر دو مرورگر و اپ استور و همچنین برنامه های مخصوص پلتفرم است.
چرا برنامه وب خود را قابل نصب کنیم؟
برنامه های وب پیشرفته نصب شده در یک پنجره مستقل به جای برگه مرورگر اجرا می شوند. آنها از صفحه اصلی، داک، نوار وظیفه یا قفسه کاربر قابل اجرا هستند. این امکان وجود دارد که آنها را در یک دستگاه جستجو کنید و با تغییر دهنده برنامه بین آنها بپرید و باعث می شود احساس کنند بخشی از دستگاهی هستند که روی آن نصب شده اند.
اما داشتن یک برنامه وب قابل نصب و یک برنامه مخصوص پلتفرم می تواند برای کاربران گیج کننده باشد. برای برخی از کاربران، برنامههای مخصوص پلتفرم ممکن است بهترین انتخاب باشند، اما برای برخی دیگر میتوانند اشکالاتی داشته باشند:
- محدودیتهای ذخیرهسازی: نصب یک برنامه جدید ممکن است به معنای حذف سایرین یا پاک کردن فضا با حذف محتوای ارزشمند باشد. این امر به ویژه برای کاربران دستگاه های ارزان قیمت زیان آور است.
- پهنای باند موجود: دانلود یک برنامه میتواند فرآیندی پرهزینه و کند باشد، حتی بیشتر از آن برای کاربرانی که اتصالات آهسته و برنامههای داده گران قیمت دارند.
- اصطکاک: ترک یک وب سایت و رفتن به فروشگاه برای دانلود یک برنامه، اصطکاک بیشتری ایجاد می کند و عملکرد کاربر را که می تواند مستقیماً در وب انجام شود به تاخیر می اندازد.
- چرخه بهروزرسانی: ایجاد تغییرات در برنامههای خاص پلتفرم ممکن است نیاز به گذراندن فرآیند بررسی برنامه داشته باشد، که میتواند تغییرات و آزمایشها را کاهش دهد (مثلاً آزمایشهای A/B).
در برخی موارد، درصد کاربرانی که برنامه مخصوص پلتفرم شما را دانلود نمیکنند ممکن است زیاد باشد، برای مثال: آنهایی که فکر میکنند اغلب از برنامه استفاده نمیکنند، یا نمیتوانند صرف چند مگابایت فضای ذخیرهسازی را توجیه کنند. داده ها شما می توانید اندازه این بخش را به روش های مختلفی تعیین کنید، به عنوان مثال با استفاده از تنظیمات تجزیه و تحلیل برای ردیابی درصد کاربران "فقط وب تلفن همراه".
اگر اندازه این بخش قابل توجه است، این نشانه خوبی است که باید راه های جایگزینی برای نصب تجربیات خود ارائه دهید.
ترویج نصب PWA خود از طریق مرورگر
اگر یک PWA با کیفیت بالا دارید، ممکن است بهتر باشد نصب آن را در برنامه مخصوص پلتفرم خود تبلیغ کنید. به عنوان مثال، اگر برنامه خاص پلتفرم عملکرد ارائه شده توسط PWA شما را ندارد، یا اگر مدتی است به روز نشده است. اگر برنامه مخصوص پلتفرم برای صفحههای بزرگتر، مانند ChromeOS، بهینهسازی نشده باشد، ترویج نصب PWA شما نیز میتواند مفید باشد.
برای برخی از برنامهها، نصب برنامههای مخصوص پلتفرم، بخش کلیدی مدل کسبوکار است، در این صورت، ترویج نصب برنامه خاص پلتفرم شما منطقی به نظر میرسد. اما، برخی از کاربران ممکن است راحت تر در وب بمانند. اگر بتوان آن بخش را شناسایی کرد، اعلان PWA را می توان فقط به آنها نشان داد (آنچه ما آن را "PWA به عنوان بازگشتی" می نامیم).
PWA به عنوان تجربه قابل نصب اولیه
هنگامی که یک PWA معیارهای نصب را برآورده می کند، اکثر مرورگرها نشانه ای از قابل نصب بودن PWA را نشان می دهند. برای مثال، کروم دسکتاپ یک نماد قابل نصب را در نوار آدرس نشان میدهد و در تلفن همراه، یک نوار اطلاعات کوچک را نشان میدهد:
اگرچه این ممکن است برای برخی تجربیات کافی باشد، اگر هدف شما هدایت نصب PWA است، ما به شدت توصیه میکنیم به BeforeInstallPromptEvent
گوش دهید و از الگوهای ترویج نصب PWA خود پیروی کنید.
از PWA خود جلوگیری کنید تا نرخ نصب برنامه خاص پلتفرم شما را هم خوار کند
در برخی موارد، ممکن است نصب برنامه مخصوص پلتفرم خود را از طریق PWA خود تبلیغ کنید، اما در این مورد، ما همچنان به شما توصیه می کنیم مکانیزمی ارائه دهید تا به کاربران اجازه دهید PWA شما را نصب کنند. این گزینه بازگشتی این امکان را برای کاربرانی فراهم میکند که نمیتوانند یا نمیخواهند برنامه مخصوص پلتفرم شما را نصب کنند تا تجربه نصب شده مشابهی داشته باشند.
اولین قدم برای اجرای این استراتژی، تعریف یک اکتشافی برای زمانی است که به کاربر یک تبلیغ نصب برای PWA خود را نشان می دهید.
به عنوان مثال: کاربر PWA کاربری است که اعلان نصب برنامه مخصوص پلتفرم را دیده است و برنامه مخصوص پلتفرم را نصب نکرده است. آنها حداقل پنج بار به سایت بازگشته اند، یا روی بنر برنامه کلیک کرده اند، اما به جای آن به استفاده از وب سایت ادامه داده اند.
سپس، اکتشافی را می توان به روش زیر پیاده سازی کرد:
- نمایش بنر نصب برنامه مخصوص پلتفرم.
- اگر کاربر بنر را رد کرد، یک کوکی با آن اطلاعات تنظیم کنید (به عنوان مثال
document.cookie = "app-install-banner=dismissed"
). - از کوکی دیگری برای ردیابی تعداد بازدید کاربر از سایت استفاده کنید (مثلا
document.cookie = "user-visits=1"
). - تابعی مانند
isPWAUser()
بنویسید که از اطلاعات ذخیره شده قبلی در کوکیها به همراهgetInstalledRelatedApps()
API استفاده میکند تا مشخص کند آیا کاربر بهعنوان «کاربر PWA» در نظر گرفته میشود یا خیر. - هنگامی که کاربر یک عمل معنی دار را انجام می دهد،
isPWAUser()
فراخوانی کنید. اگر تابع درست است و اعلان نصب PWA قبلاً ذخیره شده است، می توانید دکمه نصب PWA را نشان دهید.
ترویج نصب PWA خود از طریق فروشگاه برنامه
برنامهها برای فروشگاههای App را میتوان با فناوریهای مختلفی از جمله تکنیکهای PWA ساخت. در ترکیب PWA در محیطهای بومی، میتوانید خلاصهای از فناوریهایی را بیابید که میتوان برای این منظور استفاده کرد.
در این بخش، اپلیکیشنهای موجود در فروشگاه را در دو گروه طبقهبندی میکنیم:
- برنامه های مخصوص پلتفرم: این برنامه ها بیشتر با کدهای مخصوص پلتفرم ساخته می شوند. اندازه آنها به پلتفرم بستگی دارد، اما معمولاً در اندروید بالای 10 مگابایت و در iOS 30 مگابایت است. اگر PWA ندارید، یا اگر برنامه مخصوص پلتفرم مجموعه ویژگی های کامل تری ارائه می دهد، ممکن است بخواهید برنامه مخصوص پلتفرم خود را تبلیغ کنید.
- برنامههای سبک وزن: این برنامهها را میتوان با کدهای مخصوص پلتفرم نیز ساخت، اما معمولاً با فناوری وب ساخته میشوند و در بستهبندی مخصوص پلتفرم بستهبندی میشوند. PWA های کامل را می توان در فروشگاه ها نیز آپلود کرد. (این موضوع بعداً در این مقاله مورد بحث قرار می گیرد.) برخی از شرکت ها ترجیح می دهند این موارد را به عنوان تجربیات "لایت" ارائه کنند، و برخی دیگر نیز از این رویکرد برای برنامه های اصلی (هسته ای) خود استفاده کرده اند.
تبلیغ اپلیکیشن های سبک وزن
طبق یک مطالعه Google Play ، به ازای هر 6 مگابایت افزایش به اندازه APK، نرخ تبدیل نصب 1٪ کاهش می یابد. این بدان معنی است که سرعت دانلود یک برنامه 10 مگابایتی می تواند تقریبا 30 درصد بیشتر از یک برنامه 100 مگابایتی باشد!
برای رفع این مشکل، برخی از شرکتها از PWA خود استفاده میکنند تا با استفاده از Trusted Web Activities (TWA) یک نسخه سبک از برنامه خود را در Play Store ارائه کنند. TWA ها PWA شما را در یک کامپوننت شبیه به نمای وب قرار می دهند و اندازه برنامه حاصل معمولاً فقط چند مگابایت است.
Oyo، یکی از بزرگترین شرکتهای مهماننوازی هند، نسخه Lite برنامه خود را ساخت و آن را با استفاده از TWA در فروشگاه Play در دسترس قرار داد. در زمان نگارش این مقاله، برنامه Oyo تنها 850 کیلوبایت بود، یعنی تنها 7 درصد از حجم برنامه اندروید آنها. و پس از نصب، از برنامه اندروید آنها قابل تشخیص نیست:
Oyo هر دو نسخه برنامه پرچمدار و "lite" را در فروشگاه نگه داشت و امکان انتخاب را برای کاربران خود فراهم کرد.
ارائه یک تجربه وب سبک
به طور شهودی، کاربران دستگاههای ارزانقیمت ممکن است تمایل بیشتری به دانلود نسخههای سبک برنامهها نسبت به کاربران تلفنهای رده بالا داشته باشند. بنابراین، اگر امکان شناسایی دستگاه کاربر وجود دارد، میتوانید بنر نصب برنامه سبک وزن را بر نسخه سنگینتر برنامه مخصوص پلتفرم اولویت دهید.
در وب، می توان سیگنال های دستگاه را به دست آورد و تقریباً آنها را به دسته های دستگاه (به عنوان مثال "بالا"، "متوسط" یا "پایین") ترسیم کرد. شما می توانید این اطلاعات را به روش های مختلف، با استفاده از API های جاوا اسکریپت یا نکات مشتری به دست آورید.
با استفاده از جاوا اسکریپت
با استفاده از ویژگیهای جاوا اسکریپت مانند navigator.hardwareConcurrency ، navigator.deviceMemory و navigator.connection میتوانید به ترتیب اطلاعات مربوط به CPU دستگاه، حافظه و وضعیت شبکه را دریافت کنید. به عنوان مثال:
const deviceCategory = req.get('Device-Memory') < 1 ? 'lite' : 'full';`
استفاده از نکات مشتری
سیگنالهای دستگاه را نیز میتوان در سرصفحههای درخواست HTTP، از طریق راهنماییهای مشتری استنباط کرد. در اینجا چگونه می توانید کد قبلی را برای حافظه دستگاه با نکات مشتری پیاده سازی کنید:
ابتدا به مرورگر بگویید که علاقه مند به دریافت نکات حافظه دستگاه در سربرگ پاسخ HTTP برای هر درخواست شخص اول هستید:
HTTP/1.1 200 OK
Content-Type: text/html
Accept-CH: Device-Memory
سپس، اطلاعات Device-Memory
را در هدر درخواست درخواستهای HTTP دریافت خواهید کرد:
GET /main.js HTTP/1.1
Device-Memory: 0.5
میتوانید از این اطلاعات در پشتیبانهای خود برای ذخیره یک کوکی با دسته دستگاه کاربر استفاده کنید:
app.get('/route', (req, res) => {
// Determine device category
const deviceCategory = req.get('Device-Memory') < 1 ? 'lite' : 'full';
// Set cookie
res.setCookie('Device-Category', deviceCategory);
…
});
در نهایت، منطق خود را برای نگاشت این اطلاعات به دستههای دستگاه ایجاد کنید و اعلان نصب برنامه مربوطه را در هر مورد نشان دهید:
if (isDeviceMidOrLowEnd()) {
// show "Lite app" install banner or PWA A2HS prompt
} else {
// show "Core app" install banner
}
نتیجه گیری
امکان داشتن آیکون در صفحه اصلی کاربر یکی از جذاب ترین ویژگی های اپلیکیشن ها است. با توجه به اینکه از نظر تاریخی این فقط برای برنامه های نصب شده از فروشگاه های برنامه امکان پذیر بود، شرکت ها ممکن است فکر کنند که نمایش بنر نصب فروشگاه برنامه برای متقاعد کردن کاربران برای نصب تجربیات خود کافی است. در حال حاضر گزینههای بیشتری برای اجازه دادن به کاربران برای نصب یک برنامه وجود دارد، از جمله ارائه تجربههای سبک وزن از برنامه در فروشگاهها، و اجازه دادن به کاربران برای اضافه کردن PWA به صفحه اصلی با درخواست از آنها برای انجام مستقیم از وبسایت.