Ako poslať viacero SMS z Objective C

Najjednoduchší spôsob, ako poslať viacero SMS z Objective-C, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete posielať SMS správy vydaním HTTP POST požiadavky na SMS bránu. HTTP POST požiadavka bude obsahovať správu formátovanú v json formáte. SMS brána pošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako poslať viacero sms z objective c
Obrázok 1 - Ako poslať viacero SMS z Objective C

Objective-C kód na odoslanie viacerých SMS na mobil

Nižšie uvedený vzorový kód Objective-C pre SMS demonštruje, ako môžete posielať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway pomocou knižnice Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju použiť a upraviť v akomkoľvek z vašich projektov.

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" ];
    // Musíte nahradiť IP adresu IP adresou počítača, na ktorom je SMS brána!
    
    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;
}

Ako použiť príklad Objective-C pre SMS:

Tento príklad Objective C pre SMS môže byť použitý v akejkoľvek aplikácii Objective C core. Na použitie je potrebné pridať hlavičkový súbor Ozeki.Libs.Rest.h a implementačný súbor Ozeki.Libs.Rest.m do vášho projektu. Po pridaní referencie projektu musíte vložiť direktívu using Ozeki.Libs.Rest; do hlavičkovej časti vášho Objective C zdrojového kódu. To vám umožní používať triedy poskytované knižnicou Ozeki.Libs.Rest. Môžete použiť triedu Message na vytvorenie SMS. Môžete použiť triedu MessageApi na odoslanie SMS na SMS bránu. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť SendMultipleSms.m

Zdrojový kód vysvetlený v tomto článku môže byť stiahnutý, použitý a upravený bezplatne.
Stiahnuť: SendMultipleSms.m.zip (48.4Kb)

Čo je v súbore SendMultipleSms.m?

Súbor SendMultipleSms.m obsahuje knižnicu Ozeki.Libs.Rest, ktorá vám poskytuje všetky potrebné nástroje na odosielanie a prijímanie SMS správ. Nájdete tu aj projekt SendMultipleSms v zip súbore, ktorý obsahuje príkladový kód, ktorý vám ukáže, ako odoslať SMS. Tento príkladový kód je uvedený nižšie.

adresár pre odoslanie viacerých sms
Obrázok 2 - Čo je vo vnútri SendMultipleSms.m.zip

Ako poslať viacero SMS z Objective-C (Rýchle kroky)

Na odoslanie viacerých SMS z Objective-C:

  1. Nainštalujte používateľa HTTP API na počítač s Windows
  2. Povoľte Logovanie komunikačných udalostí na karte Pokročilé
  3. Nastavte Xcode
  4. Stiahnite a rozbaľte súbor SendMultipleSms.m.zip
  5. Otvorte súbor SendMultipleSms.xcodeproj v Xcode
  6. Spustite aplikáciu Ozeki SMS Gateway na vašom počítači s Windows
  7. Spustite kód Objective C SendMultipleSms.m v Xcode
  8. Skontrolujte logy, či bola SMS odoslaná
Nainštalujte Ozeki SMS Gateway a vytvorte používateľa HTTP API

Aby ste mohli posielať SMS z Objective-C, musíte najprv nainštalovať Ozeki SMS Gateway. SMS bránu je možné nainštalovať na rovnaký počítač, kde vyvíjate svoj kód Objective-C v Visual studio. Po inštalácii je ďalším krokom pripojenie Ozeki SMS Gateway k mobilnej sieti. Môžete odoslať testovaciu SMS z Ozeki GUI na overenie, či vaše mobilné sieťové pripojenie funguje. Posledným krokom na prípravu vášho prostredia je vytvorenie používateľa HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby príklad fungoval bez úprav.

Po nastavení prostredia môžete spustiť svoj kód Objective-C.

HTTP API URL na odoslanie SMS z Objective-C

Na odoslanie SMS z Objective-C bude vaše Objective-C musieť vydať HTTP požiadavku na SMS bránu. API URL je uvedené nižšie. Upozorňujeme, že IP adresa (127.0.0.1) by mala byť nahradená IP adresou vašej SMS brány. Ak je Ozeki SMS Gateway nainštalovaný na rovnakom počítači, kde beží vaša aplikácia Objective-C pre SMS, môže to byť 127.0.0.1. Ak je nainštalovaný na inom počítači, mala by to byť IP adresa toho počítača.

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

HTTP autentifikácia na odosielanie SMS z Objective-C

