كيفية استقبال الرسائل القصيرة من Objective C

أبسط طريقة لاستقبال الرسائل القصيرة من Objective-C هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بإرسال الرسائل القصيرة عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل القصيرة. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل القصيرة بإرسال هذه الرسالة إلى هاتف المستلم، وسيتم إرجاع استجابة HTTP 200 OK إلى طلبك.

كيفية استقبال الرسائل القصيرة من Objective C
الشكل 1 - كيفية استقبال الرسائل القصيرة من Objective C

كود Objective-C لاستقبال الرسائل القصيرة على الهاتف المحمول

يوضح مثال كود الرسائل القصيرة في Objective-C أدناه كيف يمكنك استقبال الرسائل القصيرة باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة بـ Ozeki SMS Gateway باستخدام مكتبة Ozeki.Libs.Rest. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.

ReceiveSms.m
#import <Foundation/Foundation.h>
#import "Ozeki.Libs.Rest.h"

int main(int argc, const char * argv[]) {
    Configuration * configuration = [ [ Configuration alloc ] init];
    [ configuration setUsername : @"http_user" ];
    [ configuration setPassword : @"qwe123" ];
    [ configuration setApiUrl : @"http://192.168.0.14:9509/api" ];
    
    MessageApi * api = [ [ MessageApi alloc ] initWithConfiguration : configuration ];
    
    MessageReceiveResult * result = [ api DownloadIncoming ];
    
    NSLog(@"%@", result);
    
    for (Message * message in result.messages)
    {
        NSLog(@"%@", message);
    }
    
    return 0;
}

كيفية استخدام مثال الرسائل القصيرة في Objective-C:

يمكن استخدام مثال الرسائل القصيرة في Objective C هذا في أي تطبيق أساسي لـ Objective C. لاستخدامه، يجب عليك إضافة ملف الرأس Ozeki.Libs.Rest.h وملف التنفيذ Ozeki.Libs.Rest.m إلى مشروعك. بعد إضافة المرجع إلى المشروع، يجب وضع التوجيه using Ozeki.Libs.Rest; في قسم الرأس من كود المصدر الخاص بـ Objective C. سيسمح لك ذلك باستخدام الفئات المقدمة من مكتبة Ozeki.Libs.Rest. يمكنك استخدام فئة Message لإنشاء الرسالة القصيرة. يمكنك استخدام فئة MessageApi لإرسال الرسالة القصيرة إلى بوابة الرسائل القصيرة. ستقوم بوابة الرسائل القصيرة بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.

تحميل ReceiveSms.m

يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: ReceiveSms.m.zip (45.2Kb)

ما الموجود في ملف ReceiveSms.m؟

يحتوي ملف ReceiveSms.m على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال الرسائل القصيرة. ستجد أيضًا مشروع ReceiveSms في ملف zip، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة قصيرة. تم سرد كود المثال هذا أدناه.

دليل استقبال الرسائل القصيرة m
الشكل 2 - ما الموجود داخل ReceiveSms.m.zip

كيفية استقبال الرسائل القصيرة من Objective-C (خطوات سريعة)

لاستقبال الرسائل القصيرة من Objective-C:

  1. قم بتثبيت مستخدم HTTP API على جهاز يعمل بنظام Windows
  2. قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
  3. قم بإعداد Xcode
  4. قم بتنزيل ثم استخراج ملف ReceiveSms.m.zip
  5. افتح ملف ReceiveSms.xcodeproj في Xcode
  6. قم بتشغيل تطبيق Ozeki SMS Gateway على جهاز Windows الخاص بك
  7. قم بتشغيل كود Objective C ReceiveSms.m في Xcode
  8. تحقق من السجلات لمعرفة ما إذا كانت الرسالة القصيرة قد أُرسلت

تثبيت Ozeki SMS Gateway وإنشاء مستخدم HTTP API

