Kako primiti SMS u C#

Ovaj članak daje informacije o tome kako primiti SMS u C# pomoću Ozeki C# SMS API-ja. Pruža neke primjere koda koje možete koristiti i opisuje korake koje trebate poduzeti. Za dovršetak koraka potrebno vam je oko 5 minuta. Ukratko, za primanje SMS-a s C# SMS API-jem morate se prijaviti na događaj OnMessages received i napisati metodu rukovatelja događaja koja će obraditi dolazni SMS poslan putem Ozeki SMS pristupnika. Pročitajte dalje kako biste saznali više o ovom postupku!

Zašto biste htjeli primati SMS u C#?

Za primanje SMS-a u C# postoji više razloga. Možda želite prikupiti podatke s senzora ili mobilnih korisnika, možete kreirati SMS usluge koje šalju odgovor s informacijama ili jednostavno možete zatražiti od korisnika da potvrde da su primili SMS.

Preduvjeti

Kako primiti SMS u C# (Brzi koraci)

Kako primiti SMS u C#
  1. Preuzmite primjer primanja SMS-a u C#
  2. Otvori rješenje u Visual Studiju
  3. Poveži se s Ozeki SMS pristupnikom
  4. Primi simulirani SMS u C#
  5. Poveži se s mobilnom mrežom
  6. Primi SMS u C# koji je poslan s mobitela
  7. Provjeri zapisnike u SMS pristupniku
  8. Provjeri izvješće o isporuci na svom mobitelu

primi sms u c#
Slika 1 - Primi SMS u C#

Primjer C# koda za primanje tekstualnih poruka

Primjer C# SMS koda u nastavku opisuje najvažnije korake za kreiranje usluge za primanje SMS-a. Ozeki C# SMS API dolazi besplatno. Možete mijenjati API biblioteku, primjere koji dolaze s njom i možete je koristiti u svom projektu te je slobodno redistribuirati ili njezine izvedenice. Sljedeći primjer pokazuje kako se pretplatiti na C# događaj OnMessageReceived i kako rukovati tim događajem. Primjer ispisuje dolaznu SMS poruku na konzolu.


class Program
{
    static OzxClient Client;

    static void Main(string[] args)
    {
        Client = new OzxClient();
        Client.AutoReconnect = true;
        Client.OnMessageReceived += Client_OnMessageReceived;
        
        Client.Connect("127.0.0.1",9580,"testuser","testpass");
    }

    static void Client_OnMessageReceived(object sender, OzxArgs<IOzxMessage> e)
    {
        Console.WriteLine("Poruka primljena: " + e.Item.ToString());
    }
}

Parametar e.Item je puna OzxMessage. To znači da u svom C# SMS API događaju imate sve pojedinosti SMS poruka. Te pojedinosti uključuju ID pošiljatelja SMS-a, telefonski broj na koji je SMS poslan, tekst SMS-a i odgovarajuće vremenske oznake.

Jedna od najvećih prednosti korištenja Ozeki C# SMS API-ja je što dolazne SMS poruke dobivate trenutno. Čim stignu u SMS pristupnik, prosljeđuju se vašem C# SMS klijentu putem uspostavljene TCP/IP veze. To znači da nećete doživjeti nikakva kašnjenja.

Ako vaš C# SMS API klijent nije povezan s SMS pristupnikom kada je SMS primljen, SMS se pohranjuje u mapu dolaznih poruka SMS pristupnika. To znači da vaše dolazne poruke neće biti izgubljene čak i ako je SMS softver koji ste napisali koristeći C# SMS API offline. To je zbog činjenice da je Ozeki SMS pristupnik zapravo SMS poslužitelj.

Korak 1 - Preuzmite Ozeki C# SMS biblioteku

Idite na https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip i preuzmite zip datoteku pomoću preglednika. Zip datoteka će završiti u vašoj mapi za preuzimanja (Slika 2). Možete otvoriti preuzimanje izravno u Windows Exploreru. Preuzeti zip paket sadržavat će primjer koda koji možete koristiti za primanje SMS-a u C#.

ozeki SMS biblioteka preuzeta
Slika 2 - Ozeki SMS biblioteka preuzeta

Korak 2 - Raspakirajte C# SMS biblioteku

