Kako poslati SMS iz Objective C
Najjednostavniji način za slanje SMS-a iz Objective C je korištenje ugrađenog HTTP/Rest SMS API-ja Ozeki SMS Gatewaya. Kada koristite ovaj API, slat ć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.
Objective C kod za slanje sms-a na mobilni telefon
Objective C sms primjer koda ispod pokazuje kako možete poslati SMS koristeći http rest sms api Ozeki SMS Gatewaya koristeći Objective C Ozeki.Libs.Rest biblioteku. Ova biblioteka vam je dostupna besplatno i možete je koristiti i mijenjati u bilo kojem od vaših projekata.
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" ]; // Morate zamijeniti IP adresu s IP-om računala na kojem se nalazi SMS Gateway! 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; }
Kako koristiti Objective C sms primjer:
Ovaj Objective C sms primjer može se koristiti u bilo kojoj Objective C core aplikaciji. Da biste ga koristili, morate dodati Ozeki.Libs.Rest.h header datoteku i Ozeki.Libs.Rest.m implementacijsku datoteku u svoj projekt. Nakon dodavanja reference projekta, morate staviti direktivu using Ozeki.Libs.Rest; u zaglavlje vašeg Objective C izvornog koda. To će vam omogućiti korištenje klasa koje pruža Ozeki.Libs.Rest biblioteka. Možete koristiti klasu Message za kreiranje SMS-a. Možete koristiti klasu MessageApi za slanje SMS-a SMS gatewayu. SMS gateway će proslijediti vašu poruku mobilnoj mreži bilo putem bežične veze ili putem interneta.
Preuzmite SendSMS.m
Izvorni kod objašnjen u ovom članku može se besplatno preuzeti, koristiti i mijenjati.
Preuzmi: SendSms.m.zip (59.6Kb)
Što se nalazi u SendSms.m.zip datoteci?
SendSms.m.zip datoteka sadrži Ozeki.Libs.Rest biblioteku, koja vam daje sve potrebne alate za slanje i primanje SMS poruka. Također ćete pronaći SendSms projekt u zip datoteci, koji sadrži primjer koda koji pokazuje kako poslati SMS. Ovaj primjer koda je naveden ispod.
Kako poslati SMS iz Objective C (Jednostavne smjernice)
Da biste poslali SMS iz Objective C:
- Instalirajte HTTP API korisnika na Windows računalu
- Omogućite Log komunikacijske događaje na Advanced kartici
- Postavite Xcode
- Preuzmite zatim raspakirajte SendSms.m.zip datoteku
- Otvorite SendSms.xcodeproj datoteku u Xcodeu
- Pokrenite Ozeki SMS Gateway aplikaciju na svom Windows računalu
- Pokrenite SendSms.m Objective C kod u Xcodeu
- Provjerite zapisnike da vidite je li SMS poslan
Instalirajte Ozeki SMS Gateway i kreirajte HTTP API korisnika
Da biste mogli poslati SMS iz Objective C, prvo morate instalirati Ozeki SMS Gateway. SMS gateway se može instalirati na istom računalu na kojem razvijate svoj Objective C kod u Visual studiju. Nakon instalacije, sljedeći korak je povezati Ozeki SMS Gateway s mobilnom mrežom. 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 kreiranje HTTP sms api korisničkog računa. Kreirajte korisnika s korisničkim imenom "http_user" i lozinkom "qwe123" kako bi primjer radio bez izmjena.
Nakon što je okruženje postavljeno, možete pokrenuti svoj Objective C kod.
HTTP API url za slanje sms-a iz Objective C
Da biste poslali SMS 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 na kojem 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 ovu enkodiranje:
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 enkodirate 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 linije 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-a, vaša Objective C aplikacija će poslati HTTP zahtjev sličan ovom ispod. Imajte na umu da ovaj zahtjev sadrži dio HTTP zaglavlja i dio HTTP tijela. HTTP tijelo je JSON kodirani string podataka. Sadrži broj primatelja i tekst poruke.
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 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 bio uspješan 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: 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" } ] } }
Povežite svoj SMS gateway s mobilnom mrežom i kreirajte HTTP API korisnički račun
Pretpostavljamo da ste već instalirali Ozeki SMS Gateway, i da ste ga povezali s mobilnom mrežom. Kako biste mogli slati SMS na mobilni telefon iz Objective C-a, potrebno je postaviti HTTP API korisnički račun u Ozeki SMS Gateway-u.
Kako postaviti HTTP API korisnički račun (Video tutorijal)
U ovom videu, pokazat ćemo vam kako možete postaviti novi HTTP API korisnički račun u Ozeki SMS Gateway-u. Počet će s glavnom stranicom Ozeki SMS Gateway-a i odvest će vas do točke u kojoj ćete imati funkcionalan korisnički račun. Naučit ćete kako postaviti lozinku za korisnički račun i kako omogućiti logiranje. Ovaj video je dug samo 30 minuta, ali vrlo je detaljan. Nećete imati problema s razumijevanjem. U videu koristimo Ozeki SMS Gateway koji ima vrlo intuitivno grafičko sučelje.
Kako poslati SMS iz Objective C-a koristeći Objective C SMS API (Video tutorijal)
Ovaj video pokazuje kako preuzeti datoteku SendSms.m.zip s ove stranice, i kako preuzeti njezin sadržaj u Xcode. Ako pogledate video, primijetit ćete da je sadržaj SendSms.m.zip datoteke smješten na Desktop. Također ćete vidjeti da dvoklikom na SendSms.xcodeproj projektnu datoteku otvaramo SendSms projekt. Xcode će prikazati neka upozorenja jer datoteka dolazi s weba. Jednostavno kliknite OK kako biste izbjegli ova upozorenja.
Primjer Objective C SMS-a: SendSms.xcodeproj
Primjer koda u nastavku dio je Xcode projekta SendSms.xcodeproj. U ovom rješenju postoje tri datoteke u projektu: SendSms.m, Ozeki.Libs.Rest.m, Ozeki.Libs.Rest.h.
Kako provjeriti je li SMS prihvaćen od strane HTTP korisnika
Nakon što je SMS poslan, dobro je provjeriti svoj SMS pristupnik, kako biste vidjeli što je primio. Dnevnik možete provjeriti otvaranjem detalja HTTP korisnika iz upravljačke konzole Ozeki SMS pristupnika. Sljedeći video pokazuje što trebate tražiti.
Slanje SMS-a s gore navedenim Objective C kodom (Video tutorial)
U ovom videu možete naučiti kako pokrenuti svoj kod i provjeriti događaje na korisniku. Počet će s praznom karticom događaja i odvest će vas do kartice događaja s zapisima. Uvijek možete dobiti više detalja o svojoj poruci i vezi na kartici događaja korisnika. Pokazat će vam kako otvoriti karticu događaja, kako poslati poruku i kako ponovno provjeriti karticu događaja. Ovaj video traje nešto više od 1 minute i lako ga je razumjeti. Koristimo Ozeki SMS pristupnik za bilježenje svakog detalja postupka slanja.
Kako provjeriti je li SMS poslan na mobilnu mrežu
Završni korak u provjeri postupka je pogledati dnevnike veze s mobilnom mrežom. Možda ćete morati uključiti bilježenje u konfiguraciji veze prije slanja poruke kako biste vidjeli dnevnike. Ako je bilježenje omogućeno, vidjet ćete broj telefona i tekst poruke koju ste poslali.
Kako testirati je li zahtjev prihvaćen od strane SMPP klijenta (Video tutorial)
U ovom videu provjerit ćemo zapis za događaj slanja na kartici Događaji SMPP klijenta. Naučit ćete kako pristupiti i što tražiti u dnevniku. Video traje samo 18 sekundi tako da ga lako možete pratiti. Ovdje također koristimo Ozeki SMS pristupnik.
SMS poruka primljena na mobilnom telefonu (Video tutorial)
U posljednjem videu moći ćete vidjeti kako izgleda primanje poruke poslane s Ozeki SMS pristupnika. Vidjet ćete IOS telefon kako prima obavijest o SMS poruci koju ste upravo poslali. Video traje samo 8 sekundi i vrlo je detaljan.
Sažetak
Ovaj vodič dao je uvid u slanje SMS-a u Objective C uz pomoć Ozeki SMS pristupnika. Ako je članak pažljivo proučen, slanje poruka u Objective C vrlo je jednostavno. Potrebno je naglasiti da Ozeki SMS pristupnik igra ogromnu ulogu u ovom procesu jer obavlja prijenos između programera i primatelja SMS-a. Ozeki SMS pristupnik vrlo je pouzdan i lako se upravlja.
Nastavite svoje učenje na Ozekijevoj stranici s tutorijalima gdje možete pročitati više o temama kao što su slanje više SMS-ova i zakazivanje SMS-a u Objective C.
Jedino što sada preostaje je preuzeti Ozeki SMS pristupnik i neka počne rad!
More information
- Objective-C pošalji SMS s HTTP REST API-jem (primjer koda)
- Objective-C pošalji više SMS-ova s HTTP REST API-jem (primjer koda)
- Objective-C zakazani SMS s HTTP REST API-jem (primjer koda)
- Objective C primi SMS s HTTP REST API-jem (primjer koda)
- Objective C izbriši SMS s HTTP REST API-jem (primjer koda)
- Kako preuzeti najnoviju Objective C SMS biblioteku s Githuba