تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

آموزش برنامه نویسی USSD | راهنمای کدنویسی USSD با استفاده از زبان PHP

آموزش برنامه نویسی USSD - راهنمای کدنویسی USSD با استفاده از زبان PHP
در این پست از سری آموزش های پی‌استور می‌خواهیم در مورد آموزش برنامه نویسی USSD صحبت کنیم. مطمئناً شما نیز با کدهای دستوری که در گوشی موبایل وارد می‌کنیم و با استفاده از آن یکسری کارها انجام می‌دهیم، آشنا هستید. آیا تابحال به این فکر کرده‌اید که این کدهای دستوری چگونه ایجاد می‌شوند و یا چطور نوشته می‌شوند؟ حتماً شما نیز به این موارد فکر کرده اید اما آیا می‌دانید حتی برای نوشتن این کدهای دستوری باید برنامه نویسی را یاد بگیرید؟ یا اصلاً آیا می‌دانید با کدام زبان برنامه نویسی باید برنامه نویسی کرد؟ با ما همراه باشید تا با آموزش برنامه نویسی USSD به پاسخ سوالات خود برسید.

فهرست مطالب

USSD چیست؟

برای آموزش برنامه نویسی USSD  باید بدانیم که USSD چیست؟ USSD مخفف انگلیسی Unstructured Supplementary Service Data و به معنای داده‌های خدمات تکمیلی بدون ساختار می‌باشد. USSD یک پروتکل پیام‌رسانی در شبکه های تلفن همراه (GSM) است. شاید فکر کنید USSD بسیار شبیه SMS می‌باشد اما اینطور نیست. عملکرد USSD به این صورت می‌باشد که اگر یک خط ارتباطی باز باشد، شما می‌توانید با شماره‌گیری کد دستوری مورد نظر به سرویس مربوطه متصل شوید.

این اتصال توسط اپراتور تلفن همراه شما انجام می‌شود. البته سرویس هایی هستند که حتی بدون داشتن سیم کارت می‌توانید از آن‌ها استفاده کنید. زمانی که اتصال به سرویس انجام شد شما می‌توانید از امکانات و خدمات سرویس استفاده کنید و یا به اطلاعات مربوط به سیم کارت تلفن همراه خود به صورت امن دسترسی داشته باشید. برای اطلاعات بیشتر می توانید آموزش‌های مقدماتی تا پیشرفته فرادرس را در این مورد مشاهده کنید.

نکته: این سرویس با اپراتورهای تلفن همراه کار می‌کند و نیازی به گوشی تلفن همراه هوشمند ندارد.

کد های دستوری یا USSD

کدهای USSD که معمولاً به آن‌ها کدهای دستوری نیز می‌گویند، کدهایی هستند که با استفاده از گوشی تلفن همراه، جهت اتصال به سرویس USSD شماره‌گیری می‌شوند و پس از آن که به سرویس مدنظر خود متصل شدیم، در مقابل می‌توانیم کارهایی را انجام دهیم و یا درخواست خدمات کنیم.

بگذارید به زبان عامیانه در آموزش برنامه نویسی USSD برایتان صحبت کنیم. درواقع کدهای USSD همان دستورات همراه با ستاره * و مربع # هستند؛ مانند #۱۱۵* یا #۱۱۰*. یک کد USSD با کاراکتر ستاره * شروع می‌شود و با ترکیبی از ستاره و اعداد انگلیسی ادامه می‌یابد؛ در نهایت با کاراکتر مربع # دستور به پایان می‌رسد.

زمانی که شما یک کد USSD را وارد می‌کنید یک پنجره با محتوای … USSD code runnig ظاهر می‌شود. به شکل زیر توجه کنید:

آموزش برنامه نویسی USSD

ممکن است این تصویر در گوشی‌های مختلف متفاوت باشد اما شکل کلی آن به همین صورت است. زمانی که این پیغام ظاهر می‌شود تقریباً ۲ الی ۳ ثانیه طول می‌کشد تا کد اجرا شود و در نهایت نتیجه بر روی صفحه گوشی ظاهر می‌شود.