Raspakirajte C# SMS biblioteku klikom desnom tipkom miša na datoteku OzekiConsole.zip (Slika 2). To će otvoriti kontekstni izbornik. U kontekstnom izborniku odaberite "Extract All...". To će prikazati "Extract dijaloški prozor", gdje morate kliknuti Extract.

Kliknite gumb "Extract" u dijaloškom prozoru "Extract All" (Slika 3).

Raspakirajte primjer primanja SMS-a u C#
Slika 3 - Raspakirajte primjer primanja SMS-a u C#

Korak 3 - Otvorite projekt u Visual Studiju

Otvori mapu OzekiConsole. Ova mapa će se pojaviti nakon što ste raspakirali OzekiConsol.zip paket. U mapi OzekiConsole dvokliknite na datoteku OzekiConsole.sln. To će prikazati dijaloški okvir "Kako želite otvoriti ovu datoteku?". U ovom dijaloškom okviru odaberite "Visual Studio". Nakon što je Visual Studio odabran, kliknite OK kako biste otvorili C# primjer projekta. (Slika 4)

Otvori primjer primanja SMS-a u C# u Visual Studiju
Slika 4 - Otvori primjer primanja SMS-a u C# u Visual Studiju

Korak 4 - Kliknite na Program.cs

Otvorite Program.cs klikom na datoteku u exploreru rješenja na lijevoj strani ekrana. Ovo je glavni kod ovog primjera C# projekta. Ovaj kod sadrži primjere kako poslati SMS iz C# i kako primiti SMS u C#. Kod nije predugačak, ima oko 300 redaka. Pokazuje punu funkcionalnost C# SMS API-ja. (Slika 5)

Učitajte Program.cs u editor
Slika 5 - Učitajte Program.cs u editor

Korak 5 - Postavite točku prekida u kodu za primanje SMS-a

Pronađite rukovalac događaja OnMessageReceived i postavite točku prekida na početni redak procedure. Ova točka prekida će vam dati priliku da uhvatite događaj OnMessageReceived. Događaj OnMessageReceived se pokreće kada vaš C# SMS klijent primi SMS poruku od SMS pristupnika. (Slika 6)

postavite točku prekida u događaju za primanje SMS-a
Slika 6 - Postavite točku prekida u događaju za primanje poruke

Korak 6 - Kreirajte OZX korisnički račun za SMS API

Kako bi C# SMS API primjer mogao spojiti se na SMS pristupnik, potrebno je kreirati OZX korisnički račun u SMS pristupniku. Da biste to učinili, idite na upravljačku konzolu SMS pristupnika otvaranjem URL-a https://127.0.0.1:9515 i kliknite na link "Dodaj novog korisnika/aplikaciju" na desnoj strani ekrana. (Slika 7)

Kreirajte SMS korisnički račun za primanje tekstualnih poruka
Slika 7 - Kreirajte SMS korisnički račun za primanje tekstualnih poruka u C#

Link "Dodaj novog korisnika/aplikaciju" će prikazati popis instalabilnih tipova korisnika. Potrebno je pronaći OZX korisnički račun na popisu. OZX korisnički račun koristi visoko optimizirani SMS protokol koji omogućuje vašoj C# SMS aplikaciji komunikaciju s SMS pristupnikom preko mreže. Budući da SMS pristupnik i C# SMS klijent komuniciraju preko mreže, možete primiti tekstualnu poruku u svom C# projektu čak i ako projekt radi na drugom računalu. (Slika 8)

instalirajte C# SMS API korisnički račun
Slika 8 - Kliknite instaliraj za instalaciju C# SMS API korisničkog računa (OZX korisnik)

Unesite korisničko ime i lozinku. U našem primjeru koristimo testuser kao korisničko ime i testpass kao lozinku. C# SMS klijent će koristiti ove vjerodajnice za povezivanje s SMS pristupnikom. Ako želite više od jedne C# SMS API veze, možete kreirati više OZX korisničkih računa. Svaki korisnički račun će hostirati svoj vlastiti C# SMS API klijent. Da biste odlučili koji C# SMS klijent će primiti dolazni SMS, potrebno je kreirati dolazne rute u Ozeki SMS rutnoj tablici. (Slika 9)

Postavite testuser kao korisničko ime za C# SMS API
Slika 9 - Postavite testuser kao korisničko ime za C# SMS API

