كيفية إرسال رسالة نصية من Objective C
أبسط طريقة لإرسال رسائل SMS من Objective C هي استخدام واجهة برمجة تطبيقات HTTP/Rest المدمجة في Ozeki SMS Gateway. عند استخدام هذه الواجهة، ستقوم بإرسال رسائل SMS عن طريق إرسال طلب HTTP Post إلى بوابة الرسائل. سيحتوي طلب HTTP Post على رسالة مُنسقة بتنسيق json. ستقوم بوابة الرسائل بإرسال هذه الرسالة إلى هاتف المستلم، وستعيد رد HTTP 200 OK لطلبك.
كود Objective C لإرسال رسالة نصية إلى الهاتف المحمول
يوضح مثال كود Objective C لإرسال الرسائل النصية أدناه كيف يمكنك إرسال رسائل SMS باستخدام واجهة برمجة تطبيقات HTTP Rest الخاصة بـ Ozeki SMS Gateway باستخدام مكتبة Ozeki.Libs.Rest لـ Objective C. هذه المكتبة مقدمة لك مجانًا، ويمكنك استخدامها وتعديلها في أي من مشاريعك.
SendSms.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://127.0.0.1:9509/api" ]; // يجب استبدال عنوان IP بعنوان IP للكمبيوتر الذي يحتوي على بوابة الرسائل! Message * msg = [ [ Message alloc ] init ]; [ msg setToAddress : @"+36201111111" ]; [ msg setText : @"Hello world!" ]; MessageApi * api = [ [ MessageApi alloc ] initWithConfiguration : configuration ]; MessageSendResult * result = [ api SendMessage: msg ]; NSLog(@"%@", result); 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 لإرسال الرسالة النصية إلى بوابة الرسائل. ستقوم بوابة الرسائل بإعادة توجيه رسالتك إلى شبكة الهاتف المحمول إما عبر اتصال لاسلكي أو عبر الإنترنت.
تحميل SendSMS.m
يمكن تنزيل كود المصدر الموضح في هذه المقالة واستخدامه وتعديله مجانًا.
تحميل: SendSms.m.zip (59.6 كيلوبايت)
ما الموجود في ملف SendSms.m.zip؟
يحتوي ملف SendSms.m.zip على مكتبة Ozeki.Libs.Rest، والتي تمنحك جميع الأدوات اللازمة لإرسال واستقبال رسائل SMS. ستجد أيضًا مشروع SendSms في الملف المضغوط، والذي يحتوي على كود المثال ليوضح لك كيفية إرسال رسالة SMS. كود المثال هذا مدرج أدناه.
كيفية إرسال رسالة نصية من Objective C (إرشادات بسيطة)
لإرسال رسالة نصية من Objective C:
- قم بتثبيت مستخدم HTTP API على جهاز يعمل بنظام Windows
- قم بتمكين تسجيل أحداث الاتصال في علامة التبويب المتقدم
- قم بإعداد Xcode
- قم بتنزيل ثم استخراج ملف SendSms.m.zip
- افتح ملف SendSms.xcodeproj في Xcode
- قم بتشغيل تطبيق Ozeki SMS Gateway على جهاز Windows الخاص بك
- قم بتشغيل كود Objective C SendSms.m في Xcode
- تحقق من السجلات لمعرفة ما إذا تم إرسال الرسالة النصية
تثبيت 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 لاستخدام إرسال رسالة نصية من 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==
لإرسال الرسالة القصيرة، سيقوم تطبيق Objective C الخاص بك بإرسال طلب HTTP مشابه للطلب أدناه. لاحظ أن هذا الطلب يحتوي على جزء رأس HTTP وجسم HTTP. جسم HTTP هو سلسلة بيانات مشفرة بـ JSON. يحتوي على رقم المستلم ونص الرسالة.
POST /api?action=sendmsg HTTP/1.1 Connection: keep-alive Content-Length: 332 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: SendSms.m (unknown version) CFNetwork/1220.1 Darwin/20.3.0 { "messages": [ { "is_view_report_requested": false, "create_date": "2021-07-23T07:54:47", "message_id": "8de52a43-b6e4-4aa9-8198-54d54f252a83", "time_to_send": "2021-07-23T07:54:47", "valid_until": "2021-07-30T07:54:47", "is_submit_report_requested": false, "to_address":"+36201111111", "text": "Hello world!", "is_delivery_report_requested": false } ] }
بمجرد استلام بوابة الرسائل القصيرة لهذا الطلب، ستقوم بإنشاء استجابة 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: Thu, 22 Jul 2021 12:17:05 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 1, "success_count": 1, "failed_count": 0, "messages": [ { "message_id": "8de52a43-b6e4-4aa9-8198-54d54f252a83", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world!", "create_date": "2021-07-23 07:54:47", "valid_until": "2021-07-30 07:54:47", "time_to_send": "2021-07-23 07:54:47", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
نفترض أنك قمت بالفعل بتثبيت بوابة Ozeki للرسائل القصيرة، وقمت بتوصيلها بالشبكة المحمولة. لكي تتمكن من إرسال رسائل قصيرة إلى هاتف محمول من Objective C، تحتاج إلى إعداد حساب مستخدم HTTP API في بوابة Ozeki للرسائل القصيرة.
كيفية إعداد حساب مستخدم HTTP API (فيديو تعليمي)في هذا الفيديو، سنوضح لك كيفية إعداد حساب مستخدم جديد لـ HTTP API في بوابة Ozeki للرسائل القصيرة. سيبدأ من الصفحة الرئيسية لبوابة Ozeki للرسائل القصيرة وسيأخذك خطوة بخطوة حتى الحصول على حساب مستخدم يعمل. ستتعلم كيفية توفير كلمة مرور لحساب المستخدم وكيفية تمكين التسجيل. هذا الفيديو مدته 30 دقيقة فقط ولكنه مفصل جدًا. لن تواجه أي مشكلة في فهمه. في الفيديو، نستخدم بوابة Ozeki للرسائل القصيرة التي تتمتع بواجهة رسومية سهلة الاستخدام.
كيفية إرسال الرسائل القصيرة من Objective C باستخدام واجهة برمجة تطبيقات الرسائل القصيرة في Objective C (فيديو تعليمي)
يظهر لك هذا الفيديو كيفية تنزيل ملف SendSms.m.zip من هذه الصفحة، وكيفية تنزيل محتوياته في Xcode. إذا شاهدت الفيديو، ستلاحظ أن محتويات SendSms.m.zip توضع على سطح المكتب. ستلاحظ أيضًا أننا نضغط مرتين على ملف المشروع SendSms.xcodeproj لفتح مشروع SendSms. سيعرض Xcode بعض التحذيرات لأن الملف قادم من الويب. ببساطة اضغط موافق لتجنب هذه التحذيرات.
مثال على إرسال الرسائل القصيرة بلغة Objective C: SendSms.xcodeproj
كود المثال التالي هو جزء من مشروع Xcode SendSms.xcodeproj. في هذا الحل، هناك ثلاثة ملفات في هذا المشروع: ملفات SendSms.m، Ozeki.Libs.Rest.m، Ozeki.Libs.Rest.h.
كيفية التحقق من قبول الرسالة القصيرة من قبل مستخدم HTTP
بعد إرسال الرسالة القصيرة، من الجيد التحقق من بوابة الرسائل القصيرة (SMS Gateway) الخاصة بك، لمعرفة ما تم استلامه. يمكنك التحقق من السجل عن طريق فتح تفاصيل مستخدم HTTP من وحدة تحكم إدارة بوابة Ozeki للرسائل القصيرة. يوضح الفيديو التالي ما يجب البحث عنه.
إرسال الرسائل القصيرة باستخدام كود Objective C أعلاه (فيديو تعليمي)
في هذا الفيديو، يمكنك تعلم كيفية تشغيل الكود الخاص بك والتحقق من الأحداث التي حدثت على المستخدم. سيبدأ بعلامة تبويب أحداث فارغة وسيأخذك حتى علامة تبويب أحداث تحتوي على سجلات. يمكنك دائمًا الحصول على مزيد من التفاصيل حول رسالتك واتصالك في علامة تبويب أحداث المستخدم. سيوضح لك كيفية فتح علامة تبويب الأحداث، وكيفية إرسال الرسالة، وكيفية التحقق من علامة تبويب الأحداث مرة أخرى. هذا الفيديو أطول قليلاً من دقيقة واحدة وسهل الفهم. نحن نستخدم بوابة Ozeki للرسائل القصيرة لتسجيل كل تفصيل في عملية الإرسال.
كيفية التحقق من إرسال الرسالة القصيرة إلى شبكة الهاتف المحمول
الخطوة الأخيرة في التحقق من العملية هي النظر إلى سجلات اتصال شبكة الهاتف المحمول. قد تحتاج إلى تفعيل التسجيل في إعدادات الاتصال قبل إرسال الرسالة لرؤية السجلات. إذا كان التسجيل مفعلًا، سترى رقم الهاتف ونص الرسالة التي أرسلتها.
كيفية اختبار ما إذا كان العميل SMPP قد قبل الطلب (فيديو تعليمي)
في هذا الفيديو، سوف نتحقق من سجل حدث الإرسال في علامة تبويب الأحداث الخاصة بعميل SMPP. ستتعلم كيفية الوصول إليه وما الذي تبحث عنه في السجل. الفيديو مدته 18 ثانية فقط، لذا لن تواجه أي مشكلة في متابعته. نحن نستخدم بوابة Ozeki للرسائل القصيرة هنا أيضًا.
More information
- إرسال SMS باستخدام Objective-C مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- إرسال عدة رسائل SMS باستخدام Objective-C مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- جدولة SMS باستخدام Objective-C مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- استقبال SMS باستخدام Objective-C مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- حذف SMS باستخدام Objective-C مع واجهة برمجة التطبيقات REST (HTTP) (عينة كود)
- كيفية تنزيل أحدث مكتبة Objective-C SMS من Github