چگونه می توان از USSD استفاده کرد؟

در ادامه آموزش برنامه نویسی USSD می خواهیم بدانیم چگونه می‌توان از USSD استفاده کرد؟ برای استفاده از این کدها ابتدا باید کد دستوری مورد نظر خود را بدانید، سپس به بخش تماس تلفن همراه خود رفته و کددستوری موردنظر را تایپ کنید و درنهایت دکمه تماس یا Call را فشار دهید تا دستور اجرا شود. پس از اجرای دستور، یک صفحه تعاملی حاوی متن باز می‌شود.

در این صفحه ممکن است تنها یک صفحه حاوی متن به همراه یک دکمه OK ظاهر شود که معمولا هنگام درخواست خدماتی نظیر باقی‌مانده حساب و یا اعتبار ظاهر می‌شود. ممکن است پس از شماره‌گیری کد مورد نظر پیغامی حاوی محتوای : “مشترک گرامی درخواست شما بررسی و نتیجه از طریق پیامک ارسال خواهد شد” به همراه یک گزینه OK برای شما نمایش داده شود. در این صورت خدمات درخواستی به صورت SMS به تلفن همراه شما ارسال خواهد شد.

در حالت دیگر امکان انتخاب یکی از گزینه های موجود در صفحه وجود دارد. در این نوع دو دکمه Cancel و Send وجود دارد، به همراه یک کادر متنی که باید شماره گزینه مورد نظر خود را در آن وارد کنید؛ معمولا گزینه های موجود به صورت یک لیست همراه با شماره در کنار هر گزینه نمایش داده می‌شوند که باید یکی از گزینه ها را انتخاب و شماره آن را تایپ کنید و سپس گزینه Send را بزنید.

زمانی که شما یک کد USSD را شماره‌گیری می‌کنید بسته به نوع تلفن همراه شما ممکن است یکسری عملیات مختلف مانند صدا و لرزش اتفاق بیوفتد.

در حالت دوم که ذکر کردیم شما می‌توانید به جای وارد کردن کد اصلی و انتخاب یکی از گزینه های مورد نظر (تنها در صورتی که از شماره گزینه اطلاع دارید)، به صورت یک کد ترکیبی و مستقیم از خدمات مورد نظر استفاده کنید.

مثال : برای خرید یک بسته اینترنت ساعتی از اپراتور همراه اول ابتدا باید کد دستوری #۱۲۱* را وارد کرده و سپس گزینه ۲ یعنی اینترنت را انتخاب کنید. به جای این کار می‌توانید از کد دستوری #۲*۱۲۱* استفاده کنید.

آموزش برنامه نویسی USSD

کاربرد های USSD

قبل از آموزش برنامه نویسی USSD حتماً با کدهای دستوری کار کرده اید و با کاربردهای آن آشنا هستید. از آنجایی که امروزه عملیات های خرید شارژ، بسته‌های اینترنت و کارت به کارت پول رو به افزایش است و دیگر مثل قدیم کاربران نمی‌توانند به بانک یا خودپردازها مراجعه کنند، استفاده از کدهای USSD نجات بخش خواهد بود.

ممکن است افراد در نقطه‌ای باشند که به اینترنت دسترسی ندارند و نتوانند از خدمات خرید شارژ و یا دیگر خدمات استفاده کنند. در این مواقع استفاده از کدهای USSD که نیازی به اینترنت و اپلیکیشن خاصی ندارد توصیه می‌شود.

در ادامه به برخی کاربردهای USSD اشاره می‌کنیم:

  • خدمات خرید و پرداخت
  • خدمات کارت به کارت
  • چک کردن موجودی حساب یا اعتبار سیم کارت
  • خدمات اطلاعاتی مبتنی بر منو
  • خدمات محتوای مبتنی بر مکان
  • دسترسی به برخی تنظیمات تلفن همراه