Omogućite opcije logiranja za C# SMS API račun kako biste dobili komunikacijske zapise. Preporučujemo da prvo označite sve potvrdne okvire za logiranje kako biste dobili detaljne informacije o tome što se događa s porukom. Ako primate tekst, vidjet ćete ga u zapisniku prije nego što bude proslijeđen vašem C# SMS klijentu. (Slika 10)

Omogućite logiranje kako biste vidjeli primljeni SMS prije nego što stigne do C# SMS klijenta
Slika 10 - Omogućite logiranje kako biste vidjeli primljeni SMS prije nego što stigne do C# SMS klijenta

Korak 6 - Dodajte novu rutu za simuliranje dolaznog SMS-a

Kreirajte novu SMS rutu kako biste omogućili administratoru slanje testnih SMS poruka C# SMS API klijentu. Jedna od najboljih stvari u korištenju Ozeki SMS pristupnika je što vam omogućuje upravljanje SMS porukama pomoću rutne tablice. Možete postaviti različite veze s mobilnom mrežom i odlučiti koja SMS poruka ide gdje. U našem primjeru želimo usmjeriti SMS poruke koje dolaze od administratorskog računa na C# SMS API klijent. U stvarnom sustavu nećete usmjeravati SMS poruke od administratorskog računa, umjesto toga ćete usmjeravati SMS poruke primljene na veze s mobilnom mrežom na vaš C# SMS API klijent.

Da biste kreirali novu SMS rutu, kliknite na Dodaj novu rutu u Ozeki SMS pristupniku (Slika 11).

Dodajte novu SMS rutu za C# SMS klijent
Slika 11 - Dodajte novu SMS rutu

Da biste primili tekst dok pišete svoj C# SMS kod, koristit ćete obrazac za sastavljanje SMS-a u SMS pristupniku i poslati SMS kao administrator. SMS ruta koju ćemo kreirati će usmjeravati SMS poruke koje dolaze od administratora na testuser račun. Testuser račun će proslijediti SMS C# SMS klijentu (Slika 12).

SMS od GUI-a do C#
Slika 12 - SMS od administratora do C# klijenta

Odaberite testuser kao odredište za vaše dolazne SMS poruke u obrascu s detaljima rutiranja. Ova ruta će slati SMS poruke od administratora na testuser. Testuser će proslijediti primljene SMS poruke C# API klijentu (Slika 13).

Kreirajte SMS rutu za simuliranje dolaznih tekstova
Slika 13 - Kreirajte SMS rutu za simuliranje dolaznih tekstova

Korak 7 - Pokretanje C# SMS primjera projekta

Da biste pokrenuli svoj C# SMS projekt, potrebno je kliknuti na gumb Start u alatnoj traci Visual Studija. Nakon što kliknete ovaj gumb, Visual Studio će kompajlirati kod i pokrenuti ga u razvojnom okruženju. Izvođenje programa će se zaustaviti kada algoritam naiđe na točku prekida. Budući da je naš primjer konzolna aplikacija, vidjet ćete crnu konzolnu prozor koja će se pojaviti nakon pokretanja izvođenja. (Slika 14)

Slika 14 - Pokretanje C# SMS API projekta

Upišite "help" u konzolni prozor. Tekst pomoći će navesti dostupne naredbe u ovom primjeru projekta. Prva naredba koju ćete koristiti je naredba "connect". Upišite "connect 127.0.0.1:9580 testuser testpass" u konzolni prozor kako biste povezali svoj C# SMS kod s SMS pristupnikom. Imajte na umu da 127.0.0.1 znači da SMS pristupnik radi na istom računalu na kojem se izvodi vaš C# SMS kod. 9580 je TCP/IP port koji koristi SMS pristupnik za prihvaćanje C# SMS klijenata (OZX korisnika), a testuser i testpass vjerodajnice su one koje smo definirali prilikom kreiranja OZX korisničkog računa u koraku 6 ovog SMS vodiča. (Slika 15)

Slika 15 - Pokretanje C# SMS konzolne aplikacije

Nakon što se povežete s SMS pristupnikom, spremni ste poslati svoj prvi SMS svom C# API klijentu.

Korak 8 - Pošaljite testni SMS

Pošaljite testnu SMS poruku klikom na gumb "New" u alatnoj traci Ozeki u upravljačkoj konzoli SMS pristupnika. Prilikom slanja testnog SMS-a, morat ćete definirati adresu primatelja i tekst poruke. Na kartici "Advanced" također možete definirati ID pošiljatelja, kao što je alfanumerički ID pošiljatelja za vaš SMS. (Slika 16)

