ماژول HMS پوشه
مقدمه
همانطور که میدانیم پوشه برای ارسال نوتیفیکیشن به دستگاه اندرویدی از Firebase (Google play services) استفاده میکند.
مدتیست برخی برندها همچون هواوی به دلیل تحریم توسط گوگل دیگر امکان استفاده از Google services را ندارند.
با توجه به اینکه Google play services در این گوشیها وجود ندارد، فایربیس نیز کار نخواهد کرد و امکان ارسال پوش از طریق پوشه با استفاده از فایربیس به این دستگاهها ممکن نخواهد بود.
HMS
هواوی از سرویسی به نام HMS (Huawei mobile services) برای رفع این کمبود استفاده میکند. مجموعهی HMS دارای سرویسی به نام PushKit است که مشابه Firebase cloud messaging مسئولیت ارسال پوشنوتیفیکیشن به دستگاه را بر عهده دارد.
note
لایبرری پوشه در نسخهی ۲.۳.۰ سرویس ارسال نوتیفیکیشن فایربیس را بعنوان یک ماژول جدا استفاده میکند (pushe:fcm).
در نسخهی
۲.۴.۰
نیز ماژول جدیدی به نام
hms
به مجموعه اضافهشد. این ماژول مسئولیت ارسال پوشه به دستگاههایی که
GPlay
ندارند اما در عوض
HMS Core (مشابه Google play services برای HMS)
دارند، را بعهده دارد.
نحوهی کار Hms و Fcm
پوشه هنگام رجیستر وجود Google play services و Hms Core را بررسی کرده و هر کدام که ممکن باشد بعنوان سرویس دریافت پوشنوتیفیکیشن استفاده خواهد شد. (در صورتی که هردو موجود باشند، اولویت قابل تغییر است و پیشفرض با fcm خواهد بود)
از نسخهی
2.5.1
به بعد ماژول
hms
اختیاریست و برای رفع خطای توابع آن بایستی آنرا به پروژه اضافه کنید
dependencies {
implementation("co.pushe.plus:hms:2.5.1")
}