اگر برای فروشگاه خود اپلیکیشن دارید، بخشی از اطلاعات آن مانند راههای تماس، رنگهای برند و پیوند دریافت نسخه جدید را میتوانید از داخل جم پک مدیریت کنید. برای اطلاعرسانی سفارشها نیز میتوانید به Firebase متصل شوید و اعلان پوش، یعنی پیام نمایشدادهشده توسط اپ روی گوشی، ارسال کنید.
این بخش اپلیکیشن نمیسازد و فایل نصب تولید نمیکند. اپ باید از قبل آماده باشد و توسعهدهنده، ارتباط آن با مسیرهای جم پک را پیادهسازی کرده باشد. ذخیره تنظیمات در سایت، بهتنهایی تضمین نمیکند که هر اپلیکیشنی آنها را بخواند یا نمایش دهد.
در این راهنما ابتدا ارتباط و تنظیمات عمومی را بررسی میکنیم، سپس سراغ بهروزرسانی و اعلانها میرویم. آزمون نخست را روی حساب و گوشی آزمایشی انجام دهید، نه با ارسال پیام به همه کاربران.
هر بخش چه کاری انجام میدهد؟
در بخش «اتصال اپ موبایل» با سه قسمت اصلی سروکار دارید:
| بخش | کاربرد |
|---|---|
| تنظیمات برنامه | آمادهکردن رنگهای برند، اطلاعات تماس، نشانی فروشگاه و پیوندهای عمومی برای دریافت توسط اپ |
| بروزرسانی برنامه | اعلام کد نسخه منتشرشده، حداقل کد نسخه پشتیبانیشده، پیام تغییرات و پیوند فروشگاههای اپ |
| اعلانهای پوش | تنظیم اتصال Firebase و ارسال اعلان آزمایشی، سفارشی و مرتبط با سفارش |
ذخیره پیوند دریافت برنامه، اپ را در فروشگاهها منتشر نمیکند. برای دریافت اعلان هم گوشی مشتری باید جداگانه ثبت شود.
۱. ارتباط اپلیکیشن با فروشگاه را مشخص کنید
پیش از ورود اطلاعات، از توسعهدهنده بپرسید اپ به کدام دامنه متصل است و تنظیمات جم پک را از چه مسیری میخواند. در سایت آزمایشی و اصلی، دامنه مقصد را با هم اشتباه نگیرید.
دو مسیر اصلی دریافت تنظیمات چنین هستند؛ example.com را با دامنه واقعی فروشگاه جایگزین کنید:
GET https://example.com/wp-json/aio/v1/app/config
GET https://example.com/wp-json/aio/v1/app/version
مسیر نخست تنظیمات عمومی برنامه را برمیگرداند و مسیر دوم اطلاعات بهروزرسانی را. این مسیرها به ورود حساب مشتری وابسته نیستند، اما HTTPS لازم دارند. اگر کلید مشترک برنامه برای سایت تنظیم شده باشد، درخواست باید سرآیند X-AIO-App-Key معتبر نیز داشته باشد؛ در این حالت، بازکردن ساده آدرس در مرورگر آزمون کامل اتصال نیست.
ورود مشتری و دریافت اطلاعات شخصی، مسیر و احراز هویت جداگانه دارند. توسعهدهنده باید برای درخواستهای محافظتشده از توکن معتبر کاربر استفاده کند؛ قرار دادن رمز مدیر سایت در اپ، روش اتصال مشتری نیست.
برای شروع از توسعهدهنده بخواهید دریافت تنظیمات و اطلاعات بهروزرسانی را بررسی کند و نتیجه را بدون کلیدها و اطلاعات محرمانه گزارش دهد. هنوز نیازی به ارسال اعلان همگانی یا ایجاد سفارش واقعی نیست.
۲. اطلاعات عمومی برنامه را وارد کنید
«تنظیمات برنامه» را باز کنید و ابتدا اطلاعاتی را وارد کنید که میخواهید کاربران اپ ببینند.
رنگهای برند
رنگهای اصلی و مکمل برند را متناسب با طراحی اپ وارد کنید. محل استفاده از هر رنگ را با توسعهدهنده هماهنگ کنید؛ تغییر این مقادیر، جای بازطراحی صفحههای اپ را نمیگیرد.
برای آزمون، یکی از رنگها را در محیط آزمایشی تغییر دهید، تنظیمات را ذخیره کنید و از اپ بخواهید دوباره اطلاعات را دریافت کند. اگر پاسخ سایت تغییر کرده ولی ظاهر اپ ثابت مانده است، از توسعهدهنده بخواهید دریافت و ذخیره تنظیمات در اپ را بررسی کند.
پشتیبانی و تماس
اطلاعاتی مانند شماره تماس، شماره نمایشی، شماره جایگزین، ایمیل، ساعت پاسخگویی و راههای ارتباطی واتساپ و تلگرام در این بخش قرار میگیرند.
شمارهای که دکمه تماس شمارهگیری میکند ممکن است با شکل نمایشی آن متفاوت باشد؛ هر دو مقدار را درست وارد کنید. پس از ذخیره، هم متن نمایشدادهشده و هم عملکرد دکمه تماس را روی گوشی بررسی کنید. نمایش درست یک شماره، بهتنهایی تأیید نمیکند که دکمه تماس نیز مقصد درستی دارد.
فروشگاه و موقعیت مکانی
نام، نشانی، کد پستی و ساعت فعالیت فروشگاه را وارد کنید. اگر موقعیت مکانی در اپ استفاده میشود، پیوندهای نقشه و مختصات را نیز با اطلاعات واقعی فروشگاه تکمیل کنید.
عرض و طول جغرافیایی باید مربوط به یک موقعیت باشند. نتیجه را روی نقشه و از داخل اپ بررسی کنید تا مشتری به نشانی اشتباه هدایت نشود. نمایش یا بازکردن هر سرویس نقشه به پیادهسازی اپ نیز وابسته است.
وبسایت و شبکههای اجتماعی
پیوند سایت و شبکههای اجتماعی فروشگاه را وارد کنید و هر کدام را روی گوشی باز کنید. به صفحه مقصد و دامنه آن توجه کنید؛ مطمئن شوید پیوند به صفحه و دامنه موردنظر میرسد.
موارد حقوقی و درباره ما
اطلاعات معرفی مجموعه و پیوندهای حریم خصوصی، شرایط استفاده، پرسشهای متداول و بازگشت کالا را تکمیل کنید. پیوندها باید به صفحههای واقعی و در دسترس مشتری برسند.
این دادهها از مسیر تنظیمات عمومی برنامه قابل دریافتاند؛ اطلاعات داخلی کسبوکار، رمزها یا کلیدهای سرویس را در آنها ننویسید.
پس از ذخیره، یک تغییر مشخص مانند شماره پشتیبانی را در پاسخ تنظیمات و سپس در خود اپ مقایسه کنید. خالیگذاشتن فیلد به معنی حذف قطعی بخش مربوط در اپ نیست: سایت مقدار خالی میفرستد و استفاده از مقدار جایگزین یا پنهانکردن بخش، به رفتار اپ بستگی دارد.
۳. اطلاعات بهروزرسانی برنامه را تنظیم کنید
بخش «بروزرسانی برنامه» را باز کنید. اطلاعات این صفحه مربوط به اپلیکیشن شماست، نه نسخه افزونه جم پک.
- کد عددی نسخه منتشرشده اپ را از توسعهدهنده دریافت کنید.
- آن را در «کد آخرین نسخه (الزامی)» وارد کنید.
- عنوان نمایشی انتشار را در «نام آخرین نسخه» بنویسید.
- در «پیام بروزرسانی / فهرست تغییرات»، توضیح کوتاه و قابلفهمی از تغییرات بنویسید.
- پیوندهای واقعی دریافت برنامه از Google Play، کافهبازار یا مایکت را در فیلد مربوط قرار دهید.
- تنظیمات را ذخیره کنید و با توسعهدهنده، پاسخ مسیر اطلاعات بهروزرسانی را بررسی کنید.
نام نسخه برای نمایش به کاربر است؛ اپ نسخهها را با کد عددی مقایسه میکند. این کد باید با نسخه ساختهشده برنامه هماهنگ باشد.
حداقل کد نسخه پشتیبانیشده
این مقدار برای اعلام حداقل انتشار قابلقبول به اپ است. برای نمونه، اگر کد آخرین انتشار 120 و حداقل کد پشتیبانیشده 110 باشد، اپ باید تشخیص دهد برنامهای با کد 105 پایینتر از حداقل اعلامشده است.
اما سایت در این بخش فقط اطلاعات را برمیگرداند. نمایش پیام یا اجبار کاربر به بهروزرسانی باید در اپ پیادهسازی شده باشد؛ واردکردن حداقل کد بهتنهایی درخواستهای نسخه قدیمی را در سرور مسدود نمیکند.
تا وقتی نسخه جدید آماده نشده و پیوند دریافت آن را آزمایش نکردهاید، حداقل کد پشتیبانیشده را افزایش ندهید. ابتدا بررسی کنید کاربر واقعاً بتواند نسخه لازم را از مقصد اعلامشده دریافت کند.
۴. اتصال Firebase را آماده کنید
اگر میخواهید اعلان پوش ارسال کنید، به «اعلانهای پوش» بروید. اطلاعات پروژه باید مربوط به همان اپی باشد که روی گوشی آزمایشی نصب میکنید.
- «شناسه پروژه Firebase» را با شناسه پروژه مورد استفاده اپ تکمیل کنید.
- محتوای کلید حساب سرویس را در «کلید خصوصی حساب سرویس (JSON)» قرار دهید. این فیلد نام یا آدرس فایل نیست؛ محتوای معتبر JSON لازم است.
- «شناسه کانال اعلان اندروید» را با توسعهدهنده هماهنگ کنید تا با کانالی که اپ استفاده میکند مطابقت داشته باشد.
- «فعالسازی اعلانهای پوش» را روشن کنید.
- تنظیمات را ذخیره کنید.
اگر پروژه یا کلید را تغییر میدهید، پیش از ارسال گسترده دوباره آزمون تککاربره انجام دهید. پروژه نامرتبط، کلید نامعتبر یا نبود دسترسی شبکه میتواند ارسال را ناموفق کند، حتی اگر اطلاعات ظاهراً در فرم ذخیره شده باشند.
کلید خصوصی حساب سرویس فقط برای ارتباط سمت سرور است. آن را بهعنوان تنظیم عمومی برنامه یا همراه فایل نصب اپ توزیع نکنید.
۵. ثبت گوشی آزمایشی را بررسی کنید
برای ارسال به یک مشتری، باید شناسه دریافت اعلانِ دستگاه او در سایت ثبت شده باشد. داشتن حساب وردپرس یا شماره موبایل بهتنهایی کافی نیست.
- اپ سازگار را روی گوشی آزمایشی نصب و اجرا کنید.
- با حساب مشتری آزمایشی وارد شوید.
- مجوز دریافت اعلان را در صورت درخواست سیستمعامل بررسی کنید.
- از توسعهدهنده بخواهید دریافت توکن Firebase و ثبت آن برای همین حساب را بررسی کند.
- بخش «عیبیابی» را در تنظیمات اعلان ببینید و تعداد دستگاههای ثبتشده را بررسی کنید.
مسیر ثبت دستگاه برای توسعهدهنده چنین است:
POST /wp-json/aio/v1/me/device
این درخواست به احراز هویت کاربر نیاز دارد و توکن دستگاه در پارامتر token ارسال میشود. توکن دستگاه مقصد اعلان را مشخص میکند؛ توکن ورود کاربر هویت درخواستکننده را تأیید میکند. این دو را در درخواست ثبت دستگاه جابهجا نکنید.
تنها به پاسخ موفق درخواست ثبت دستگاه اکتفا نکنید. ثبت واقعی دستگاه و رسیدن پیام آزمایشی را هم بررسی کنید. شمار دستگاهها نیز لزوماً برابر شمار مشتریان یا نصبهای فعال نیست؛ یک مشتری ممکن است چند دستگاه داشته باشد.
۶. ابتدا اعلان تککاربره بفرستید
پس از ثبت گوشی، در بخش آزمون شماره موبایل همان حساب آزمایشی را وارد کنید و «ارسال پوش آزمایشی» را بزنید.
سه نتیجه را جداگانه بررسی کنید:
- آیا سایت حساب را با شماره واردشده پیدا میکند؟
- آیا برای آن حساب دستگاهی ثبت شده و ارسال به سرویس پذیرفته شده است؟
- آیا اعلان واقعاً روی گوشی دیده میشود؟
گزارش ارسال موفق، به معنی پذیرفتهشدن درخواست توسط سرویس ارسال است؛ این نتیجه بهتنهایی اثبات نمیکند کاربر اعلان را دیده است. نمایش در حالت باز بودن اپ، پسزمینه و وضعیت مجوزهای گوشی باید جداگانه آزمایش شود.
برای آزمون متن دلخواه، عنوان و پیام کوتاهی مانند «آزمون اعلان فروشگاه» و «این پیام برای بررسی اتصال ارسال شده است» آماده کنید و از «ارسال به کاربر» برای همان حساب آزمایشی استفاده کنید.
اگر حساب روی چند دستگاه ثبت شده باشد، پیام میتواند به چند دستگاه آن حساب ارسال شود. آزمون تککاربره لزوماً به معنی ارسال به فقط یک گوشی نیست.
۷. اعلان تغییر وضعیت سفارش را تنظیم کنید
در «وضعیتهای سفارش که اعلان پوش ارسال میکنند»، وضعیتهای موردنیاز فروشگاه را انتخاب کنید. انتخاب همه وضعیتها بدون نیاز مشخص میتواند تعداد پیامها را زیاد کند.
در «قالب پیام»، عنوان و متن را متناسب با پیام موردنظر بنویسید. متغیرهای قابلاستفاده در این پیام عبارتاند از:
| متغیر | مقدار |
|---|---|
{order_number} | شماره نمایشی سفارش |
{order_id} | شناسه سفارش |
{status} | وضعیت سفارش |
{total} | مبلغ کل سفارش |
نمونه متن:
وضعیت سفارش {order_number} به {status} تغییر کرد.
برای آزمون، یک سفارش متعلق به حساب مشتری آزمایشی در محیط آزمایشی در نظر بگیرید و آن را به یکی از وضعیتهای انتخابشده منتقل کنید. پیش از این کار بررسی کنید تغییر وضعیت، پیامک، ایمیل یا عملیات دیگری برای مشتری واقعی ایجاد نکند.
اعلان سفارش در این مسیر به مشتری دارای حساب و دستگاه ثبتشده وابسته است. سفارش مهمان، حتی اگر شماره موبایل داشته باشد، از این مسیر به همان شکل اعلان دریافت نمیکند.
تنظیم وضعیتها، پیام سفارشهای قبلی را خودکار و دوباره ارسال نمیکند. همچنین تکرار یک تغییر وضعیت را معیار قطعی خرابی ندانید؛ کد برای جلوگیری از ارسال تکراری کنترل دارد. برای تشخیص، یادداشتهای خصوصی سفارش و نتیجه ارسال را بررسی کنید.
اعلان موجودشدن کالا کجا تنظیم میشود؟
تنظیمات مرتبط با خبررسانی موجودشدن کالا در بخش «موجود شد خبرم کن» قرار دارد. اتصال Firebase، جای عضویت مشتری برای خبررسانی محصول یا تنظیمات همان ماژول را نمیگیرد.
برای ادامه این سناریو، راهنمای راهاندازی موجود شد خبرم کن را ببینید و مسیر پوش را با دستگاه ثبتشده همان مشتری آزمایش کنید.
ارسال پیام سفارشی و همگانی
برای اطلاعرسانی به یک حساب مشخص، شماره موبایل، عنوان و متن پیام را وارد و «ارسال به کاربر» را انتخاب کنید. شماره باید به حسابی برسد که دستگاه ثبتشده دارد؛ این ابزار پیامک ارسال نمیکند.
«ارسال همگانی به همه کاربران» برای ارسال به دستگاههای ثبتشده برنامه است، نه تمام مشتریان فروشگاه یا تمام شمارههای موجود در سایت.
پیش از ارسال همگانی:
- متن را روی حساب آزمایشی بررسی کنید.
- مطمئن شوید محیط، پروژه و مخاطبان درست هستند.
- تعداد دستگاهها و نتیجه آزمون ارسال را ببینید.
- برای تعداد زیاد دستگاه، توان اجرای درخواست روی سرور را پیش از استفاده عملی بررسی کنید.
برای اصلاح غلط املایی یا آزمودن اتصال، پیام همگانی نفرستید. اگر درخواست طول کشید یا قطع شد، فوراً دوباره ارسال نکنید؛ ممکن است بخشی از دستگاهها پیام نخست را دریافت کرده باشند.
بررسی نهایی با یک سناریوی مشخص
پیش از استفاده عمومی، این آزمون را روی نسخه آزمایشی اپ و فروشگاه انجام دهید:
- شماره پشتیبانی را تغییر دهید و دریافت مقدار جدید در اپ را بررسی کنید.
- پیوند تماس و یکی از پیوندهای نقشه یا قوانین را روی گوشی باز کنید.
- اطلاعات انتشار را ذخیره کنید و رفتار یک اپ قدیمیتر و انتشار جدید را مقایسه کنید.
- با حساب آزمایشی وارد شوید و ثبت دستگاه را بررسی کنید.
- یک پیام سفارشی فقط برای همان حساب بفرستید.
- اعلان را در حالت باز بودن اپ و پسزمینه بررسی کنید.
- وضعیت یک سفارش آزمایشی متعلق به همان حساب را تغییر دهید و نتیجه اعلان را ببینید.
اگر لمس اعلان باید صفحه سفارش یا محصول را باز کند، این رفتار را هم آزمایش کنید. ارسال داده از سایت به معنی پیادهسازی خودکار صفحه مقصد در اپ نیست.
مشکلات رایج و روش بررسی آنها
تغییرات در اپ دیده نمیشوند
ابتدا پاسخ مسیر تنظیمات سایت را با مقدار ذخیرهشده مقایسه کنید. اگر پاسخ درست است، دامنه مورد استفاده اپ، زمان دریافت دوباره اطلاعات و نگهداری دادههای قبلی در اپ را با توسعهدهنده بررسی کنید.
فیلدی که اپ برای آن نمایشی پیادهسازی نکرده است، صرفاً با پرکردن تنظیمات سایت به رابط برنامه اضافه نمیشود.
مسیر ارتباطی خطای دسترسی یا پیدا نشدن میدهد
نشانی سایت و مسیر درخواست را بررسی کنید. سپس HTTPS، دسترسی Pro مربوط به اپ و در صورت تنظیم کلید مشترک، سرآیند آن را کنترل کنید. برای مسیرهای شخصی، اعتبار توکن ورود نیز لازم است.
از روی عدد خطا بهتنهایی نتیجه نگیرید. متن پاسخ را بدون اطلاعات محرمانه برای توسعهدهنده بفرستید؛ خطا میتواند از سایت، حفاظت شبکه یا روش ارسال درخواست باشد. برای رفع خطا، احراز هویت یا HTTPS را حذف نکنید.
حساب یا دستگاه پیدا نمیشود
بررسی کنید شماره آزمایش متعلق به همان حسابی باشد که داخل اپ وارد شده است. سپس ثبت توکن دستگاه برای آن حساب را کنترل کنید. دریافت توکن در گوشی، بدون ارسال و ثبت آن در سایت کافی نیست.
Firebase درخواست را نمیپذیرد
شناسه پروژه، اعتبار کلید حساب سرویس، دسترسی حساب سرویس و امکان ارتباط خروجی سرور را بررسی کنید. اطلاعات پروژه سمت سایت و پروژه مورد استفاده اپ باید هماهنگ باشند.
در گزارش خطا، کلید خصوصی، توکن ورود و توکن دستگاه را منتشر نکنید. برای بررسی فنی، متن خطای پاکسازیشده کافی است.
ارسال موفق گزارش میشود اما اعلان دیده نمیشود
مجوز اعلان گوشی، کانال اعلان اندروید و نحوه دریافت و نمایش پیام در اپ را بررسی کنید. آزمون را در حالت باز و پسزمینه تکرار کنید. ممکن است Firebase پیام را پذیرفته باشد، اما اپ یا گوشی آن را نمایش ندهد.
پیام سفارش نمیرسد اما پیام آزمایشی میرسد
فعالبودن اعلانها، وضعیت انتخابشده و تعلق سفارش به حساب مشتری را بررسی کنید. سپس دستگاههای همان حساب و یادداشتهای خصوصی سفارش را ببینید. سفارش مهمان و کنترل ارسال تکراری را نیز در تشخیص در نظر بگیرید.
پیام بهروزرسانی ظاهر نمیشود
کد عددی اپ نصبشده را با اطلاعات مسیر بهروزرسانی مقایسه کنید. اگر پاسخ سایت درست است، منطق مقایسه و نمایش پیام باید در اپ بررسی شود. تغییر نام نمایشی انتشار، جای تغییر کد عددی درست را نمیگیرد.
توقف اعلانها و اثر آن
برای توقف مسیر خودکار اعلان سفارش، «فعالسازی اعلانهای پوش» را خاموش و ذخیره کنید و نتیجه را در محیط آزمایشی بررسی کنید.
این کلید را معادل قطع کامل ارتباط اپ یا حذف دستگاهها ندانید. مسیرهای تنظیمات و اطلاعات بهروزرسانی از اعلان سفارش جدا هستند. برای توقف کامل ارسال، ابزارهای ارسال دستی و دسترسی به آنها را هم بررسی کنید؛ خاموشکردن این گزینه لزوماً آنها را متوقف نمیکند.
حذف یا تعویض کلید Firebase میتواند ارسالها را مختل کند. اگر قصد قطع ارتباط یا انتقال پروژه را دارید، ابتدا اثر آن بر اپ نصبشده کاربران را با توسعهدهنده مشخص کنید.
قدمهای بعدی
- برای ورود مشتری در اپ، راهنمای ورود و ثبتنام با کد یکبارمصرف را بررسی کنید.
- برای خبررسانی محصول، راهنمای موجود شد خبرم کن را بخوانید.
- پیش از انتشار عمومی اپ، نتیجه آزمونهای ارتباط، بهروزرسانی و اعلان را با توسعهدهنده ثبت کنید.
