Jak odeslat SMS z Objective C
Nejjednodušší způsob, jak odeslat SMS z Objective C, je použít vestavěné HTTP/Rest SMS API Ozeki SMS Gateway. Když použijete toto API, budete odesílat SMS zprávy odesláním HTTP Post požadavku na SMS bránu. HTTP Post požadavek bude obsahovat zprávu formátovanou ve formátu json. SMS brána odešle tuto SMS na telefon příjemce a vrátí HTTP 200 OK odpověď na váš požadavek.
Objective C kód pro odeslání SMS na mobil
Níže uvedený ukázkový kód Objective C pro SMS demonstruje, jak můžete odeslat SMS pomocí http rest sms api Ozeki SMS Gateway s použitím knihovny Objective C Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli z vašich projektů.
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" ]; // Musíte nahradit IP adresu IP počítače, na kterém je SMS brána! 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; }
Jak použít ukázku Objective C pro SMS:
Tato ukázka Objective C pro SMS může být použita v jakékoli základní aplikaci Objective C. Pro použití musíte přidat hlavičkový soubor Ozeki.Libs.Rest.h a implementační soubor Ozeki.Libs.Rest.m do vašeho projektu. Po přidání odkazu na projekt musíte vložit direktivu using Ozeki.Libs.Rest; do hlavičkové části vašeho zdrojového kódu Objective C. To vám umožní používat třídy poskytované knihovnou Ozeki.Libs.Rest. Můžete použít třídu Message k vytvoření SMS. Můžete použít třídu MessageApi k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď přes bezdrátové připojení nebo přes Internet.
Stáhnout SendSMS.m
Zdrojový kód vysvětlený v tomto článku lze stáhnout a používat a upravovat zdarma.
Stáhnout: SendSms.m.zip (59.6Kb)
Co je v souboru SendSms.m.zip?
Soubor SendSms.m.zip obsahuje knihovnu Ozeki.Libs.Rest, která vám poskytuje všechny nástroje potřebné k odesílání a přijímání SMS zpráv. V zipu také najdete projekt SendSms, který obsahuje ukázkový kód, který vám ukáže jak odeslat SMS. Tento ukázkový kód je uveden níže.
Jak odeslat SMS z Objective C (Jednoduché pokyny)
Pro odeslání SMS z Objective C:
- Nainstalujte uživatele HTTP API na počítač s Windows
- Povolte Logování komunikačních událostí na záložce Pokročilé
- Nastavte Xcode
- Stáhněte a rozbalte soubor SendSms.m.zip
- Otevřete soubor SendSms.xcodeproj v Xcode
- Spusťte aplikaci Ozeki SMS Gateway na vašem počítači s Windows
- Spusťte kód Objective C SendSms.m v Xcode
- Zkontrolujte logy, zda byla SMS odeslána
Nainstalujte Ozeki SMS Gateway a vytvořte uživatele HTTP API
Abyste mohli odesílat SMS z Objective C, nejprve musíte nainstalovat Ozeki SMS Gateway. SMS bránu lze nainstalovat na stejný počítač, kde vyvíjíte svůj kód Objective C v Visual studiu. Po instalaci je dalším krokem připojení Ozeki SMS Gateway k mobilní síti. Můžete odeslat testovací sms z Ozeki GUI pro ověření, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvořit uživatele HTTP sms api. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby ukázka fungovala bez úprav.
Po nastavení prostředí můžete spustit svůj kód Objective C.
HTTP API url pro odesílání SMS z Objective C
Pro odeslání SMS z Objective C bude váš Objective C muset odeslat HTTP požadavek na SMS bránu. API url je uvedena níže. Všimněte si, že IP adresa (127.0.0.1) by měla být nahrazena IP adresou vaší SMS brány. Pokud je Ozeki SMS Gateway nainstalována na stejném počítači, kde běží aplikace Objective C pro SMS, může to být 127.0.0.1. Pokud je nainstalována na jiném počítači, měla by být použita IP adresa toho počítače.
http://127.0.0.1:9509/api?action=rest
HTTP autentizace pro odesílání SMS z Objective C
Pro autentizaci SMS klienta v Objective C je nutné odeslat uživatelské jméno a heslo jako řetězec zakódovaný v base64 na server v HTTP požadavku. Použitý formát je: base64(uživatelské_jméno+":"+heslo). V Objective C můžete pro toto kódování použít následující 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 ];
Například, pokud zakódujete uživatelské jméno 'http_user' a heslo 'qwe123', získáte následující řetězec zakódovaný v base64: aHR0cF91c2VyOnF3ZTEyMw==. Pro odeslání
HTTP hlavička požadavku pro odesílání SMS z Objective C
Pro odeslání SMS zpráv je nutné do HTTP požadavku zahrnout následující řádky jako hlavičky. Všimněte si, že zahrnujeme hlavičku Content-Type a Authorization.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
HTTP požadavek pro odesílání SMS z Objective C
Pro odeslání SMS bude vaše aplikace v Objective C odesílat HTTP požadavek podobný tomuto níže. Všimněte si, že tento požadavek obsahuje část HTTP hlavičky a část HTTP těla. HTTP tělo je řetězec dat zakódovaný v JSON. Obsahuje číslo příjemce a text zprávy.
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 odpověď přijatá příkladem SMS v Objective C
Jakmile SMS brána obdrží tento požadavek, vygeneruje HTTP odpověď. HTTP odpověď bude obsahovat stavový kód, který indikuje, zda byl požadavek na odeslání SMS úspěšný nebo ne. Také vrátí strukturu zakódovanou v JSON, která vám poskytne užitečné detaily o odeslání zprávy.
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" } ] } }
Připojte svou SMS bránu k mobilní síti a vytvořte účet HTTP API uživatele
Předpokládáme, že jste již nainstalovali Ozeki SMS Gateway, a že jste připojili ji k mobilní síti. Abyste mohli odesílat SMS na mobilní telefon z Objective C, je nutné nastavit účet HTTP API uživatele v Ozeki SMS Gateway.
Jak nastavit účet HTTP API uživatele (Video návod)
V tomto videu vám ukážeme, jak můžete nastavit nový účet HTTP API uživatele v Ozeki SMS Gateway. Začneme na hlavní stránce Ozeki SMS Gateway a provedeme vás celým procesem až k funkčnímu uživatelskému účtu. Dozvíte se, jak nastavit heslo pro uživatelský účet a jak povolit logování. Toto video je dlouhé pouze 30 minut, ale velmi podrobné. Nebudete mít problém mu porozumět. Ve videu používáme Ozeki SMS Gateway, které má velmi intuitivní grafické rozhraní.
Jak odesílat SMS z Objective C pomocí SMS API v Objective C (Video návod)
Toto video vám ukáže, jak stáhnout soubor SendSms.m.zip z této stránky a jak jeho obsah načíst v Xcode. Pokud se podíváte na video, všimnete si, že obsah SendSms.m.zip je umístěn na Plochu. Uvidíte také, že dvakrát klikneme na soubor projektu SendSms.xcodeproj, abychom otevřeli projekt SendSms. Xcode zobrazí některá varování, protože soubor pochází z webu. Jednoduše klikněte na OK, abyste těmto varováním předešli.
Příklad SMS v Objective C: SendSms.xcodeproj
Níže uvedený příklad kódu je součástí projektu Xcode SendSms.xcodeproj. V tomto řešení jsou v projektu tři soubory: SendSms.m, Ozeki.Libs.Rest.m, Ozeki.Libs.Rest.h.
Jak ověřit, že SMS byla přijata HTTP uživatelem
Po odeslání SMS je vhodné zkontrolovat SMS bránu, abyste viděli, co přijala. Protokol můžete zkontrolovat otevřením detailů HTTP uživatele v konzoli pro správu Ozeki SMS Gateway. Následující video vám ukáže, na co se zaměřit.
Odesílání SMS pomocí výše uvedeného kódu v Objective C (Video návod)
V tomto videu se můžete naučit, jak spustit svůj kód a zkontrolovat události na uživateli. Začne s prázdnou záložkou událostí a provede vás až k záložce s záznamy. V záložce událostí uživatele můžete vždy získat více podrobností o své zprávě a připojení. Video vám ukáže, jak otevřít záložku událostí, jak odeslat zprávu a jak znovu zkontrolovat záložku událostí. Toto video je jen o něco delší než 1 minuta a je snadno srozumitelné. Používáme Ozeki SMS Gateway k zaznamenání každého detailu odesílacího procesu.
Jak ověřit, že SMS byla odeslána do mobilní sítě
Posledním krokem při ověřování procesu je prohlédnout si protokoly připojení k mobilní síti. Možná budete muset před odesláním zprávy zapnout protokolování v konfiguraci připojení, abyste viděli protokoly. Pokud je protokolování povoleno, uvidíte telefonní číslo a text odeslané zprávy.
Jak otestovat, zda byl požadavek přijat SMPP klientem (Video návod)
V tomto videu zkontrolujeme záznam o události odeslání v záložce Události SMPP klienta. Naučíte se, jak k ní přistupovat a na co se v protokolu zaměřit. Video je dlouhé pouze 18 sekund, takže nebudete mít problém jej sledovat. Zde také používáme Ozeki SMS Gateway.
SMS zpráva přijata na mobilním telefonu (Video návod)
V posledním videu uvidíte, jak vypadá přijetí zprávy odeslané z Ozeki SMS Gateway. Uvidíte telefon IOS přijímající oznámení o SMS zprávě, kterou jste právě odeslali. Video je dlouhé pouze 8 sekund a je velmi podrobné.
Shrnutí
Tato příručka poskytla přehled o odesílání SMS v Objective C s pomocí Ozeki SMS Gateway. Pokud byl článek pečlivě prostudován, odesílání zpráv v Objective C je velmi jednoduché. Je třeba zdůraznit, že Ozeki SMS Gateway hraje v tomto procesu obrovskou roli, protože zajišťuje přenos mezi programátorem a příjemcem SMS. Ozeki SMS Gateway je velmi spolehlivý a lze jej snadno spravovat.
Pokračujte ve studiu na stránce s návody Ozeki, kde se můžete dočíst více o tématech, jako je odesílání více SMS a plánování SMS v Objective C.
Nyní už zbývá jen stáhnout Ozeki SMS Gateway a začít pracovat!
More information
- Objective-C odeslat SMS pomocí HTTP REST API (ukázka kódu)
- Objective-C odeslat více SMS pomocí HTTP REST API (ukázka kódu)
- Objective-C naplánovat SMS pomocí HTTP REST API (ukázka kódu)
- Objective C přijmout SMS pomocí HTTP REST API (ukázka kódu)
- Objective C smazat SMS pomocí HTTP REST API (ukázka kódu)
- Jak stáhnout nejnovější Objective C SMS knihovnu z Githubu