Laravel Mobile Pass: پاسهای Apple Wallet و Google Wallet بساز!
خلاصهٔ کاملتر
اگه تا حالا دنبال راهی بودی که توی پروژههای لاراولت پاسهای دیجیتال برای Apple Wallet یا Google Wallet بسازی، خبر خوبی هست. تیم Spatie در همکاری با Dan Johnson یه پکیج جدید به اسم Laravel Mobile Pass منتشر کرده که این کار رو خیلی راحت میکنه.
این پکیج یه API یکپارچه داره که هم برای اپل و هم برای گوگل با یه سبک مشابه کار میکنه. یعنی دیگه لازم نیست برای هر پلتفرم یه منطق کاملاً جداگانه بنویسی؛ Builder Pattern یکسانی داری که فقط جزئیات کوچیکی بینشون فرق داره.
انواع پاسی که میشه باهاش ساخت شامل بلیت رویداد، کارت پرواز، بلیت قطار و اتوبوس، کوپن تخفیف، استور کارت، کارت عضویت و کارت هدیهست. یعنی تقریباً هر سناریویی که به پاس دیجیتال نیاز داشته باشه رو پوشش میده.
یکی از ویژگیهای خوب این پکیج اینه که متد save() یه مدل Eloquent برمیگردونه که اینترفیس Responsable لاراول رو پیادهسازی کرده. یعنی میتونی مستقیم اون رو از کنترلر return بدی و پکیج خودش تشخیص میده که برای iOS باید فایل pkpass بفرسته یا برای اندروید به Google Wallet ریدایرکت کنه.
قابلیت آپدیت زنده هم یکی از بخشهای جذاب ماجراست. بعد از اینکه کاربر پاسش رو روی گوشیش نصب کرد، میتونی اطلاعاتش رو تغییر بدی. مثلاً شماره صندلی رو عوض کنی و یه پیام نوتیفیکیشن هم بفرستی که «صندلیت تغییر کرد». این آپدیتها از طریق یه Job پخش میشن که بهصورت پیشفرض همزمان اجرا میشه، ولی میتونی با تنظیم یه متغیر محیطی اونا رو روی Queue بفرستی.
برای Google Wallet یه مرحله اضافهتر هم وجود داره و اون اینه که باید اول یه Class تعریف کنی که نقش یه قالب قابل استفاده مجدد رو داره. بعد پاسهای جداگانه از روی اون Class ساخته میشن. این روش باعث میشه مدیریت انبوه پاسها راحتتر باشه.
Spatie یه دمو زنده هم آماده کرده که میتونی باهاش همه نوع پاس رو بسازی، روی iPhone نصب کنی و آپدیت زنده رو هم تست کنی. سورس کد دمو هم در دسترسه تا بفهمی چطور باید پکیج رو راهاندازی کرد.
نکات کلیدی:
- پکیج رسمی Spatie برای ساخت پاس دیجیتال در لاراول
- پشتیبانی از Apple Wallet و Google Wallet با یه API یکپارچه
- انواع پاس: بلیت رویداد، کارت پرواز، کوپن، کارت عضویت، استور کارت و کارت هدیه
- قابلیت آپدیت زنده پاسهای نصبشده روی گوشی کاربر همراه با نوتیفیکیشن
- پشتیبانی از Queue برای ارسال آپدیتها
- مدل Eloquent با Responsable برای ارسال خودکار فرمت درست به هر پلتفرم
- دمو زنده با سورس کد آزاد برای شروع سریع