Na autentifikáciu klienta SMS v Objective-C je potrebné odoslať používateľské meno a heslo v reťazci zakódovanom do base64 na server v HTTP požiadavke. Používa sa formát: base64(používateľské meno+":"+heslo). V Objective-C môžete na toto kódovanie použiť nasledujúci kód:

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 ];

Napríklad, ak zakódujete používateľské meno 'http_user' a heslo 'qwe123', dostanete nasledujúci reťazec zakódovaný do base64: aHR0cF91c2VyOnF3ZTEyMw==. Na odoslanie

HTTP hlavička požiadavky na odoslanie SMS z Objective-C

Na odoslanie SMS správ musíte do HTTP požiadavky zahrnúť nasledujúce riadky ako hlavičky. Poznamenajte si, že obsahujeme hlavičku typu obsahu a autorizačnú hlavičku.

Content-Type: application/json
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požiadavka na odoslanie SMS z Objective-C

Na odoslanie SMS správ vaša aplikácia v Objective-C odošle HTTP požiadavku podobnú nižšie uvedenej. Všimnite si, že táto požiadavka obsahuje časť HTTP hlavičky a časť tela HTTP. Telo HTTP je reťazec dát zakódovaný do JSON. Obsahuje číslo príjemcu a text správy.

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 odpoveď prijatá príkladom SMS v Objective-C

Keď SMS brána prijme túto požiadavku, vygeneruje HTTP odpoveď. HTTP odpoveď bude obsahovať stavový kód, ktorý indikuje, či bola požiadavka na odoslanie SMS úspešná alebo nie. Tiež vráti štruktúru zakódovanú do JSON, ktorá poskytne užitočné informácie o odoslaní správy.

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"
	    }
	  ]
	}
}
Príklad SMS v Objective-C: SendMultipleSms.xcodeproj

Ako stiahnuť a otvoriť vyššie uvedené riešenie (Video návod)

V tomto videu vám ukážeme, ako si môžete stiahnuť ukážkový projekt a otvoriť ho. Začne sa vo vašom prehliadači na stránke s návodom a skončí s ukážkovým projektom na vašom počítači. Dozviete sa, kde kliknúť na stiahnutie súboru a kde ho hľadať po dokončení sťahovania. Video je dlhé len 30 sekúnd, takže nebudete mať problém postupovať podľa krokov.

Video 1 - Ako stiahnuť a otvoriť vyššie uvedené riešenie (Video návod)

Ukážkový kód nižšie je súčasťou projektu SendMultipleSms.xcodeproj. V zip súbore je len jeden projekt: SendMultipleSms.xcodeproj, a tri súbory: SendMultipleSms.m, Ozeki.Libs.Rest.h, Ozeki.Libs.Rest.m.

ako poslať viacero sms pomocou objective c
Obrázok 3 - SendMultipleSms.xcodeproj

Ako používať projekt SendMultipleSms.xcodeproj

V nasledujúcom videu vám predstavíme, ako používať súbor projektu SendMultipleSMS. Začne sa prázdnym log súborom HTTP používateľa v Ozeki SMS Gateway a skončí sa záznamom o odoslaní SMS. Dozviete sa, ako spustiť aplikáciu na odosielanie SMS a potom skontrolovať log používateľa. Video je dlhé takmer 1 minútu, ale je veľmi podrobné, takže nebudete mať problém mu porozumieť. Vo videu používame Ozeki SMS Gateway, ktoré ponúka veľmi intuitívne grafické rozhranie pre lepší užívateľský zážitok.

Video 2 - Ako používať projekt SendMultipleSms.xcodeproj (Video návod)

Záver

Tento návod ukázal kroky na odoslanie viacerých SMS v Objective C s pomocou Ozeki SMS Gateway. S týmto podrobným článkom je oslovenie viacerých zákazníkov narýchlo jednoduché. Použitie tejto funkcie umožňuje odosielanie správ viacerým ľuďom, čím sa zrýchli výmena informácií. Ozeki SMS Gateway pracuje s vysokým výkonom, čo znamená, že dokáže odoslať až 1000 SMS za sekundu, takže odosielanie viacerých SMS v Objective C je s týmto programom veľmi jednoduché.

Uistite sa, že tu nekončíte s čítaním, navštívte stránku s návodmi Ozeki, aby ste sa dozvedeli viac o podobných témach, ako je prijímanie v Objective C.

Ďalšou vecou, ktorú musíte urobiť, je stiahnuť si Ozeki SMS Gateway a začať pracovať hneď teraz!

More information