امکان ورود و ثبت‌نام در اپلیکیشن بدون نیاز به سرور ، با فایربیس

استاندارد

یکی دیگه از امکانات خیلی خوب و مفید پلتفرم فایربیس امکان انجام احراز هویت و ورود و ثبت‌نامه . این قابلیت به شما این امکان رو میده که بدون داشتن دغدغه پیاده‌سازی وب سرویس ، عملیات ورود و ثبت‌نام  رو برای اپلیکیشنتون پیاده‌سازی کنید . با کمک اینکار شما فقط کافیه تمرکز خودتون رو معطوف به پیاده‌سازی کلاینت کنید .
اما از معایب این سرویس هم باید گفت ، بزرگترین مشکل این سرویس برای ما ایرانی‌ها ست (مثل همیشه !!!) و اون مشکل اجازه ندادن ‌فایربیس برای استفاده از این سرویس در داخل ایرانه . یعنی اگه شما اپلیکیشنتون رو برای کاربران داخل ایران توسعه بدید و اگه کاربرانتون با ip های داخلی بخوان از سرویس‌های احراز هویت شما که توسط فایربیس پیاده شده استفاده کنند به مشکل بر میخورند . ولی خب اگه میخواید اپلیکیشنی با کاربر‌های هدف غیر ایرانی داشته باشید این مشکل بی معنی خواهد بود.
در ادامه روند پست قبل رو دنبال میکنیم و برای آشنایی با این سرویس یک مثال از اون رو با هم پیاده میکنیم . کاری که میخوایم در ادامه انجام بدیم ساخت یک اپلیکیشن با فرم‌های ورود ، ثبت‌نام و فراموشی رمزعبورر هست ، و برای انجام این عملیات‌ قصد داریم از سرویس‌هایی که فایربیس در اختیارمون میذاره استفاده کنیم .
فایربیس در سرویس احراز هویتش به ما علاوه بر امکان ثبت‌نام و ورود از طریق ‌ایمیل و پسورد ، امکان استفاده از حساب‌ کاربری شبکه‌های اجتماعی رو هم میده . حساب‌‌های کاربریی مثل فیسبوک ، توییتر ، گیت‌‌هاب ، گوگل .در صورت موفقیت آمیز بودن ورود ، شما به اطلاعات پایه کاربرتون دسترسی خواهید داشت .
عملکرد فایربیس به این صورته که در ابتدا شما اطلاعات مربوط به ورود یا ثبت‌نام رو از کاربر میگیرید و اون‌ها رو به Firebase Authentication SDK میفرسیتد و منتظر میمونید تا بعد از برسی و احراز هویت توسط فایربیس ، داخل اپلیکیشن پاسخ این برسی رو دریافت کنید .
در این مثال ما قصد داریم امکان ثبت‌نام و ورود از طریق ‌ایمیل و پسورد رو برای کاربرمون قرار بدیم .

مرحله اول

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

مرحله دوم

وارد پنل فایربیس بشید و به صفحه مربوط به Auth برید و مطابق تصاویر زیر عمل کنید .
auth firebase tut1
Screen Shot 2016-08-11 at 3.54.54 PM
Screen Shot 2016-08-11 at 4.05.00 PMحالا میتونیم بریم سراغ پیاده‌سازی اپلیکیشنمون . به خواندن ادامه دهید

ارسال نوتیفیکیشن از طریق فایربیس با مثال

استاندارد

تو پست قبل درباره امکانات فایربیس کمی توضیح دادم ، حالا وقتشه با هم ببینیم چطور میتونیم از این قاببلیت‌های باحال توی پروژه‌هامون استفاده کنیم . در ادامه باهم خواهیم دید که چطور میتونیم به ساده‌ترین شکل ممکن از فایربیس برای ارسال نوتیفیکیشن به کاربرانمون استفاده کنیم .
بیاید اول با هم روند انجام کار رو برسی کنیم . اولین مرحله ثبت‌نام در فایربیس و ثبت پروژه‌مون داخل پنلش هست . در مرحله بعد یک پروژه خواهیم ساخت و با استفاده از کتابخونه‌های فایربیس کلاسی برای دریافت Token و همینطور کلاسی برای دریافت نوتیفیکیشن‌ها و نمایش اون‌ها خواهیم ساخت . این کلاس دو مدل نوتیفیکیشن رو نمایش خواهد داد . مدل اول مدل ساده که فقط شامل یک متن و یک توضیح هست و مدل دوم که شامل یک لینک هست .  درصورتی که اپلیکیشن در حال اجرا و در حالت foreground بود با کلیک بر روی نوتیفیکیشن لینکی که ما مد نظرمون بوده باز خواهد شد اما اگر برنامه بسته بود یا در background بود با کلیک روی نتیفیکیشن activity اصلی پروژه باز شده و لینک مورد نظر نمایش داده میشه . و بعد از انجام تمام این مراحل میریم سراغ پنل فایربیس و شروع میکنیم به ارسال نوتیفیکیشن .
متاستفانه در نسخه کنونی فایربیس ، در ارسال نوتیفیکیشن از طریق پنل این مشکل وجود داره که وقتی اپلیکیشن شما درحالت اجرا و foreground نیست شما امکان تغیر و شخصی سازی نوتیفیکیشن نمایش داده شده رو ندارید . در این حالت نوتیفیکیشن توسط کلاس‌های خود فایربیس ساخته خواهد شد و دیگر اطلاعات ارسال شده همراه نوتیفیکیشن از طریق activity ای که از طریق کلیک بر روی نوتیفیکیشن باز خواهد شد قابل دسترسی هست .

مرحله اول

ابتدا از طریق این آدرس وارد پنل فایربیس بشید . بعد از اون یک پروژه تست بسازید ، مطابق تصاویر زیر .

بعد از این مرحله و کلیک رو دکمه ADD APP ، فایلی با فرمت json به اسم google-services شروع به دانلود میشه . این فایل شامل اطلاعاتی از اپلیکیشنتون هست که کتابخونه فایربیس به اونها احتیاج داره . به خواندن ادامه دهید