testni SMS koji će biti primljen
Slika 16 - Sastavljanje testnog SMS-a koji će biti primljen

Kliknite OK kako biste poslali testni SMS. Vaš SMS pristupnik će vam pružiti događaje vezane uz slanje SMS-a, a bit će vam prikazan ID poruke. Možete primijetiti GUID niz u posljednjem retku Slike 17.

ID SMS poruke koji će se koristiti u C# SMS API-u
Slika 17 - ID SMS poruke koji će se koristiti u C# SMS API-u

Nakon što je SMS poslan od strane administratora, primljen je od strane OZX korisničkog računa pod nazivom testuser. Taj korisnički račun prosljeđuje SMS C# SMS klijentu preko mreže. C# SMS klijent prima tekst preko TCP/IP veze uspostavljene metodom "connect". Ako ste postavili točku prekida u događaju OnMessageReceived, ovdje će se izvođenje programa zaustaviti.

Korak 9 - Primite SMS u C# konzoli

Pročitajte liniju s primljenom porukom u C# konzoli. Vidjet ćete da je SMS poslao admin@localhost na telefonski broj +361111111. C# SMS API klijent je primio tekst 'Hello c sharp client' (Slika 18). Tekst poruke je predstavljen C# klijentu u obliku C# događaja. Rukovalac događaja OnMessageReceived poziva se kada se ovaj događaj pokrene, a poruka je stavljena u ulazni parametar metode OzMessageReceived.

primite SMS u C# konzoli
Slika 18 - primite SMS u C# konzoli

Sljedeća stvar koju želite učiniti je pogledati zapisnik u SMS pristupniku.

Korak 10 - Pogledajte zapisnike u SMS pristupniku

Otvorite stranicu s detaljima testuser-a klikom na poveznicu testuser u nadzornoj ploči Ozeki SMS pristupnika. To će nas odvesti do zapisnika događaja korisničkog računa testuser. U ovom zapisniku očekujemo vidjeti komunikaciju koja se odvija između C# SMS klijenta i SMS pristupnika. Također očekujemo vidjeti primljenu SMS poruku u zapisniku komunikacije. (Slika 19)

Slika 19 - Otvorite stranicu s detaljima testuser-a

Pronađite liniju "Received." u kartici događaja testuser-a. U ovoj liniji vidjet ćete SMS primljen od strane C# SMS klijenta. Možete vidjeti datum i vrijeme događaja, kao i detalje poruke. Ispod čitljivog zapisa nalazi se zapisnik komunikacije OZX protokola. Ovaj zapisnik omogućuje vam otklanjanje poteškoća u komunikaciji u slučaju bilo kakvih problema. (Slika 20)

Slika 20 - provjerite dolazni SMS u korisničkom računu povezanom s C# SMS API-jem

Primite tekstualnu poruku s mobilne mreže

U gornjim koracima simulirali smo dolaznu poruku. Administrator je poslao poruku koja je proslijeđena na C# SMS primjer. Sljedeći korak je povezivanje sustava s mobilnom mrežom. Za to imate različite opcije. Možete se spojiti na pružatelja SMS usluga putem interneta koristeći Android SMS pristupnika. (Slika 21)

Slika 21 - Primanje SMS-a s Android telefonom

Da biste gornje rješenje učinili funkcionalnim s Android telefonom, sve što trebate učiniti je stvoriti dolaznu rutu u Ozeki tablici SMS usmjeravanja. Morate stvoriti ovu rutu između veze s mobilnom mrežom i C# SMS API korisnika (testuser). Da biste pronašli najbolju metodu povezivanja s mobilnom mrežom za svoj projekt, pogledajte naš vodič kako povezati svoj SMS pristupnik s mobilnom mrežom. (Slika 22)

Slika 22 - Tablica za primanje SMS usmjeravanja

Ukratko

Ovo je bio dug i vrlo detaljan popis uputa koji će vam pomoći da započnete s razvojem C# SMS projekta koji može primati SMS poruke. Ako počnete koristiti ovo rješenje, brzo ćete otkriti da je ovo rješenje vrlo dobro ako želite primati SMS poruke brzo putem različitih veza s mobilnom mrežom. Ovo rješenje funkcionira bilo da želite primati SMS putem Android mobilnog telefona ili putem IP SMS veze, kao što je SMPP klijentska veza.

More information