مزایای USSD

  • برای استفاده از USSD نیازی به اینترنت وجود ندارد.
  • نیازی به شارژ سیم کارت ندارد.
  • کاملا رایگان است.
  • همیشه در دسترس است.
  • دارای رابط کاربری آسان است.
  • داده‌های محرمانه در حافظه ذخیره نمی‌شوند و دارای امنیت بالایی است.
  • درصورتی که در کمتر از ۲۰ ثانیه پاسخی ارسال نشود کد غیرفعال می‌شود و باید مجدد شماره گیری شود که موجب افزایش امنیت می‌شود.
  • قابلیت اجرا بر روی همه نوع تلفن همراه که امکان وارد کردن سیمکارت را داشته باشد.
  • به نصب برنامه جانبی نیاز ندارد.
  • سرعت رد و بدل اطلاعات بسیار سریع است.
  • استفاده از این سرویس به صورت سراسری است.

آموزش برنامه نویسی USSD

معایب USSD

  • در برخی موارد می‌توان با اضافه کردن یک برنامه مخرب اطلاعات وارد شده توسط کاربران را ذخیره و سوء استفاده کرد.
  • امکان ذخیره پیام های ارسالی به کاربر در تلفن همراه وجود ندارد. در اکثر موارد کاربر مجبور به گرفتن اسکرین شات خواهد بود.
  • برای اینکه سرویس بتواند اطلاعاتی را به کاربر ارسال کند که قابلیت ذخیره داشته باشد از SMS استفاده می‌کند.
  • دارای صفحه ساده ای است و از طراحی های گرافیکی بهره نمی‌برد.
  • هنگام وارد کردن اطلاعات محرمانه، آن‌ها را نمایش می‌دهد.
  • ممکن است با کدهای کثیف از کاربران سوء استفاده شود.
  • محدودیت در ارسال تصویر و ویدیو
  • هزینه بالای خریداری یک کد دستوری

مقایسه USSD و SMS

در سرویس SMS زمانی که شما یک پیامک ارسال می‌کنید در حافظه ذخیره می‌شود اما در USSD این اتفاق نمی‌افتد. همچنین زمانی که شما پیامک ارسال می‌کنید ابتدا باید در شبکه ذخیره شود سپس به مقصد فرستاده شود اما در USSD بلافاصله پس از درخواست پیغام را دریافت می‌کنید.

در SMS ارتباط بین دو تلفن همراه خواهد بود اما در USSD ارتباط تنها بین تلفن همراه و اپراتور می‌باشد. درواقع USSD نوعی ارتباط لحظه‌ای است که امکان ذخیره داده‌ها را ندارد.

چگونه یک کد USSD بسازیم؟

در مبحث آموزش برنامه نویسی USSD برای راه‌اندازی یک سرویس USSD نیاز دارید چند کار انجام دهید. در ادامه به این موارد اشاره می‌کنیم:

  • یادگیری برنامه نویسی USSD
  • خرید یک درگاه آماده
  • رزرو یا خرید کد USSD

یادگیری برنامه نویسی USSD

برای یادگیری برنامه نویسی USSD مانند دیگر برنامه نویسی ها نیازمند شناسایی پیش‌نیازها و آشنایی با برنامه نویسی ابتدایی هستید. زبانی که برای برنامه نویسی USSD مورد استفاده قرار می‌گیرد PHP می‌باشد. درنتیجه برای نوشتن برنامه نیازمند یادگیری زبان برنامه نویسی PHP می‌باشید.

توجه کنید که آموزش زیر صرفا یک شبیه سازی از برنامه نویسی USSD می‌باشد و برای ساختن کد دستوری USSD واقعی نیازمند صرف هزینه می‎باشید.

شروع به کار

  • قبل از هرکاری ابتدا نرم افزار Postman را نصب کنید.

نکته : افزونه Postman برای مرورگر کروم درحال حاضر منسوخ شده است و بهتر است نرم افزار آن را نصب کنید.

  • وب سرور را اجرا کنید.
  • یک برنامه ویرایشگر متن مانند Visual Studio Code باز کنید.

ما در پست آموزش برنامه نویسی USSD تنها شبیه سازی انجام داده‌ایم. به این معنی که از live gateway استفاده نشده است.

نمونه درخواست

