Jak přijímat SMS z Objective C

Nejjednodušší způsob, jak přijímat 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 vytvoření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.

jak přijímat sms z objective c
Obrázek 1 - Jak přijímat SMS z Objective C

Objective-C kód pro přijímání SMS na mobil

Níže uvedený vzorový kód Objective-C pro SMS ukazuje, jak můžete přijímat SMS pomocí HTTP REST SMS API Ozeki SMS Gateway s využitím knihovny Ozeki.Libs.Rest. Tato knihovna je poskytována zdarma a můžete ji používat a upravovat v jakémkoli z vašich projektů.

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

Jak použít příklad Objective-C pro SMS:

Tento příklad Objective-C pro SMS lze použít v jakékoli základní aplikaci Objective C. Pro použití je nutné 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 je třeba 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. Třídu Message můžete použít k vytvoření SMS. Třídu MessageApi můžete použít k odeslání SMS na SMS bránu. SMS brána přepošle vaši zprávu do mobilní sítě buď prostřednictvím bezdrátového připojení nebo přes Internet.

Stáhnout ReceiveSms.m

Zdrojový kód vysvětlený v tomto článku lze stáhnout, použít a upravit zdarma.
Stáhnout: ReceiveSms.m.zip (45.2Kb)

Co obsahuje soubor ReceiveSms.m?

Soubor ReceiveSms.m 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 ReceiveSms, který obsahuje ukázkový kód, který vám ukáže, jak odeslat SMS. Tento ukázkový kód je uveden níže.

adresář receive sms m
Obrázek 2 - Co je uvnitř ReceiveSms.m.zip

Jak přijímat SMS z Objective-C (Rychlé kroky)

Pro přijímání SMS z Objective-C:

  1. Nainstalujte uživatele HTTP API na počítači s Windows
  2. Povolte Logování komunikačních událostí na kartě Pokročilé
  3. Nastavte Xcode
  4. Stáhněte a rozbalte soubor ReceiveSms.m.zip
  5. Otevřete soubor ReceiveSms.xcodeproj v Xcode
  6. Spusťte aplikaci Ozeki SMS Gateway na vašem počítači s Windows
  7. Spusťte kód Objective C ReceiveSms.m v Xcode
  8. Zkontrolujte protokoly, zda byla SMS odeslána

Instalace Ozeki SMS Gateway a vytvoření uživatele HTTP API

Abyste mohli odesílat SMS z Objective-C, musíte nejprve 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 grafického rozhraní Ozeki a ověřit, že vaše připojení k mobilní síti funguje. Posledním krokem k přípravě vašeho prostředí je vytvoření uživatele HTTP SMS API. Vytvořte uživatele s uživatelským jménem "http_user" a heslem "qwe123", aby příklad fungoval bez úprav.

Po nastavení prostředí můžete spustit svůj kód Objective-C.

URL HTTP API pro odesílání SMS z Objective-C

Pro odesílání SMS z Objective-C bude váš Objective-C muset odeslat HTTP požadavek na SMS bránu. API URL je uvedeno 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 to být IP adresa tohoto 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 na server v HTTP požadavku jako řetězec zakódovaný v base64. Použitý formát je: base64(username+":"+password). 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. Poznámka: 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 zpráv bude vaše aplikace v Objective-C odesílat HTTP požadavek podobný tomuto níže. Poznámka: 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.

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

Jak stáhnout projekt (Video návod)

V tomto videu vám ukážeme, jak můžete stáhnout soubory projektu potřebné pro příjem SMS zpráv v Objective-C. Začínáme na této stránce s návodem a končíme otevřeným zdrojovým kódem. Dozvíte se, kam kliknout pro stažení souborů a co použít při otevírání kódu k úpravám. Video je dlouhé pouze 22 sekund, ale obsahuje všechny informace potřebné pro příjem SMS zpráv v Objective-C.

Video 1 - Jak stáhnout a otevřít řešení výše (Video návod)

Příklad kódu níže je součástí projektu ReceiveSms.xcodeproj. V zip souboru je pouze jeden projekt: ReceiveSms.xcodeproj, a tři soubory: ReceiveSms.m, Ozeki.Libs.Rest.h, Ozeki.Libs.Rest.m.

jak přijímat sms pomocí objective c
Obrázek 3 - ReceiveSms.xcodeproj

Jak používat projekt (Video návod)

V následujícím videu vám představíme, jak používat kód a co se stane, když jej použijete. Video je dlouhé 55 sekund, ale obsahuje všechny informace, které potřebujete k začátku práce s projektem. Začíná přihlášením do Ozeki SMS Gateway a provede vás až k přijatým zprávám. Naučíte se, jak otevřít a spustit kód a následně zkontrolovat log. Ozeki SMS Gateway nabízí skvělý uživatelský zážitek díky intuitivnímu a snadno naučitelnému grafickému rozhraní.

Video 2 - Jak používat projekt ReceiveSms.xcodeproj (Video návod)

Závěr

Tento průvodce měl za cíl vysvětlit kroky přijímání SMS v Objective C s pomocí Ozeki SMS gateway. Po přečtení tohoto článku by přenos zpráv z doručené pošty do programu Objective C neměl způsobovat žádné problémy. Tímto můžete zajistit, že SMS zprávy jsou na svém určeném místě. Ozeki SMS Gateway lze stáhnout z našich webových stránek a lze jej vyzkoušet zdarma během zkušebního období.

Pokračujte ve čtení na stránce s návody Ozeki, kde najdete více informací o tématech, jako je plánování SMS v Objective C.

Jediné, co teď zbývá, je stáhnout Ozeki SMS Gateway a začít pracovat!

More information