Jak wysłać wiele SMS-ów z Objective C
Najprostszym sposobem na wysłanie wielu SMS-ów z Objective-C jest użycie wbudowanego interfejsu HTTP/Rest SMS API Ozeki SMS Gateway. Kiedy używasz tego API, będziesz wysyłać wiadomości SMS poprzez wysłanie żądania HTTP Post do bramki SMS. Żądanie HTTP Post będzie zawierać wiadomość sformatowaną w formacie json. Bramka SMS wyśle tę wiadomość na telefon odbiorcy i zwróci odpowiedź HTTP 200 OK na Twoje żądanie.
Kod Objective-C do wysyłania wielu SMS-ów na telefony komórkowe
Poniższy przykładowy kod SMS w Objective-C demonstruje, jak możesz wysyłać SMS-y za pomocą interfejsu HTTP REST SMS API Ozeki SMS Gateway, używając biblioteki Ozeki.Libs.Rest. Ta biblioteka jest dostarczana bezpłatnie i możesz jej używać oraz modyfikować w dowolnym z Twoich projektów.
SendMultipleSms.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" ]; // Musisz zastąpić adres IP adresem komputera, na którym znajduje się Bramka SMS! MessageApi * api = [ [ MessageApi alloc ] initWithConfiguration : configuration ]; Message * msg1 = [ [ Message alloc ] init ]; [ msg1 setToAddress : @"+36201111111" ]; [ msg1 setText : @"Hello world 1" ]; Message * msg2 = [ [ Message alloc ] init ]; [ msg2 setToAddress : @"+36202222222" ]; [ msg2 setText : @"Hello world 2" ]; Message * msg3 = [ [ Message alloc ] init ]; [ msg3 setToAddress : @"+36203333333" ]; [ msg3 setText : @"Hello world 3" ]; NSMutableArray<Message *> * messages = [ [ NSMutableArray<Message *> alloc ] initWithObjects: msg1, msg2, msg3, nil ]; MessageSendResults * result = [ api SendMessages: messages ]; NSLog(@"%@", result); return 0; }
Jak używać przykładu SMS w Objective-C:
Ten przykład SMS w Objective C może być używany w dowolnej aplikacji core Objective C. Aby go użyć, musisz dodać plik nagłówkowy Ozeki.Libs.Rest.h i plik implementacyjny Ozeki.Libs.Rest.m do swojego projektu. Po dodaniu referencji projektu, musisz umieścić dyrektywę using Ozeki.Libs.Rest; w sekcji nagłówkowej Twojego kodu źródłowego Objective C. To pozwoli Ci używać klas dostarczonych przez bibliotekę Ozeki.Libs.Rest. Możesz użyć klasy Message do tworzenia SMS-ów. Możesz użyć klasy MessageApi, aby wysłać SMS do bramki SMS. Bramka SMS przekaże Twoją wiadomość do sieci komórkowej albo przez połączenie bezprzewodowe, albo przez Internet.
Pobierz SendMultipleSms.m
Kod źródłowy omówiony w tym artykule może być pobrany, użyty i zmodyfikowany bezpłatnie.
Pobierz: SendMultipleSms.m.zip (48.4Kb)
Co znajduje się w pliku SendMultipleSms.m?
Plik SendMultipleSms.m zawiera bibliotekę Ozeki.Libs.Rest, która dostarcza wszystkie narzędzia niezbędne do wysyłania i odbierania wiadomości SMS. Znajdziesz tam również projekt SendMultipleSms w archiwum zip, który zawiera przykładowy kod pokazujący, jak wysłać SMS. Ten przykładowy kod jest wymieniony poniżej.
Jak wysłać wiele SMS-ów z Objective-C (Szybkie kroki)
Aby wysłać wiele SMS-ów z Objective-C:
- Zainstaluj użytkownika HTTP API na komputerze z Windows
- Włącz Logowanie zdarzeń komunikacyjnych na karcie Zaawansowane
- Skonfiguruj Xcode
- Pobierz, a następnie rozpakuj plik SendMultipleSms.m.zip
- Otwórz plik SendMultipleSms.xcodeproj w Xcode
- Uruchom aplikację Ozeki SMS Gateway na swoim komputerze z Windows
- Uruchom kod Objective C SendMultipleSms.m w Xcode
- Sprawdź logi, aby zobaczyć, czy SMS został wysłany
Zainstaluj Ozeki SMS Gateway i utwórz użytkownika HTTP API
Aby móc wysyłać SMS-y z Objective-C, najpierw musisz zainstalować Ozeki SMS Gateway. Bramka SMS może być zainstalowana na tym samym komputerze, na którym tworzysz swój kod Objective-C w Visual Studio. Po instalacji następnym krokiem jest podłączenie Ozeki SMS Gateway do sieci komórkowej. Możesz wysłać testowego SMS-a z interfejsu Ozeki, aby sprawdzić, czy Twoje połączenie z siecią komórkową działa. Ostatnim krokiem przygotowania środowiska jest utworzenie użytkownika HTTP SMS API. Utwórz użytkownika z nazwą "http_user" i hasłem "qwe123", aby przykład działał bez modyfikacji.
Po skonfigurowaniu środowiska możesz uruchomić swój kod Objective-C.
URL API HTTP do wysyłania SMS-ów z Objective-C
Aby wysyłać SMS-y z Objective-C, Twoja aplikacja Objective-C będzie musiała wysłać żądanie HTTP do bramki SMS. URL API jest pokazany poniżej. Zauważ, że adres IP (127.0.0.1) powinien zostać zastąpiony adresem IP Twojej bramki SMS. Jeśli Ozeki SMS Gateway jest zainstalowana na tym samym komputerze, na którym działa aplikacja SMS w Objective-C, może to być 127.0.0.1. Jeśli jest zainstalowana na innym komputerze, powinien to być adres IP tego komputera.
http://127.0.0.1:9509/api?action=rest
Uwierzytelnianie HTTP do wysyłania SMS-ów z Objective-C
Aby uwierzytelnić klienta SMS w Objective-C, należy wysłać nazwę użytkownika i hasło w formie zakodowanego ciągu base64 do serwera w żądaniu HTTP. Używany format to: base64(nazwa_użytkownika+":"+hasło). W Objective-C możesz użyć następującego kodu do wykonania tego kodowania:
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 przykład, jeśli zakodujesz nazwę użytkownika 'http_user' i hasło 'qwe123', otrzymasz następujący zakodowany ciąg base64: aHR0cF91c2VyOnF3ZTEyMw==. Aby wysłać
Nagłówek żądania HTTP do wysyłania SMS-ów z Objective-C
Aby wysłać wiadomości SMS, należy uwzględnić następujące linie jako nagłówki w żądaniu HTTP. Należy zauważyć, że zawieramy typ zawartości i nagłówek autoryzacji.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Żądanie HTTP do wysyłania SMS-ów z Objective-C
Aby przesłać wiadomości SMS, Twoja aplikacja Objective-C wyśle żądanie HTTP podobne do poniższego. Należy zauważyć, że to żądanie zawiera część nagłówka HTTP i część ciała HTTP. Ciało HTTP to ciąg danych zakodowany w formacie JSON. Zawiera numer odbiorcy i tekst wiadomości.
POST /api?action=sendmsg HTTP/1.1 Connection: keep-alive Content-Length: 971 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: SendMutipleSms.m (unknown version) CFNetwork/1220.1 Darwin/20.3.0 { "messages": [ { "is_view_report_requested": false, "create_date": "2021-07-23T09:23:25", "message_id": "9c6a7eb2-37b5-4fea-a75f-c0cdaba85466", "time_to_send": "2021-07-23T09:23:25", "valid_until": "2021-07-30T09:23:25", "is_submit_report_requested": false, "to_address": "+36201111111", "text": "Hello world 1", "is_delivery_report_requested": false }, { "is_view_report_requested": false, "create_date": "2021-07-23T09:23:25", "message_id": "8f2ff6cb-417a-4650-a474-8adc4b005cc4", "time_to_send": "2021-07-23T09:23:25", "valid_until": "2021-07-30T09:23:25", "is_submit_report_requested": false, "to_address": "+36202222222", "text": "Hello world 2", "is_delivery_report_requested": false }, { "is_view_report_requested": false, create_date": "2021-07-23T09:23:25", "message_id": "39b54837-a7e5-4319-a154-25d25bf3d920", "time_to_send": "2021-07-23T09:23:25", "valid_until": "2021-07-30T09:23:25", "is_submit_report_requested": false, "to_address": "+36203333333", "text": "Hello world 3", "is_delivery_report_requested": false } ] }
Odpowiedź HTTP otrzymana przez przykład SMS w Objective-C
Gdy brama SMS odbierze to żądanie, wygeneruje odpowiedź HTTP. Odpowiedź HTTP będzie zawierać kod statusu, aby wskazać, czy żądanie wysłania SMS zakończyło się sukcesem czy nie. Zwróci również strukturę zakodowaną w formacie JSON, aby dostarczyć przydatne informacje o przesłaniu wiadomości.
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 09:21:44 GMT Server: 10/10.3.123 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 3, "success_count": 3, "failed_count": 0, "messages": [ { "message_id": "9c6a7eb2-37b5-4fea-a75f-c0cdaba85466", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello world 1", "create_date": "2021-07-23 09:23:25", "valid_until": "2021-07-30 09:23:25", "time_to_send": "2021-07-23 09:23:25", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "8f2ff6cb-417a-4650-a474-8adc4b005cc4", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello world 2", "create_date": "2021-07-23 09:23:25", "valid_until": "2021-07-30 09:23:25", "time_to_send": "2021-07-23 09:23:25", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "39b54837-a7e5-4319-a154-25d25bf3d920", "from_station": "%", "to_address": "+36203333333", "to_station": "%", "text": "Hello world 3", "create_date": "2021-07-23 09:23:25", "valid_until": "2021-07-30 09:23:25", "time_to_send": "2021-07-23 09:23:25", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Przykład SMS w Objective-C: SendMultipleSms.xcodeproj
Jak pobrać i otworzyć powyższe rozwiązanie (Samouczek wideo)W tym filmie pokażemy Ci, jak możesz pobrać przykładowy projekt i go otworzyć. Zaczniemy od przeglądarki na stronie samouczka, a skończymy na przykładowym projekcie na Twoim komputerze. Dowiesz się, gdzie kliknąć, aby pobrać plik i gdzie go szukać po zakończeniu pobierania. Film trwa tylko 30 sekund, więc bez problemu wykonasz wszystkie kroki.
Przykładowy kod poniżej jest częścią projektu SendMultipleSms.xcodeproj. W archiwum zip znajduje się tylko jeden projekt: SendMultipleSms.xcodeproj, oraz trzy pliki: SendMultipleSms.m, Ozeki.Libs.Rest.h, Ozeki.Libs.Rest.m.
Jak używać projektu SendMultipleSms.xcodeproj
W poniższym filmie pokazujemy, jak używać pliku projektu SendMultipleSMS. Zaczniemy od pustego pliku dziennika użytkownika HTTP w Ozeki SMS Gateway, a skończymy na rekordzie wysłania SMS. Dowiesz się, jak uruchomić aplikację do wysyłania SMS, a następnie sprawdzić dziennik użytkownika. Film trwa prawie minutę, ale jest bardzo szczegółowy, więc bez problemu go zrozumiesz. W filmie używamy Ozeki SMS Gateway, które oferuje bardzo intuicyjny interfejs graficzny dla lepszego doświadczenia użytkownika.
Podsumowanie
Ten przewodnik pokazał kroki wysyłania wielu SMS w Objective C z pomocą Ozeki SMS Gateway. Dzięki temu szczegółowemu artykułowi, dotarcie do wielu klientów naraz jest szybkie i proste. Użycie tej funkcji umożliwia wysyłanie wiadomości do większej liczby osób, co przyspiesza wymianę informacji. Ozeki SMS Gateway działa z wysoką wydajnością, co oznacza, że może wysłać do 1000 SMS na sekundę, więc wysyłanie wielu SMS w Objective C jest bardzo łatwe z tym programem.
Upewnij się, że nie kończysz czytania tutaj, odwiedź stronę samouczków Ozeki, aby dowiedzieć się o podobnych tematach, takich jak odbieranie w Objective C.
Następną rzeczą do zrobienia jest pobranie Ozeki SMS Gateway i rozpoczęcie pracy już teraz!
More information
- Objective-C wyślij SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Objective-C wyślij wiele SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Objective-C zaplanuj SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Objective C odbierz SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Objective C usuń SMS za pomocą interfejsu HTTP REST API (przykładowy kod)
- Jak pobrać najnowszą bibliotekę Objective C SMS z Github