كيفية إرسال رسائل SMS متعددة من Objective C

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

كيفية إرسال رسائل SMS متعددة من Objective C
الشكل 1 - كيفية إرسال رسائل SMS متعددة من Objective C

كود Objective-C لإرسال رسائل SMS متعددة إلى الهاتف المحمول

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

SendMultipleSms.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" ];
    // يجب استبدال عنوان IP بعنوان IP للكمبيوتر الذي يحتوي على بوابة الرسائل القصيرة!
    
    MessageApi * api = [ [ MessageApi alloc ] initWithConfiguration : configuration ];
    
    Message * msg1 = [ [ Message alloc ] init ];
    [ msg1 setToAddress : @"+36201111111" ];
    [ msg1 setText : @"Hello world 1" ];
    
    Message * msg2 = [ [ Message alloc ] init ];
    [ msg2 setToAddress : @"+36202222222" ];
    [ msg2 setText : @"Hello world 2" ];
    
    Message * msg3 = [ [ Message alloc ] init ];
    [ msg3 setToAddress : @"+36203333333" ];
    [ msg3 setText : @"Hello world 3" ];
    
    NSMutableArray<Message *> * messages = [ [ NSMutableArray<Message *> alloc ] initWithObjects: msg1, msg2, msg3, nil ];
    
    MessageSendResults * result = [ api SendMessages: messages ];
    
    NSLog(@"%@", result);
    
    return 0;
}

كيفية استخدام مثال Objective-C لإرسال SMS:

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

تحميل SendMultipleSms.m

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

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

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

دليل إرسال رسائل SMS متعددة
الشكل 2 - ما بداخل SendMultipleSms.m.zip

كيفية إرسال رسائل SMS متعددة من Objective-C (خطوات سريعة)

لإرسال رسائل SMS متعددة من Objective-C:

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

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

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

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

رابط HTTP API لاستخدام إرسال SMS من Objective-C

لإرسال رسائل SMS من 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. يحتوي على رقم المستلم ونص الرسالة.

POST /api?action=sendmsg HTTP/1.1
Connection: keep-alive
Content-Length: 971
Content-Type: application/json
Accept: application/json
Accept-Encoding: gzip, deflate
Accept-Language: en-gb
Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw==
Host: 192.168.0.14:9509
User-Agent: SendMutipleSms.m (unknown version) CFNetwork/1220.1 Darwin/20.3.0

{
	"messages": [
		{
			"is_view_report_requested": false,
			"create_date": "2021-07-23T09:23:25",
			"message_id": "9c6a7eb2-37b5-4fea-a75f-c0cdaba85466",
			"time_to_send": "2021-07-23T09:23:25",
			"valid_until": "2021-07-30T09:23:25",
			"is_submit_report_requested": false,
			"to_address": "+36201111111",
			"text": "Hello world 1",
			"is_delivery_report_requested": false
		},
		{
			"is_view_report_requested": false,
			"create_date": "2021-07-23T09:23:25",
			"message_id": "8f2ff6cb-417a-4650-a474-8adc4b005cc4",
			"time_to_send": "2021-07-23T09:23:25",
			"valid_until": "2021-07-30T09:23:25",
			"is_submit_report_requested": false,
			"to_address": "+36202222222",
			"text": "Hello world 2",
			"is_delivery_report_requested": false
		},
		{
			"is_view_report_requested": false,
			create_date": "2021-07-23T09:23:25",
			"message_id": "39b54837-a7e5-4319-a154-25d25bf3d920",
			"time_to_send": "2021-07-23T09:23:25",
			"valid_until": "2021-07-30T09:23:25",
			"is_submit_report_requested": false,
			"to_address": "+36203333333",
			"text": "Hello world 3",
			"is_delivery_report_requested": false
		}
	]
}

استجابة 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 09:21:44 GMT
Server: 10/10.3.123
Transfer-Encoding: chunked

{
	"http_code": 200,
	"response_code": "SUCCESS",
	"response_msg": "Messages queued for delivery.",
	"data": {
	  "total_count": 3,
	  "success_count": 3,
	  "failed_count": 0,
	  "messages": [
	    {
	      "message_id": "9c6a7eb2-37b5-4fea-a75f-c0cdaba85466",
	      "from_station": "%",
	      "to_address": "+36201111111",
	      "to_station": "%",
	      "text": "Hello world 1",
	      "create_date": "2021-07-23 09:23:25",
	      "valid_until": "2021-07-30 09:23:25",
	      "time_to_send": "2021-07-23 09:23:25",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "8f2ff6cb-417a-4650-a474-8adc4b005cc4",
	      "from_station": "%",
	      "to_address": "+36202222222",
	      "to_station": "%",
	      "text": "Hello world 2",
	      "create_date": "2021-07-23 09:23:25",
	      "valid_until": "2021-07-30 09:23:25",
	      "time_to_send": "2021-07-23 09:23:25",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    },
	    {
	      "message_id": "39b54837-a7e5-4319-a154-25d25bf3d920",
	      "from_station": "%",
	      "to_address": "+36203333333",
	      "to_station": "%",
	      "text": "Hello world 3",
	      "create_date": "2021-07-23 09:23:25",
	      "valid_until": "2021-07-30 09:23:25",
	      "time_to_send": "2021-07-23 09:23:25",
	      "submit_report_requested": true,
	      "delivery_report_requested": false,
	      "view_report_requested": false,
	      "tags": [
	        {
	          "name": "Type",
	          "value": "SMS:TEXT"
	        }
	      ],
	      "status": "SUCCESS"
	    }
	  ]
	}
}

مثال الرسائل القصيرة في Objective-C: SendMultipleSms.xcodeproj

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

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

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

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

كيفية إرسال رسائل SMS متعددة باستخدام Objective-C
الشكل 3 - SendMultipleSms.xcodeproj

كيفية استخدام مشروع SendMultipleSms.xcodeproj

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

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

الختام

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

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

الشيء التالي الذي يجب فعله هو تنزيل Ozeki SMS Gateway والبدء في العمل الآن!

More information