در این مطلب قصد داریم در مورد وب سرویس پوشه توضیح دهیم.
نوتیفیکیشن چیست؟
نوتیفیکیشن یا همان پوش نوتیفیکیشن، یک راه ارتباطی بین مالک اپلیکیشن موبایل یا وب با کاربرانش است. نوتیفیکیشن این اجازه را میدهد که صاحب اپلیکیشن خبر یا اتفاقی جدید را به کاربران خود برساند حتی اگر در آن هنگام کاربر در حال استفاده از اپلیکیشن نباشد(وب سرویس پوشه).
برای مثال توسعه دهنده می خواهد به کاربران خود بگوید که اپلیکیشن را آپدیت کنند یا او می تواند به راحتی از طریق نوتیفیکیشن این اطلاع را به کاربران خود بدهد و همچنین لینک آپدیت را در آن قرار دهد.
یکی دیگر از کاربردهای نوتیفیکیشن، استفاده از آن برای تغییر مقداری در اپلیکیشن است. به طور مثال شما یک اپلیکیشن بازی دارید و می خواهید به مناسبتی به کاربران خود ستاره هدیه بدهید. برای این کار میتوایند در آن تاریخ نوتیفیکیشنی به کاربران خود ارسال کنید که در آن از طریق استفاده از json دلخواه متغیری در اپلیکیشن خود را مقدار دهی کنید.
پوشه چیست؟
پوشه یک سرویس ارسال پوش نوتیفیکیشن برای نرم افزارهای موبایل و وب است. کسبوکارها و توسعهدهندگان موبایل و وب به هنگام نوشتن برنامه، ازSDK پوشه در نرم افزار خودشان استفاده میکنند تا از طریق آن نرخ بازگشت و میزان درگیر شدن کاربرانشان با برنامه را افزایش دهند و از آمار و فیلترهایی که پوشه در اختیارشان قرار میدهد برای بهبود برنامه و افزایش رضایت کاربران بهره ببرند.
توسعهدهندگان میتوانند ارسال پوش نوتیفیکیشن را از طریق APIهای پوشه نیز انجام دهند.
آیا میتوانم از پوشه در اپلیکیشنهای مختلف استفاده کنم؟
بله. امکان اضافه کردن هر تعداد اپلیکیشن و ارسال همزمان یک اعلان به هر تعداد از آنها در پوشه وجود دارد.
آیا پوشه از GCM استفاده میکند؟
بله. پوشه از بستر Google Cloud Messaging برای ارسال و دریافت پوش استفاده می کند.
آیا میتوان از پوشه همراه با وانسیگنال، ادجاست، فایربیس و دیگر سرویسهای گوگل مانند آنالیتیکز استفاده کرده؟
بله. در صورتی که از دیگر کتابخانههای گوگل پلی در اپلیکیشن خود استفاده میکنید، باید دقت کنید که نسخهی آنها مطابق با نسخهی کتابخانههای پوشه باشد. اگر نسخهی پوشه بالاتر بود، کتابخانهی خود را به نسخه 11.8.0 ارتقا دهید و اگر نسخهی دیگر کتابخانههای شما بالاتر بود، نسخه کتابخانههای پوشه را ارتقا دهید.
آیا پوشه برای کاربران برنامهی ما تبلیغ ارسال میکند؟
خیر، پوشه صرفا بستری برای ارسال پوش نوتیفیکیشن است و فعالیت تبلیغاتی ندارد. همچنین بر اساس قوانین پوشه، ما هیچ گونه استفادهی تبلیغاتیای از کاربران شما نمیتوانیم داشته باشیم.
شرایط استفاده و حریم خصوصی در پوشه چیست؟
اطلاعات و امنیت شما برای ما بسیار اهمیت دارد به همین دلیل قوانین جامع و واضحی را تنظیم کردیم که میتوانید شرایط استفاده از پوشه برای ارسال پوشنوتیفیکیشن و حریم خصوصی در پوشه را مطالعه کنید تا با شناخت بهتر و امنیت خاطر بیشتری نسبت به ما همکاری کنیم.
قیمتگذاری
آیا استفادهی رایگان از پوشه محدودیت دارد؟
پوشه برای استفادهی رایگان برنامهنویسان با هر تعداد کاربر اپلیکیشن محدودیتی قائل نمی شود. هراندازه تعداد کاربرانتان زیاد شود باز هم میتوانید از پوشه به رایگان استفاده کنید. تنها محدودیت استفادهی رایگان از پوشه، تعداد ارسال روزانهی پوش به کاربران است. در صورتی که روزانه حداکثر دوبرابر تعداد کاربران اپلیکیشنتان پوش ارسال میکنید، پوشه سرویس رایگان در اختیارتان میگذارد. برای مثال اگر اپلیکیشن شما ۱۰۰.۰۰۰ کاربر دارد روزانه حداکثر ۲۰۰.۰۰۰ پوش میتوانید ارسال کنید. درصورتی که بیش از این تعداد ارسال روزانه دارید لازم است به سرویس حرفهای منتقل شوید و به ازای هر پوش (غیر تستی و غیر تراکنشی) هزینهی آن را پرداخت کنید.
منظور از پیام ارسالی به مخاطب دردسترس ماهیانه چیست؟
در کنسول جدید دیگر نصب و کاربر فعال وجود ندارد و تنها نصب و کاربر در دسترس ماهیانه وجود دارد که در طرح حرفهای به ازای هر پیامی که به این مخاطبین ارسال کنید ۲ ریال پرداخت می کنید دقت کنید میزان دریافت پوش بسیار نزدیک تر به عدد دردسترس ماهانه است. یعنی بیش از ۸۰ ۹۰ در صد از ارسالهای شما توسط مخاطبانتان دریافت میشود. در حالی که پیش از این میتوانست برای بیشتر پنل هایی که در طرح حرفهای قرار میگیرند، فقط حدود ۳۰ تا ۵۰ درصد ارسال به مخاطب فعال، دریافتی وجود داشته باشد. پس قیمتگذاری با مخاطب دردسترس ماهانه شباهت زیادی به دریافتیها دارد و این مسئله در نظر گرفته شدهاست.
آیا تمام پوشهایی که در سرویس حرفهای و تجاری ارسال میکنیم دارای هزینه هستند؟
خیر. در صورتی که در دورهی آزمایشی باشید، یا تعداد کاربران اپلیکیشنتان کمتر از ۱۰۰۰ نفر باشد (در فاز توسعه هستید)، یا از Rapid API برای پیادهسازی ارتباط بکاند برنامهتان با کاربران استفاده کرده باشید (پوش تراکنشی) یا از طریق پنل پوش تستی ارسال میکنید، پوشهای شما رایگان هستند. در صورتی که از طریق پنل پوش ارسال کرده یا از API پیشرفته استفاده میکنید، به ازای هر پوش هزینهی آن از اعتبار شما کسر خواهد شد.
تفاوت پوش تراکنشی و پروموشنال چیست؟
مورد اصلی که بین این دو نوع پوش تمایز ایجاد میکند، علت استفاده از آنهاست. پوشهای تراکنشی به پیامهایی گفته میشود که ارسال آنها به کاربر برای کارکرد صحیح برنامه لازم است. برای مثال اگر میخواهید به اطلاع مسافر برسانید که رانندهی تاکسی به مبدا او رسیدهاست، یک پوش تراکنشی برای او میفرستید. اما پوشهای پروموشنال برای اطلاع رسانی انواع تخفیفها، پیشنهادهای ویژه، ترغیب کاربران به انجام هدفهایی که برای رشد کسب و کار لازم است (مانند خرید کردن) و … کاربرد دارد. در پوشه شما میتوانید پوشهای تراکنشی را از طریق Rapid API پیادهسازی کنید. این پوشها برای تمام سرویسها «رایگان» است. امکان دستهبندی کاربران با فیلترها در پوشهای Rapid API وجود ندارد و هیچ آماری هم از این پوشها ارائه نخواهد شد. بنابراین در صورتی که نیاز به فیلتر مخاطب یا آمار پوش دارید از API پیشرفتهی پوشه استفاده کنید که به طور معمول برای پوشهای پروموشنال استفاده دارد.
آیا امکان تست رایگان سرویسها وجود دارد؟ چه محدودیت هایی دارد؟
بله. شما میتوانید ۱۴ روز به صورت رایگان از سرویس حرفهای استفاده کنید. برای استفاده از سرویس تجاری نیز میتوانید با ما تماس بگیرید. در حین استفاده از دورههای آزمایشی رایگان، امکان انتقال اپلیکیشن وجود نخواهد داشت.
آیا میتوان نوع سرویس انتخابی را تغییر داد؟
بله. زمانی که وارد یک نوع سرویس میشوید باید دست کم به مدت یک ماه در آن بمانید. پس از آن هر زمان که بخواهید میتوانید از طریق حساب کاربریتان بین تمام سرویس ها جابهجا شوید. در صورتی که از سرویسهای پولی به رایگان منتقل شوید و هنوز اعتبار داشته باشید، این اعتبار در حساب شما باقی میماند تا هر زمان که سرویس پولی را انتخاب کردید از آن استفاده کنید.
چگونه میتوانم هزینهی استفادهام را پرداخت کنم؟
در حال حاضر تنها راه برای پرداخت هزینه، شارژ کردن اعتبار حساب پیش از ارسال پوش نوتیفیکیشن است. پرداخت شما از طریق درگاه معتبر بانک انجام میگیرد و سوابق تراکنشها در بخش امور مالی از حساب کاربریتان قابل دسترس است. در صورتی که تمایل داشته باشید و مشخصات مربوط را وارد کنید، فاکتور معتبر نیز برایتان صادر میشود.
آنالیتیکس و ارسال
«تمام نصبها» چگونه محاسبه میشود؟
زمانی که اپلیکیشن شما (که حاوی کد SDK پوشه است) روی موبایل شما و یا کاربرانتان نصب میشود، یک درخواست ثبتنام (registration) برای سرور پوشه ارسال میشود. زمانی که پیام ثبتنام موفقیتآمیز (Successfully registered to pushe) را در لاگکت مشاهده میکنید،نصب کاربر شما در پنل پوشه قرار میگیرد و در آمار تمامی نصبها قرار داده میشود. توجه داشته باشید که برای موفقیت این عملیات لازم است که کاربر شما برنامهی google play service را بر روی دستگاه خود نصب داشته باشد که بر اساس آمارهای ما حدود 10 درصد کاربران ممکن است این برنامه را نداشته باشند. از آنجایی که در بعضی شرایط ممکن است خود سیستم گوگلپلی دچار اختلالات موقتی شود و یا مشکلی در سرویس اینترنت ایجاد شود که باعث شود نصب کاربر به سرور پوشه نرسد، ما هر ساعت عملیات نصب را تکرار میکنیم تا مطمئن شویم نصب شما در پنل پوشه قرار گرفته است. توجه داشته باشید که در این آمار اگر یک دستگاه بیش از یکی از اپلیکیشنهای شما را بر روی دستگاه خود نصب کرده باشد، ۲ بار شمرده میشود.
نصب دردسترس به چه معناست؟
نصب دردسترس نصبی است که اپلیکیشن شما را روی گوشی دارد و در یک ماه اخیر با سرور پوشه در ارتباط بوده است.
آمار کاربران دردسترس چیست؟
کاربر دردسترس تعداد دستگاههایی که یک اپلیکیشن از اپلیکیشنهای شما را دارا هستند و در یک ماه اخیر با سرورهای پوشه تراکنش داشتهاند را نشان میدهد.
چرا با این که درحال نصب گرفتن هستم، در طول روز تعداد نصبهای برنامه من زیاد نمیشود؟
آمار نصب در پوشه به صورت روزانه محاسبه و بهروز میشوند. به همین خاطر آخرین تاریخی که شما در نمودارهای مشاهده کنید تاریخ دیروز است؛ در حقیقت آمار نصبهای هر روز در روز بعدی قابل مشاهده خواهند بود.
چرا آمار نصب من در پوشه با کافه بازار و وان سیگنال متفاوت است؟
پس از اینکه شما sdk پوشه را در اپلیکیشنتان قرار بدید و کاربران آن را نصب کنند، هر کاربری که برنامه را نصب کند، در صفحه نصبها اضافه میشود. اما توجه داشته باشید که پوشه نصبهایی را که برنامهی Google Play Service بر روی دستگاه کاربر شما قرار داشته باشد،تشخیص میدهد. یکی از اصلیترین تفاوتهای آماری ما با کافه بازار امکان تشخیص نصب کافه بازار بدون نیاز به وجود Google Play Service بر روی دستگاه کاربر است و این تفاوت به دلیل تفاوت ماهیتی ما با کافه بازار است. آمارهای ما نشان میدهد که در حدود 10 درصد کاربران اندروید در ایران، Google Play Service را نصب ندارند،همین تفاوت باعث بوجود آمدن یک اختلاف اولیه 10 درصدی بین نصب های فعال کافه بازار و کاربران در دسترس پوشه میشود.
تفاوت بعدی در زمان بررسی در دسترس بودن کاربران است. کافه بازار کاربر فعال را بر اساس آنلاین بودن کاربر در دو ماه اخیر حساب میکند اما در پوشه اگر کاربر طی چهارده روز با سرورها تراکنش داشته باشد، کاربر در دسترس در نظر گرفته میشود و در غیر اینصورت از کاربران در دسترس، تا هر موقع که تراکنش جدیدی از آن دریافت شود، خارج می شود.
نکته آخر در وجود اختلاف مابین کافه بازار و پوشه این است که اگر یک اپلیکیشن بر روی یک گوشی تلفن همراه نصب شود، فارغ از اینکه توسط کاربر اپلیکیشن حداقل یک بار باز شود یا نه، کافه بازار درصورت اتصال دستگاه به اینترنت آن را یک نصب جدید محسوب میکند. اما در پوشه تنها زمانی که اپلیکیشن برای اولین بار توسط کاربر باز شود و بعد از آن نیز حداقل یک بار به اینترنت متصل گردد، نصب جدید در پوشه لحاظ میشود. از طرف دیگر حتی این احتمال وجود دارد که اپلیکیشن بعد از باز شدن دچار خطا شود که در این صورت نیز در آمار پوشه نخواهد آمد. برای مثال شما در نظر بگیرید که اپلیکیشن شما بر روی برخی آندرویدهای ورژن ۴.۲.۲ دچار اختلال شده و کتابخانه پوشه اصلا initialize نشده است. فلذا این نصب در نمودار شما وجود نخواهد داشت.
پوشه روی گوشی هایی که گوگل پلی سرویس را نصب نداشته باشند یا نسخه ی گوگل پلی سرویس آنها کمتر از ۳ باشد اجرا نمی شود. همچنین حداقل نسخه ی اندروید برای اجرای پوشه، اندروید ورژن ۲.۳ یا API ی ۹ هست. با توجه به اینکه گوشی هایی با اندروید کاستوم یا رام های genymotion و مشابه آن بصورت پیش فرض گوگل پلی سرویس را ندارند یا نسخه های گوگل پلی سرویس آنها بصورت جداگانه نصب شده و ممکن است یک نسخه ی سازگار نباشد، تا حدی اختلاف (حدود ۱۰ درصد) بین آمار نصب فعال شما در پنل پوشه و کافه بازار طبیعی است. بنابراین علاوه بر کاربرانی که گوگل پلی سرویس ندارند،بدلیل همهی موارد ذکر شده ممکن است آمار پوشه کمتر از آمار کافه بازار باشد.
چرا تعداد کاربران من پس از ارسال کم میشود؟
برخی از کاربران شما هستند که پس از نصب اپلیکیشن شما، اون رو حذف میکنند. ما در دو زمان تعداد کاربران حذف شده رو شمارش می کنیم:
- زمانی که شما یک اعلان به همه کاربران ارسال می کنید و ما متوجه می شویم که چه تعدادی از آنها اپ رو حذف کرده اند
- شب ها ما کاربرانی که اپ شما را حذف کرده اند را از نصب های شما کم می کنیم
من همه کاری انجام دادهام، ولی هیچ نصبی در پنل نیامده است.
برای رفع این مشکل لازم است که ابتدا مطمئن شوید اپلیکیشن شما خطایی ندارد. برای این امر، به هنگام اجرا کردن اپلیشکن پنجره لاگ کت رو بررسی کنید و اگر خطایی داشت آن را رفع کنید. و اگر خطایی نداشت موارد زیر را بررسی کنید:
- تابع
()Pushe.initialize
را در یک اکتیویتی مناسب قرار داده باشید - توکنی که در منیفست قرار داده اید همان توکنی باشد که پنل برای این اپلیکشن در اختیار شما قرار داده است (هر اپلیکیشن یک توکن مربوط به خود دارد)
- پکیج نیمی که در پنل ثبت کرده اید دقیقا برابر با پکیج نیمی باشد که در اپلیکیشن خود استفاده می کنید
چرا در اپهای قدیمیام، نرخ دلیوری کاهش پیدا میکند؟
اگر اپ خود را مدت زیادی است که ریلیز کرده اید و اپی است که کاربر ممکن است مدت طولانی آن را باز نکند، به علت غیرفعال بودن اپ این حالت می تواند پیش بیاید که چون اپ مدت زیادی استفاده نشده است، سرویس های آن توسط سیستم عامل بسته شوند. در نسخه های ۱.۰.۰ به بعد، راهکارهایی برای جلوگیری از این مسئله پیاده سازی شده است اما در نسخه های قدیمی تر این موضوع وجود دارد. اگر از نسخه های قدیمی تر پوشه استفاده می کنید، پیشنهاد می کنیم که اپ خود را با جدیدترین نسخه پوشه بروزرسانی کنید.
آیا میتوان اپلیکیشن را در امولاتور اجرا کرد؟
از آنجا که اجرای اپلیکیشن حاوی کتابخانه پوشه نیازمند Google Play Services است، توصیه می شود اپلیکیشن را بر روی موبایل یا تلبت اجرا و تست کنید. اگر می خواهید اپلیکیشن را بر روی Emulator تست کنید، بر روی ایمولاتور شما باید Google API نصب باشد.
آیا نوتیفیکیشن فقط به کاربرانی که جیمیل داشتهباشند ارسال میشه؟
اگر منظور این است که کاربر حتما باید با اکانت گوگل داشته باشند و در گوشی خود وارد شده باشند، خیر اینگونه نیست و فقط اگر گوگل پلی سرویس داشته باشه کفایت میکند.
پوش تاپیک چیست؟
تاپیک یا تگ برای دسته بندی کاربران شما صورت میگیرد تا بتوانید پیامها را بر اساس علاقمندی آنها ارسال کنید. برای استفاده از این امکان لازم است تا شما راهکارهایی را برای عضویت افراد در دسته هایی که تعریف می کنید، در اپلیکیشن خود قرار دهید. در کتابخانه پوشه دو تابع برای عضویت و لغو عضویت در تاپیک ها وجود دارد. برای عضو کردن کاربری در یک دسته یا تاپیک میتوانید از تابع عضویت استفاده کنید:Pushe.subscribe("Topic_Name")
و برای لغو عضویت یک کاربر از یک تاپیک از این تابع استفاده کنید: Pushe.unsubscribe("Topic_name")
کلام آخر :
امیدوارم که به خوبی با وب سرویس پوشه آشنا شده باشید.