شماره مجازی
شماره مجازی برای تست اپلیکیشن؛ تست واقعی ارسال کد تأیید در کشورهای مختلف

اگر اپلیکیشن یا سایتی ساختهای که با کد تأیید پیامکی ثبتنام میکند، باید مطمئن شوی پیامک واقعاً به کاربران کشورهای مختلف میرسد. خیلی از مشکلات فقط در دنیای واقعی دیده میشوند: پیامکی که به یک کشور نمیرسد، قالب شمارهای که درست ذخیره نمیشود یا متنی که فیلتر میشود. این راهنما برای توسعهدهندگان و تیمهای تست است که میخواهند فرایند ثبتنام اپلیکیشن خودشان را درست آزمایش کنند.
دو نوع تست، دو نوع شماره
| نوع تست | هدف | شماره مناسب |
|---|---|---|
| تست منطق برنامه | آیا کد درست ساخته، ذخیره و بررسی میشود؟ | شماره تست سرویسدهنده (رایگان، بدون ارسال واقعی) |
| تست تحویل واقعی | آیا پیامک از طریق اپراتور به کاربر کشور X میرسد؟ | شماره واقعی از همان کشور |
مرحله اول: شمارههای تست سرویسدهنده
بسیاری از سرویسهای احراز هویت و پیامک، شمارههای آزمایشی دارند که بدون ارسال واقعی پیامک، کد ثابتی برمیگردانند؛ مثلاً امکان تعریف شمارههای تست در Firebase Authentication. برای تستهای خودکار (CI) و بررسی منطق برنامه، از همینها استفاده کن؛ رایگان و سریعاند.
مرحله دوم: تست واقعی با شماره مجازی
شماره تست نشان نمیدهد پیامک واقعاً به کاربر میرسد یا نه. برای این کار، چند بار در هر انتشار مهم، با شماره واقعی تست کن:
- کشورهایی را که بیشترین کاربر را از آنها انتظار داری فهرست کن.
- از شماره مجازی برای هر کشور یک شماره بگیر. اگر اپلیکیشن شما در فهرست سرویسها نیست، از شماره مجازی سایر سرویسها (Any other) استفاده کن.
- فرایند ثبتنام اپ خودت را با شماره اجرا کن.
- نتیجه را ثبت کن: آیا کد رسید، بعد از چند ثانیه و با چه متنی.
- نتایج را با لاگ سرویس پیامک خودت مقایسه کن.
چکلیست فنی
- قالب شماره: شمارهها را در قالب بینالمللی E.164 ذخیره کن (مثل +44…)، نه با صفر محلی.
- ورودی کاربر: فیلد شماره باید کد کشور را جدا بگیرد یا صفر ابتدایی را حذف کند.
- محدودیت ارسال: برای هر شماره و هر IP محدودیت تعداد درخواست بگذار تا از سوءاستفاده و هزینه پیامک جلوگیری شود.
- انقضای کد: کد را بعد از چند دقیقه منقضی کن و فقط یک بار قابل استفاده باشد.
- پیام خطا: وقتی ارسال ناموفق است، پیام روشن نشان بده و گزینه ارسال دوباره را با فاصله زمانی بگذار.
- متن پیامک: کوتاه و روشن باشد و نام اپ را داشته باشد تا کاربر بداند کد برای چیست.
اگر پیامک به یک کشور نمیرسد
- لاگ سرویسدهنده پیامک را ببین: ارسال شده، رد شده یا در صف مانده؟
- بررسی کن ارسال به آن کشور در تنظیمات سرویسدهنده فعال باشد.
- ارسالکننده (Sender ID) در بعضی کشورها نیاز به ثبت دارد.
- با یک شماره از کشور دیگر مقایسه کن تا مشکل اپراتور از مشکل برنامه جدا شود.
دلیلهای رایج نیامدن کد از سمت کاربر را هم در کد تأیید به شماره مجازی نیامد؟ جمع کردهایم؛ برای نوشتن پیامهای خطای بهتر مفید است. درباره خود OTP هم این راهنما را ببین.
هزینه و حریم خصوصی
- هر شماره در نامِکس قیمت مشخصی دارد و اگر ظرف ۲۰ دقیقه کدی دریافت نشود، مبلغ به کیف پول برمیگردد؛ پس تست ناموفق هزینهای ندارد.
- هرگز برای تست از شماره کاربران واقعی استفاده نکن.
- کدها و شمارههای تست را در ریپازیتوری یا لاگ عمومی ذخیره نکن.
اگر روی خود فرایند ثبتنام کد میزنی، کرسر میتواند نوشتن تستها و اعتبارسنجی شماره را سریعتر کند.
یادآوری: این راهنما برای تست اپلیکیشن و سرویس خودتان است؛ استفاده از شماره مجازی در سرویسهای دیگر باید مطابق قوانین همان سرویس باشد.