از آنجایی که این آموزش تنها یک شبیه‌سازی می‌باشد باید مقادیری را به عنوان نمونه درخواست ارسال کنیم. مقادیر به صورت زیر خواهد بود.

  • ‘MSISDN’ => ‘254714611388’ : شماره تلفن ارسال کننده درخواست
  • ‘SESSION_ID’ => ‘355562002’ : جلسه برای زمانی که نیاز به ممیزی (ارزیابی) وجود داشته باشد.
  • ‘USSD_STRING’ => ’58*1234*456*252′ : یک رشته می‌باشد که حاوی پاسخ هایی است که کاربر وارد می‌کند.

دقت داشته باشید که در برنامه نویسی USSD، پاسخ هایی که توسط کاربر دریافت می‌شود باید با کاراکتر * از هم جدا شوند. مورد بعدی که وجود دارد این است که باید با تابع ()explode در PHP آشنایی داشته باشید.

آموزش برنامه نویسی USSD - راهنمای کدنویسی USSD با استفاده از زبان PHP

کدنویسی USSD

در برنامه نویسی USSD باید به CON و END توجه ویژه‌ای داشته باشید. چرا که CON به زمانی که یک کاربرد باید مقداری را به عنوان پاسخ وارد کند اشاره دارد. دقت کنید همانطور که در بالا ذکر کردیم زمانی که کاربر در زمان بیش از ۲۰ ثانیه پاسخ وارد نکند کد غیرفعال می‌شود.

همچنین از END زمانی استفاده می‌شود که بخواهید پایان جلسه را مشخص کنید. پایان جلسه همان پیغامی است که به کاربر داده می‌شود که معمولا دارای تنها یک گزینه OK می‌باشد.

در ادامه پست آموزش برنامه نویسی USSD کدهای مربوطه آورده شده است:

<?php
 
$text=$_GET['USSD_STRING']; 
$phonenumber=$_GET['MSISDN']; 
$serviceCode=$_GET['serviceCode'];

$level = explode(“*”, $text);
if (isset($text)) {

if ( $text == “” ) {
 $response=”CON Welcome to the registration portal.\nPlease enter you full name”;
 }
if(isset($level[0]) && $level[0]!=”” && !isset($level[1])){
$response=”CON Hi “.$level[0].”, enter your ward name”;
 }
 else if(isset($level[1]) && $level[1]!=”” && !isset($level[2])){
 $response=”CON Please enter you national ID number\n”;
}
 else if(isset($level[2]) && $level[2]!=”” && !isset($level[3])){
 //Save data to database
 $data=array(
 ‘phonenumber’=>$phonenumber,
 ‘fullname’ =>$level[1],
 ‘electoral_ward’ => $level[2],
 ‘national_id’=>$level[3]
 );
$response=”END Thank you “.$level[1].” for registering.\nWe will keep you updated”; 
 }
header(‘Content-type: text/plain’);
 echo $response;

}
?>

توضیحات کد بالا :

ابتدا داده‌های موجود بر روی سرور دریافت خواهند شد.

<?php 
 
$text=$_GET['USSD_STRING']; 
$phonenumber=$_GET['MSISDN']; 
$serviceCode=$_GET['serviceCode'];

پاسخ ها توسط کاراکتر* از هم جدا شده و به کمک تابع Explode تبدیل به یک آرایه می‌شود.

$level = explode("*"، $text);

متغیر متنی بررسی می‌شود تا از خالی نبودن متغیر اطمینان حاصل شود. زیرا اگر کاربر متنی وارد نکند خطا رخ خواهد داد.

