Ako prijímať SMS z Objective C

Najjednoduchší spôsob, ako prijímať SMS z Objective-C, je použiť vstavanú HTTP/Rest SMS API Ozeki SMS Gateway. Keď použijete toto API, budete odosielať 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 odošle túto SMS na telefón príjemcu a vráti HTTP 200 OK odpoveď na vašu požiadavku.

ako prijímať sms z objective c
Obrázok 1 - Ako prijímať SMS z Objective C

Objective-C kód na prijímanie SMS do mobilného zariadenia

Ukážka kódu Objective-C pre SMS nižšie demonštruje, ako môžete prijímať SMS pomocou HTTP REST SMS API Ozeki SMS Gateway s použitím knižnice Ozeki.Libs.Rest. Táto knižnica je poskytovaná bezplatne a môžete ju používať a upravovať v akomkoľvek z vašich projektov.

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

Ako používať ukážku Objective-C pre SMS:

Túto ukážku Objective-C pre SMS môžete použiť v akejkoľvek aplikácii Objective-C. 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 zdrojového kódu Objective-C. 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 do SMS brány. SMS brána prepošle vašu správu do mobilnej siete buď prostredníctvom bezdrôtového pripojenia alebo cez internet.

Stiahnuť ReceiveSms.m

Zdrojový kód vysvetlený v tomto článku je možné stiahnuť, použiť a upravovať bezplatne.
Stiahnuť: ReceiveSms.m.zip (45.2Kb)

Čo obsahuje súbor ReceiveSms.m?

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

adresár receive sms m
Obrázok 2 - Čo je vo vnútri ReceiveSms.m.zip

Ako prijímať SMS z Objective-C (Rýchle kroky)

Na prijímanie SMS z Objective-C:

  1. Nainštalujte používateľa HTTP API na počítači s Windows
  2. Povoľte Logovanie komunikačných udalostí na karte Pokročilé
  3. Nastavte Xcode
  4. Stiahnite a rozbaľte súbor ReceiveSms.m.zip
  5. Otvorte súbor ReceiveSms.xcodeproj v Xcode
  6. Spustite aplikáciu Ozeki SMS Gateway na vašom počítači s Windows
  7. Spustite kód Objective-C ReceiveSms.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 odosielať 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 grafického rozhrania Ozeki na overenie, či vaše pripojenie k mobilnej sieti funguje. Posledným krokom pri príprave vášho prostredia je vytvorenie používateľského účtu HTTP SMS API. Vytvorte používateľa s používateľským menom "http_user" a heslom "qwe123", aby ukážka fungovala bez úprav.

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

URL HTTP API na odosielanie SMS z Objective-C

Na odosielanie SMS z Objective-C bude váš 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ží 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 tohto počítača.

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

HTTP autentifikácia na odosielanie SMS z Objective-C

Na autentifikáciu Objective-C SMS klienta musíte odoslať používateľské meno a heslo v base64 kódovanom reťazci na server v HTTP požiadavke. Používa sa formát: base64(username+":"+password). 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 base64 kódovaný reťazec: 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 Content-Type a Authorization.

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

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

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

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 JSON kódovanú štruktúru, ktorá poskytuje 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 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"
	        }
	      ]
	    }
	  ]
	}
}
Ako stiahnuť projekt (Video návod)

V tomto videu vám ukážeme, ako môžete stiahnuť súbory projektu potrebné na prijímanie SMS správ v Objective-C. Začína sa na tejto stránke s návodom a končí otvoreným zdrojovým kódom. Dozviete sa, kde kliknúť na stiahnutie súborov a čo použiť pri otváraní kódu na úpravu. Video je dlhé len 22 sekúnd, ale obsahuje všetky informácie, ktoré potrebujete na prijímanie SMS správ v Objective-C.

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

Príklad kódu nižšie je súčasťou projektu ReceiveSms.xcodeproj. V zip súbore je len jeden projekt: ReceiveSms.xcodeproj, a tri súbory: ReceiveSms.m, Ozeki.Libs.Rest.h, Ozeki.Libs.Rest.m.

ako prijímať sms pomocou objective c
Obrázok 3 - ReceiveSms.xcodeproj

Ako používať projekt (Video návod)

V nasledujúcom videu vám predstavíme, ako používať kód a čo sa stane, keď ho použijete. Video je dlhé 55 sekúnd, ale obsahuje všetky informácie, ktoré potrebujete na začatie práce s projektom. Začne sa prihlásením do Ozeki SMS Gateway a prevedie vás až k prijatým správam. Dozviete sa, ako otvoriť a spustiť kód a skontrolovať log po ňom. Ozeki SMS Gateway ponúka skvelý užívateľský zážitok vďaka intuitívnemu a ľahko zvládnuteľnému grafickému rozhraniu.

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

Záver

Tento návod mal za cieľ vysvetliť kroky prijímania SMS v Objective C s pomocou Ozeki SMS gateway. Po prečítaní tohto článku by prenos správ z doručenej pošty do programu Objective C nemal spôsobovať žiadne problémy. Týmto spôsobom môžete zabezpečiť, že SMS správy sú na mieste, kam patria. Ozeki SMS Gateway si môžete stiahnuť z našej webovej stránky a môžete ho vyskúšať zadarmo počas skúšobného obdobia.

Pokračujte v čítaní na stránke s návodmi Ozeki, kde nájdete viac informácií o témach, ako sú plánovanie SMS v Objective C.

Teraz už zostáva len stiahnuť si Ozeki SMS Gateway a začať pracovať!

More information