Kako primiti SMS iz Objective C

Najjednostavniji način za primanje SMS-a iz Objective-C je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slati ćete SMS poruke slanjem HTTP Post zahtjeva SMS gatewayu. HTTP Post zahtjev će sadržavati poruku formatiranu u json formatu. SMS gateway će poslati ovaj SMS na telefon primatelja i vratit će HTTP 200 OK odgovor na vaš zahtjev.

kako primiti sms iz objective c
Slika 1 - Kako primiti SMS iz Objective C

Objective-C kod za primanje SMS-a na mobitel

Objective-C SMS kod primjer ispod pokazuje kako možete primati SMS koristeći http rest SMS API Ozeki SMS Gatewaya koristeći Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.

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

Kako koristiti Objective-C SMS primjer:

Ovaj Objective C SMS primjer može se koristiti u bilo kojoj Objective C osnovnoj aplikaciji. Za korištenje morate dodati Ozeki.Libs.Rest.h header datoteku i Ozeki.Libs.Rest.m implementacijsku datoteku u vaš projekt. Nakon dodavanja reference projekta, morate staviti using Ozeki.Libs.Rest; direktivu u header dio vašeg Objective C izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti Message klasu za kreiranje SMS-a. Možete koristiti MessageApi klasu za slanje SMS-a SMS gatewayu. SMS gateway će proslijediti vašu poruku na mobilnu mrežu bilo putem bežične veze ili putem interneta.

Preuzmi ReceiveSms.m

Izvorni kod objašnjen u ovom članku može se preuzeti, koristiti i mijenjati besplatno.
Preuzmi: ReceiveSms.m.zip (45.2Kb)

Što se nalazi u ReceiveSms.m datoteci?

ReceiveSms.m datoteka sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve alate potrebne za slanje i primanje SMS poruka. Također ćete pronaći ReceiveSms projekt u zip datoteci, koji sadrži primjer koda koji pokazuje kako poslati SMS. Ovaj primjer koda je naveden ispod.

receive sms m direktorij
Slika 2 - Što se nalazi unutar ReceiveSms.m.zip

Kako primiti SMS iz Objective-C (Brzi koraci)

Za primanje SMS-a iz Objective-C:

  1. Instalirajte HTTP API korisnika na Windows računalu
  2. Omogućite Log komunikacijske događaje na Advanced kartici
  3. Postavite Xcode
  4. Preuzmite zatim raspakirajte ReceiveSms.m.zip datoteku
  5. Otvorite ReceiveSms.xcodeproj datoteku u Xcodeu
  6. Pokrenite Ozeki SMS Gateway aplikaciju na vašem Windows računalu
  7. Pokrenite ReceiveSms.m Objective C kod u Xcodeu
  8. Provjerite logove da vidite je li SMS poslan

Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika

Da biste mogli slati SMS iz Objective-C, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu gdje razvijate svoj Objective-C kod u Visual studiju. Nakon instalacije, sljedeći korak je povezati Ozeki SMS Gateway na mobilnu mrežu. Možete poslati testni SMS iz Ozeki GUI-a kako biste potvrdili da vaša mobilna mrežna veza radi. Konačni korak za pripremu vašeg okruženja je kreirati HTTP SMS API korisnički račun. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez modifikacija.

Nakon postavljanja okruženja, možete pokrenuti svoj Objective-C kod.

HTTP API url za slanje SMS-a iz Objective-C

Za slanje SMS-a iz Objective-C, vaš Objective-C će morati poslati HTTP zahtjev SMS gatewayu. API url je prikazan ispod. Imajte na umu da IP adresa (127.0.0.1) treba biti zamijenjena IP adresom vašeg SMS gatewaya. Ako je Ozeki SMS Gateway instaliran na istom računalu gdje se pokreće Objective-C SMS aplikacija, ovo može biti 127.0.0.1. Ako je instaliran na drugom računalu, treba biti IP adresa tog računala.

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

HTTP autentifikacija za slanje SMS-a iz Objective-C-a