لتتمكن من إرسال الرسائل القصيرة من Objective-C، تحتاج أولاً إلى تثبيت Ozeki SMS Gateway. يمكن تثبيت بوابة الرسائل القصيرة على نفس الكمبيوتر حيث تقوم بتطوير كود Objective-C في Visual Studio. بعد التثبيت، تكون الخطوة التالية هي ربط Ozeki SMS Gateway بشبكة الهاتف المحمول. يمكنك إنشاء مستخدم HTTP SMS API. قم بإنشاء مستخدم باسم مستخدم "http_user"، وكلمة مرور "qwe123" لجعل المثال يعمل دون تعديل.

بعد إعداد البيئة، يمكنك تشغيل كود Objective-C الخاص بك.

رابط HTTP API لاستخدام إرسال الرسائل القصيرة من Objective-C

لإرسال الرسائل القصيرة من Objective-C، سيتعين على Objective-C الخاص بك إصدار طلب HTTP إلى بوابة الرسائل القصيرة. يظهر رابط API أدناه. لاحظ أنه يجب استبدال عنوان IP (127.0.0.1) بعنوان IP الخاص ببوابة الرسائل القصيرة. إذا تم تثبيت Ozeki SMS Gateway على نفس الكمبيوتر حيث يتم تشغيل تطبيق الرسائل القصيرة Objective-C، يمكن أن يكون هذا 127.0.0.1. إذا تم تثبيته على كمبيوتر مختلف، فيجب أن يكون عنوان IP الخاص بهذا الكمبيوتر.

http://127.0.0.1:9509/api?action=rest

مصادقة HTTP لإرسال الرسائل القصيرة من Objective-C

لمصادقة عميل الرسائل القصيرة في Objective-C، تحتاج إلى إرسال اسم المستخدم وكلمة المرور في سلسلة مشفرة بـ base64 إلى الخادم في طلب HTTP. التنسيق المستخدم هو: base64(username+":"+password). في Objective-C يمكنك استخدام الكود التالي لإجراء هذا التشفير:

NSString * username_password = [ NSString stringWithFormat : @"%@:%@", username, password ];
NSData * encode_data = [username_password dataUsingEncoding:NSUTF8StringEncoding];
NSString * username_password_encoded  = [encode_data base64EncodedStringWithOptions : 0];
return  [ NSString stringWithFormat : @"Basic %@", username_password_encoded ];

على سبيل المثال، إذا قمت بتشفير اسم المستخدم 'http_user' وكلمة المرور 'qwe123'، ستحصل على السلسلة المشفرة التالية بـ base64: aHR0cF91c2VyOnF3ZTEyMw==. لإرسال

رأس طلب HTTP لإرسال الرسائل القصيرة من Objective-C

لإرسال الرسائل القصيرة، تحتاج إلى تضمين الأسطر التالية كرؤوس في طلب HTTP. لاحظ أننا ندرج نوع المحتوى ورأس المصادقة.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

طلب HTTP لإرسال الرسائل القصيرة من Objective-C

لإرسال الرسائل القصيرة، سيقوم تطبيقك في Objective-C بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP وجزء جسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بـ JSON. يحتوي على رقم المستلم ونص الرسالة.

GET /api?action=receivemsg&folder=inbox HTTP/1.1
Connection: keep-alive
Accept: application/json
Accept-Encoding: gzip, deflate
Accept-Language: en-gb
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 192.168.0.14:9509
If-Modified-Since: Fri, 23 Jul 2021 11:01:18 GMT
User-Agent: ReceiveSms.m (unknown version) CFNetwork/1220.1 Darwin/20.3.0

استجابة HTTP المستلمة من مثال الرسائل القصيرة في Objective-C

بمجرد أن يستقبل بوابة الرسائل القصيرة هذا الطلب، سيقوم بإنشاء استجابة HTTP. ستحتوي استجابة HTTP على رمز حالة، للإشارة إلى ما إذا كان طلب إرسال الرسالة ناجحًا أم لا. كما ستعود ببنية مشفرة بـ JSON لتزويدك بتفاصيل مفيدة حول إرسال الرسالة.

HTTP/1.1 200 OK
User-Agent: OZEKI 10.3.123 (www.myozeki.com)
Content-Type: application/json; charset=utf8
Last-Modified: Fri, 23 Jul 2021 11:38:29 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked
 