if (isset($text)) {

نمایش یک صفحه خوش آمدگویی

if ( $text == “” ) {
 $response=”CON Welcome to the registration portal.\nPlease enter you full name”;
 }

بررسی تمامی داده ها

if(isset($level[0]) && $level[0]!=”” && !isset($level[1])){
$response=”CON Hi “.$level[0].”, enter your ward name”;
 
 }
 else if(isset($level[1]) && $level[1]!=”” && !isset($level[2])){
 $response=”CON Please enter you national ID number\n”;
}
 else if(isset($level[2]) && $level[2]!=”” && !isset($level[3])){
 //Save data to database
 $data=array(
 ‘phonenumber’=>$phonenumber,
 ‘fullname’ =>$level[1],
 ‘electoral_ward’ => $level[2],
 ‘national_id’=>$level[3]
 );
//Insert the values into the db SOMEWHERE HERE!!

پایان جلسه

$response=”END Thank you “.$level[1].” for registering.\nWe will keep you updated”; 
 }

درصورتی که درخواست موفق باشد پاسخ دوباره به کاربر نمایش داده ‌شود.

header(‘Content-type: text/plain’);
 echo $response;
}
?>

آموزش برنامه نویسی USSD - راهنمای کدنویسی USSD با استفاده از زبان PHP

تست کد ها در آموزش برنامه نویسی USSD

تبریک می‌گوییم! تا این مرحله از آموزش برنامه نویسی USSD موفق شدید کدهای خودتان را بنویسید اما باید از اجرای درست کدها اطمینان حاصل کنیم. برای این کار به ترتیب موارد گفته شده را انجام دهید:

  • فایلی که در آن کدهای PHP را نوشته اید در پوشه وب سرور قرار دهید. این پوشه معمولا به نام htdocs یا /var/www/html می‌باشد.
  • کلاینت Postman را باز کنید.
  • آدرس اینترنتی را در localhost قرار دهید.
  • پارامترهایی که در بخش نمونه درخواست این پست ذکر کردیم به آدرس اضافه کنید.
  • درخواست را ارسال کنید منتظر بمانید تا کلاینت Postman یک پنجره پاسخ نمایش دهد.
  • رشته USSD را ویرایش کنید. مثلا با اضافه کردن نام کاربر.
  • حال یک پیغام دیگر نمایش داده خواهد داشت. یک کاراکتر * بعد از نام کاربر قرار دهید، همانطور که می‌دانید کاراکتر * به عنوان جداکننده عمل می‌کند. آنقدر این کار را انجام دهید تا اینکه پیام‌ها اتمام شوند.

فرآیند فوق یک نمونه تست برنامه نویسی USSD می‌باشد. برای پیاده سازی واقعی این عملیات نیازمند صرف هزینه و زمان است. اگر در حال خواندن این مقاله هستید پس احتمالاً به برنامه نویسی اندروید نیز علاقه مندید. پیشنهاد می کنیم مجموعه آموزش برنامه نویسی اندروید فردارس را نیز مطالعه کنید.

سخن آخر در مورد آموزش برنامه نویسی USSD

در این مطلب در مورد آموزش برنامه نویسی USSD صحبت کردیم و نمونه‌ای از نحوه کار USSD را ذکر کردیم. همانطور که می‌دانید کدهای دستوری که هم اکنون ما از آن‌ها استفاده می‌کنیم بدون نیاز به اینترنت و کاملا دور از محدودیت مورد استفاده قرار می‌گیرد و هر کاربری با هر تلفن همراه و سیستم عاملی می‌تواند از این فناوری استفاده کند.

آنچه که حائز اهمیت است جا افتادن این فناوری در بین مردم به خصوص ایران می‌باشد و تقریبا هیچ کس وجود ندارد که بگوید از این فناوری استفاده نمی‌کند. به تازگی اپلیکیشن هایی که برای استفاده از آن نیاز به اینترنت دارید جایگزین کدهای دستوری شده است که هرکدام مزایا و معایب خود را دارند. اما آیا ما همیشه به اینترنت دسترسی داریم؟

طبیعتا‌ً پاسخ خیر است! در این پست شما می‌توانید با نحوه شروع به کار با این فناوری را یاد بگیرید و درصورتی که مایل باشید تا کد دستوری خود را بسازید بتوانید خود، با فراگیری زبان PHP، کد USSD بسازید. پیشنهاد می کنیم در فرصتی مناسب مقاله آموزشی ما را برای کسب درآمد از راه برنامه نویسی و فروش فایل نیز مطالعه کنید.

2 پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *