فایربیس و دیگر هیچ

در این مقاله لیست سرویس های فایربیس با توضیحاتی مختصر (از داکیومنت های خود فایربیس) استخراج و ارائه شده است. در ادامه سعی شده توضیحات مختصری از هر سرویس با زبانی روان و قابل فهم برای توسعه دهندگان و مدیرانی که تجربه ی استفاده از این سرویس ها را نداشتند، آورده شود.برای بعضی از سرویس ها که برای خودم جذاب تر بودند، توضیحات بیشتری ارائه شده و بعضی سرویس ها کلا از لیست زیر حذف شدند چون توضیحات زیادی نداشتند و یا هنوز در حالت Beta یا آزمایشی هستند. Cloud Firestore: یک پایگاه داده انعطاف پذیر و مقیاس پذیر (Scaleable) برای توسعه اپ های موبایلی، وب و سرور می باشد. شبیه Firebase Realtime برای ذخیره سازی و واکشی دیتا بصورت Sync در اپ قابل استفاده است. از ویژگی های این بخش پشتیبانی در حالت آفلاین می باشد. به عبارت دیگر می توانید با استفاده از این امکان نگران قطعی های شبکه و اینترنت نباشید.ML kit: ماشین لرنینگ، سرویسی که در حالت نسخه ی آزمایشی عرضه شده و هنوز نهایی نشده است. با یک مثال، کار ماشین لرنینگ چیست؟ اگر شما از یک فروشگاه آنلاین که تنوع محصولات زیادی دارد، خرید کرده باشید، معمولا در بخشی از صفحه لیستی از محصولات به نمایش گذاشته شده اند که معمولا کالاهای مرتبط با کالای مد نظر شما را نشان میدهند. ماشین لرنینگ به صاحبان کسب و کار کمک میکند تا با ذخیره سازی پیمایش کاربر در این فروشگاه ها علاوه بر محصولات مرتبط با محصول مدنظر، محصولاتی که می تواند در سبد خرید شما قرار بگیرد را به شما پیشنهاد دهد. مثلا اگر شما دنبال لباس هایی با رنج قیمتی پایین هستید، در مراجعات بعدی شما به فروشگاه، در صورتیکه محصولی مناسب با سلیقه ی شما موجود باشد، در لیست پیشنهادات ارائه خواهد شد. البته این مثال، بخش کوچکی از قابلیت های ماشین لرنینگ محسوب می شود.Cloud Function: برای نوشتن API های لازم اپ، میتوانید بدون تهیه ی سرورهای شخصی در این سرویس وب سرویس های لازم را پیاده سازی کنید. برای این منظور باید پکیج های nodejs را نصب کنید و نوشتن Api ها را شروع کنید. کد جاوا اسکریپت یا تایپ اسکریپت شما در فضای ابری گوگل ذخیره می شود و در دسترس قرار میگیرد.Authentication:اکثر برنامه ها نیاز به احراز هویت کاربران یا لاگین دارند. دانستن هویت کاربر به یک برنامه اجازه می دهد تا داده های کاربر از دست نرود و تجربیات کاربر در تمام دستگاه ها یکسان باشد.قابلیت اعتبار سنجی کاربران به عنوان یک سرویس backend، هم روش استفاده ی آسانی را فراهم کرده و همچنین UI آماده ای را ارائه می دهد. سرویس احراز هویت، استفاده از گذرواژه‌، شماره تلفن‌، ارائه دهندگان هویت مانند Google ، Facebook و Twitter و موارد دیگر پشتیبانی می کند.این سرویس با سایر سرویس های Firebase ادغام می شود و از استانداردهایی مانند OAuth 2.0 و OpenID Connect بهره می برد.Hosting:این سرویس، میزبانی سریع و ایمن را برای برنامه وب، محتوای استاتیک و پویا و میکرو سرویس ها ارائه می دهد. Firebase Hosting میزبان محتوای وب برای توسعه دهندگان است. با یک دستور می توانید به سرعت برنامه های وب را مستقر کرده و محتوای استاتیک و پویا را با یک CDN ارائه دهید. همچنین می توانید با استفاده از Cloud Function یا Cloud Run، خدمات ساخت و میزبانی micro-service در Firebase عرضه کنید.Cloud Storage:این امکان برای توسعه ی برنامه هایی که نیاز به ذخیره سازی محتوا تولید شده مثل عکس و فیلم و … دارد، ساخته شده است. امکانی ساده و مقرون به صرفه که در مقیاس گوگل ساخته شده است. عملیات آپلود و دانلود فایلها در اپ، بدون در نظر گرفتن کیفیت شبکه را پشتیبانی می کند. قابلیت ذخیره تصاویر ، صدا ، فیلم یا سایر محتوای تولید شده توسط کاربر را فراهم آورده است.Crashlytics: گزارشی ساده و در لحظه از اپ شما تهیه میکند و با ردگیری، اولویت بندی به شما برای بهبود عملکرد اپ کمک میکند.Performance Monitoring:شما با استفاده از SDK بخش Monitoring Performance به جمع آوری داده و عملکرد برنامه خود می پردازید. سپس آن داده را در کنسول Firebase بررسی و تحلیل می کنید. نظارت بر عملکرد به شما کمک می کند تا متوجه شوید که عملکرد برنامه شما کجا و در چه زمانی می تواند بهبود یابد. یک امکان برای customize کردن این بخش وجود دارد با عنوان custom monitoring.custom monitoring: با اضافه کردن custom traces می توانیم بررسی کنیم که یک task یا مجموعه ای از تسک های خاص در چه مدت زمانی انجام می شود. مثلا زمانی که برای واکشی اطلاعات از پایگاه داده صرف می شود یا لود مثلا لیست پکیج ها. برای هر custom trace می توان معیاری مشخص کرد. معیار پیش فرض، مدت زمان اجرای تسک می باشد ولی می توان معیارهای مختلفی را اضافه کرد مثلا میزان استفاده از کش یا حافظه.HTTP/S network request traces: گزارش استفاده از API ها یا به طور کلی زمان اتصال اپ به سرور آنلاین ( زمانی که اپ شما درخواستی را به سرور ارسال میکند تا جواب به طور کامل باز میگردد ) را نگهداری میکند. این امکان سه معیار کلی دارد:Response time: از زمان ارسال درخواست تا دریافت کامل جواب از سرورPayload size: حجم دانلود و آپلود در هر درخواستSuccess rate: درصد موفقیت نتایج صحیح نسبت به کل درخواست ها Attribute:جدول زیر پیش فرض های دو نوع trace تعریف شده ی بالا را نمایش میدهد:می توان به لیست attribute های بالا ، مشخصات بیشتری اضافه کرد. در حقیقت می توانید یک custom trace تعریف کنید و برای آن، مشخصات خاصی به لیست مشخصات پیش فرض اضافه نمایید. بطور مثال در یک بازی، سطح یا امتیاز کاربر به عنوان یک مشخصه ارسال شود. چند نکته برای تعریف custom attribute حائز اهمیت است:از اطلاعات شخصی کاربر نمیتوانید استفاده کنید مثل نام، ایمیل یا شماره تلفن.حداکثر 5 attribute برای هر trace می توانید اضافه کنید.برای نام گذاری نباید از space یا _ استفاده نمایید.جمع بندی: مجموع اطلاعاتی که فایربیس به صورت پیش فرض در اختیار قرار میدهد به شرح زیر می باشد:General device information, such as model, OS, and orientationRAM and disk sizeCPU usageCarrier (based on Mobile Country and Network Code)Radio/Network information (for example, WiFi, LTE, 3G)Country (based on IP address)Locale/languageApp versionApp foreground or background stateApp package nameAn pseudonymous app-instance identifierNetwork URLs (not including URL parameters or payload content) and the following corresponding information:Response codes (for example, 403, 200)Payload size in bytesResponse timesDuration times for automated tracesTest Lab:یک زیرساخت ابری برای تست اپ می باشد. با یک عمل ، می توانید برنامه Android یا iOS خود را در طیف گسترده ای از دستگاه ها و تنظیمات مختلف آزمایش کنید و نتایج آن مثل گزارش ها ، فیلم ها و عکس های موجود برای هر صفحه را در کنسول Firebase مشاهده کنید.In-App messaging:پیام رسانی درون برنامه Firebase به شما کمک می کند تا با ارسال پیام های متنی و غیر متنی، کاربران فعال خود را به استفاده از ویژگی های اصلی برنامه تشویق کنید. به عنوان مثال ، می توانید یک پیام درون برنامه ارسال کنید تا کاربران بتوانند اشتراک خریداری و یک فیلم تماشا کنند ، یک دیتایی را تکمیل یا یک محصول را خریداری کنند. می توانید پیام ها را به عنوان کارت ، بنر یا تصویر تنظیم کنید که دقیقاً در زمانی که بیشترین سود را برای کاربران شما دارند ، ظاهر شوند.Google analytics:گوگل آنالیتیکس قلب Firebase است. یک ابزار رایگان و نامحدود برای آنالیز. Analytics در میان ویژگی های Firebase ادغام شده و گزارش نامحدودی را برای حداکثر 500 رویداد مجزا ارائه می دهد که می توانید با استفاده از SDK در اپ خود تعریف کنید. گزارش های Analytics به شما کمک می کند تا بطور واضح و روشن نحوه رفتار کاربران خود را درک کنید. این امر باعث می شود تصمیم گیری آگاهانه ای درباره بازاریابی برنامه ها و بهینه سازی عملکرد اپ خود انجام دهید.Predictions:پیش بینی های Firebase با یادگیری و تجزیه و تحلیل داده های ارسالی از اپ شما انجام می شود، تا بر اساس پیش بینی رفتار کاربران ، کاربران فعال ایجاد کند. این پیش بینی ها به طور خودکار با Firebase Remote Config و Notifications و Firebase In-App Messaging و A / B Testing در تعامل هستند.استفاده این بخش از Remote Config، بر اساس تجربه های گذشته و پیش بینی ها انجام شده، تغییراتی در ظاهر و رفتار اپ ایجاد میکند.می توانید از پیش بینی های انجام شده از بخش Notifications برای ارسال پیام یا کمپین های تکرار شونده استفاده کنید. به عنوان مثال ، می توانید به طور خودکار اعلانی را برای کاربرانی که پیش بینی می شود از اپ شما استفاده نکنند، ارسال کنید.با A / B Testing می توانید اثربخشی کمپین های برگزار شده و یا نتیجه ی تغییر در رفتار و ظاهر اپ را مشاهده کرد.A/B Testing:با تحلیل اجرای اپ، تحلیل و مقیاس محصول و آزمایش های بازاریابی، به بهینه سازی اپ شما کمک میکند. این امکان را به شما می دهد تا تغییرات رابط کاربری UI ، ویژگی ها یا کمپین های برنامه خود را آزمایش کنید تا بتوانید ببینید نتیجه ای داشته یا نه؟Cloud Messaging:ارسال push notification به یک یا چند کلاینت، بدون هیچگونه هزینه از امکانات این بخش می باشد.Remote config:این امکان یک سرویس ابری است که به شما امکان می دهد بدون بروز رسانی اپ توسط کاربران، رفتار و ظاهر برنامه خود را تغییر دهید. هنگام استفاده از Remote Config، مقادیر پیش فرض درون برنامه ایجاد می کنید که رفتار و ظاهر برنامه شما را کنترل می کند. سپس می توانید از کنسول Firebase یا API های Remote Config استفاده کنید تا مقادیر پیش فرضی که ایجاد شده است را برای همه یا بخشی از کاربران تغییر دهید. برنامه شما تغییرات را کنترل، بررسی و آنها را با تأثیر ناچیز در عملکرد، اعمال می کند.Dynamic Links:مدیریت Deep link ها و هدایت شدن لینک ها برای باز شدن یا نصب شدن (هدایت شدن به سمت App Store) اپ تعریف شده را بر عهده دارد.به صاحبان کسب و کارهای کوچک پیشنهاد میدهم قبل از آنکه شتابزده به دنبال تیمهای بزرگ برای پیاده سازی ایده ها خود باشند، با هزینه های کمتر به صورت آزمایشی از نتیجه ی ایده های خود به صورت عملیاتی مطمئن شوند.و به صاحبان کسب و کارهای بزرگ پیشنهاد میدهم با استفاده از این ابزار و ابزارهای دیگر برای تحلیل رفتار کاربر، بهبود راه های تعامل با کاربر و خدمات رسانی کم نقص، وقت بیشتری بگذارند و تمام تمرکز خود را بر روی فروش محصولات خود قرار ندهند.