{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "",
	"data": {
	  "folder": "inbox",
	  "limit": "1000",
	  "data": [
	    {
	      "message_id": "85583c80-68f8-a743-bdd4-a477dcce24c1",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36201111111",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-23 12:04:54",
	      "valid_until": "2021-07-30 12:04:54",
	      "time_to_send": "2021-07-23 12:04:54",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "17f48ae0-ca34-2393-876a-e36446f51df1",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36202222222",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-23 12:04:54",
	      "valid_until": "2021-07-30 12:04:54",
	      "time_to_send": "2021-07-23 12:04:54",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    },
	    {
	      "message_id": "e8fa747e-8b21-08e3-9cf4-f30c2ab9074d",
	      "from_connection": "http_user@localhost",
	      "from_address": "+36203333333",
	      "from_station": "%",
	      "to_connection": "http_user@localhost",
	      "to_address": "http_user",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-23 12:04:54",
	      "valid_until": "2021-07-30 12:04:54",
	      "time_to_send": "2021-07-23 12:04:54",
	      "submit_report_requested": true,
	      "delivery_report_requested": true,
	      "view_report_requested": true,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ]
	    }
	  ]
	}
}

كيفية تنزيل المشروع (فيديو تعليمي)

في هذا الفيديو، نريك كيف يمكنك تنزيل ملفات المشروع المطلوبة لاستقبال الرسائل القصيرة في Objective-C. سيبدأ بصفحة هذا البرنامج التعليمي وينتهي بفتح الكود المصدري. ستتعلم أين تنقر لتنزيل الملفات وما تستخدمه عند فتح الكود للتعديل. يبلغ طول الفيديو 22 ثانية فقط، لكنه يحتوي على كل المعلومات التي تحتاجها لاستقبال الرسائل القصيرة في Objective-C.

الفيديو 1 - كيفية تنزيل وفتح الحل أعلاه (فيديو تعليمي)

كود المثال أدناه هو جزء من مشروع ReceiveSms.xcodeproj. في ملف zip يوجد مشروع واحد فقط: ReceiveSms.xcodeproj، وثلاثة ملفات: ReceiveSms.m, Ozeki.Libs.Rest.h, Ozeki.Libs.Rest.m.

كيفية استقبال الرسائل القصيرة باستخدام Objective-C
الشكل 3 - ReceiveSms.xcodeproj

كيفية استخدام المشروع (فيديو تعليمي)

في الفيديو التالي، نقدم لكم كيفية استخدام الكود وما يحدث عند استخدامه. يبلغ طول الفيديو 55 ثانية، لكنه يحتوي على جميع المعلومات التي تحتاجها للبدء في العمل مع المشروع. سيبدأ بتسجيل الدخول إلى بوابة Ozeki SMS ويأخذك حتى الوصول إلى الرسائل المستلمة. ستتعلم كيفية فتح وتشغيل الكود وفحص السجل بعده. تقدم بوابة Ozeki SMS تجربة مستخدم رائعة بفضل واجهتها الرسومية البديهية وسهلة التعلم.

الفيديو 2 - كيفية استخدام مشروع ReceiveSms.xcodeproj (فيديو تعليمي)

الختام

كان الهدف من هذا الدليل شرح خطوات استقبال الرسائل النصية بلغة Objective C بمساعدة بوابة Ozeki SMS. بعد قراءة هذه المقالة، لن يكون نقل الرسائل من صندوق الوارد إلى برنامج Objective C مشكلة بأي شكل من الأشكال. بذلك، يمكنك التأكد من وصول الرسائل النصية إلى وجهتها المحددة. يمكن تنزيل بوابة Ozeki SMS من موقعنا واستخدامها مجانًا خلال فترة التجربة.

تابع القراءة على صفحة البرامج التعليمية لـ Ozeki، حيث يمكنك العثور على المزيد من المعلومات حول مواضيع مثل جدولة الرسائل النصية بلغة Objective C.

كل ما عليك فعله الآن هو تنزيل بوابة Ozeki SMS والبدء في العمل!

More information