Za autentifikaciju Objective-C SMS klijenta, potrebno je poslati korisničko ime i lozinku u base64 kodiranom stringu na server u HTTP zahtjevu. Korišteni format je: base64(korisničko_ime+":"+lozinka). U Objective-C-u možete koristiti sljedeći kod za to kodiranje:

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

Na primjer, ako kodirate korisničko ime 'http_user' i lozinku 'qwe123', dobit ćete sljedeći base64 kodirani string: aHR0cF91c2VyOnF3ZTEyMw==. Za slanje

HTTP zaglavlje zahtjeva za slanje SMS-a iz Objective-C-a

Za slanje SMS poruka, potrebno je uključiti sljedeće retke kao zaglavlja u HTTP zahtjev. Imajte na umu da uključujemo Content-Type i Authorization zaglavlje.

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

HTTP zahtjev za slanje SMS-a iz Objective-C-a

Za slanje SMS poruka, vaša Objective-C aplikacija će poslati HTTP zahtjev sličan donjem. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani podatkovni string. Sadrži broj primatelja i tekst poruke.

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 odgovor primljen od Objective-C SMS primjera

Nakon što SMS gateway primi ovaj zahtjev, generirat će HTTP odgovor. HTTP odgovor će sadržavati statusni kod, kako bi naznačio je li zahtjev za slanje SMS-a uspio ili ne. Također će vratiti JSON kodiranu strukturu koja vam pruža korisne detalje o slanju poruke.

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"
	        }
	      ]
	    }
	  ]
	}
}

Kako preuzeti projekt (Video tutorial)

U ovom videu pokazujemo kako možete preuzeti projektne datoteke potrebne za primanje SMS poruka u Objective-C-u. Počet će s ovom stranicom tutoriala i završiti s otvorenim izvornim kodom. Naučit ćete gdje kliknuti za preuzimanje datoteka i što koristiti prilikom otvaranja koda za uređivanje. Video je dug samo 22 sekunde, ali sadrži sve informacije koje su vam potrebne za primanje SMS poruka u Objective-C-u.

Video 1 - Kako preuzeti i otvoriti rješenje gore (Video tutorial)

Primjer koda u nastavku dio je projekta ReceiveSms.xcodeproj. U zip datoteci nalazi se samo jedan projekt: ReceiveSms.xcodeproj, i tri datoteke: ReceiveSms.m, Ozeki.Libs.Rest.h, Ozeki.Libs.Rest.m.

kako primati sms koristeći objective c
Slika 3 - ReceiveSms.xcodeproj

Kako koristiti projekt (Video tutorial)

U sljedećem videu prikazujemo vam kako koristiti kod i što se događa kada ga koristite. Video traje 55 sekundi, ali sadrži sve informacije koje su vam potrebne za početak rada s projektom. Počet će s prijavom u Ozeki SMS Gateway i odvest će vas sve do primljenih poruka. Naučit ćete kako otvoriti i pokrenuti kod te provjeriti log nakon toga. Ozeki SMS Gateway nudi izvrsno korisničko iskustvo zahvaljujući intuitivnom i lako naučivom grafičkom sučelju.

Video 2 - Kako koristiti projekt ReceiveSms.xcodeproj (Video tutorial)

Zaključak

Ovaj vodič imao je za cilj objasniti korake primanja SMS poruka u Objective C uz pomoć Ozeki SMS gatewaya. Nakon čitanja ovog članka, prijenos poruka iz pristigle pošte u Objective C program ne bi trebao uzrokovati nikakve probleme. Na taj način možete osigurati da su SMS poruke na svojem odredišnom mjestu. Ozeki SMS Gateway možete preuzeti s naše web stranice i koristiti ga besplatno tijekom probnog razdoblja.

Nastavite čitati na Ozekijevoj stranici s tutorijalima, gdje možete pronaći više informacija o temama poput planiranja SMS poruka u Objective C.

Jedino što sada preostaje je preuzeti Ozeki SMS Gateway i neka počne rad!

More information