Ako prijímať SMS v C#

Tento článok poskytuje informácie o tom, ako prijímať SMS v C# pomocou Ozeki SMS bránou. Pokračujte v čítaní, aby ste sa dozvedeli viac o tomto postupe!

Prečo chcete prijímať SMS v C#?

Existujú rôzne dôvody, prečo prijímať SMS v C#. Môžete chcieť zbierať údaje zo senzorov alebo od mobilných používateľov, môžete vytvárať SMS služby, ktoré odosielajú odpovede s informáciami, alebo môžete jednoducho požiadať svojich používateľov, aby potvrdili prijatie SMS.

Predpoklady Ako prijímať SMS v C# (Rýchle kroky) Ako prijímať SMS v C#
  1. Stiahnite si príklad na prijatie SMS v C#
  2. Otvorte riešenie v Visual Studio
  3. Pripojte sa k Ozeki SMS bráne
  4. Prijmite simulovanú SMS v C#
  5. Pripojte sa k mobilnej sieti
  6. Prijmite SMS v C#, ktorá bola odoslaná z mobilného telefónu
  7. Skontrolujte záznamy v SMS bráne
  8. Skontrolujte správu o doručení na vašom mobile

prijímať sms v c#
Obrázok 1 - Prijímať SMS v C#

Ukážka kódu v C# na prijímanie textových správ

Ukážka kódu v C# nižšie popisuje najdôležitejšie kroky na vytvorenie služby na prijímanie SMS. Ozeki C# SMS API je poskytované zadarmo. Knižnicu API, príklady, ktoré sú s ňou dodávané, môžete upravovať a môžete ju použiť vo svojom projekte a voľne ju alebo jej deriváty redistribuovať. Nasledujúci príklad ukazuje, ako sa prihlásiť k udalosti OnMessageReceived v C# a ako túto udalosť spracovať. Príklad vypíše prichádzajúcu SMS správu do konzoly.


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("Správa prijatá: " + e.Item.ToString());
    }
}

Parameter e.Item je kompletná OzxMessage. To znamená, že máte všetky podrobnosti o SMS správach vo vašej C# SMS API udalosti. Tieto podrobnosti zahŕňajú ID odosielateľa SMS, telefónne číslo, na ktoré bola SMS odoslaná, text SMS a príslušné časové značky.

Jednou z najväčších výhod používania Ozeki C# SMS API je, že prichádzajúce SMS správy dostanete okamžite. Hneď ako dorazia do SMS brány, sú prenesené do vášho C# SMS klienta cez nadviazané TCP/IP spojenie. To znamená, že nebudete mať žiadne oneskorenia.

Ak váš C# SMS API klient nie je pripojený k SMS bráne, keď je SMS prijatá, SMS je uložená v priečinku doručenej pošty SMS brány. To znamená, že vaše prichádzajúce správy sa nestratia, aj keď SMS softvér, ktorý ste napísali pomocou C# SMS API, je offline. Je to preto, že Ozeki SMS brána je v skutočnosti SMS server.

Krok 1 - Stiahnite si Ozeki C# SMS knižnicu

Prejdite na https://ozeki-sms-gateway.com/attachments/5755/OzekiConsole.zip a stiahnite si zip súbor pomocou vášho prehliadača. Zip súbor sa uloží do vášho priečinka na stiahnuté súbory (Obrázok 2). Môžete otvoriť stiahnutý súbor priamo v Průzkumníkovi Windows. Stiahnutý zip balík bude obsahovať ukážkový kód, ktorý môžete použiť na prijímanie SMS v C#.

ozeki SMS knižnica stiahnutá
Obrázok 2 - Ozeki SMS knižnica stiahnutá

Krok 2 - Extrahujte C# SMS knižnicu

Extrahujte C# SMS knižnicu kliknutím pravým tlačidlom myši na súbor OzekiConsole.zip (Obrázok 2). Toto zobrazí kontextové menu. V kontextovom menu vyberte "Extrahovať všetko...". Toto zobrazí okno "Extrahovať", kde musíte kliknúť na Extrahovať.

Kliknite na tlačidlo "Extrahovať" v okne "Extrahovať všetko" (Obrázok 3).

Extrahovať príklad na prijatie SMS v C#
Obrázok 3 - Extrahovať príklad na prijatie SMS v C#

Krok 3 - Otvorte projekt v Visual Studio

Otvorte priečinok OzekiConsole. Tento priečinok sa zobrazí po extrahovaní balíka OzekiConsol.zip. V priečinku OzekiConsole dvakrát kliknite na súbor OzekiConsole.sln. Toto zobrazí okno "Ako chcete otvoriť tento súbor?". V tomto okne vyberte "Visual Studio". Po výbere Visual Studio kliknite na OK, aby ste otvorili ukážkový projekt v C#. (Obrázok 4)

Otvoriť príklad na prijatie SMS v C# v Visual Studio
Obrázok 4 - Otvoriť príklad na prijatie SMS v C# v Visual Studio

Krok 4 - Kliknite na Program.cs

Otvorte Program.cs kliknutím na súbor v priečinku riešení na ľavej strane obrazovky. Toto je hlavný kód tohto príkladu projektu v C#. Tento kód obsahuje príklady na to, ako odoslať SMS z C# a ako prijímať SMS v C#. Kód nie je príliš dlhý, má približne 300 riadkov. Demonštruje kompletnú funkcionalitu C# SMS API. (Obrázok 5)

Načítanie Program.cs do editora
Obrázok 5 - Načítanie Program.cs do editora

Krok 5 - Nastavte bod prerušenia v kóde prijímača SMS

Nájdite obsluhu udalosti OnMessageReceived a nastavte bod prerušenia na začiatok procedúry. Tento bod prerušenia vám umožní zachytiť udalosť OnMessageReceived. Udalosť OnMessageReceived sa spustí, keď váš C# SMS klient prijme SMS správu od SMS brány. (Obrázok 6)

nastavenie bodu prerušenia v udalosti prijatia SMS
Obrázok 6 - Nastavenie bodu prerušenia v udalosti prijatia správy

Krok 6 - Vytvorte používateľský účet OZX pre SMS API

Aby sa príklad C# SMS API mohol pripojiť k SMS bráne, musíte vytvoriť používateľský účet OZX v SMS bráne. Prejdite na konzolu správcu SMS brány otvorením URL https://127.0.0.1:9515 a kliknite na odkaz "Pridať nového používateľa/aplikáciu" na pravej strane obrazovky. (Obrázok 7)

Vytvorenie používateľského účtu SMS na prijímanie textových správ
Obrázok 7 - Vytvorenie používateľského účtu SMS na prijímanie textových správ v C#

Odkaz "Pridať nového používateľa/aplikáciu" zobrazí zoznam inštalovateľných typov používateľov. V zozname musíte nájsť používateľský účet OZX. Používateľský účet OZX využíva vysoko optimalizovaný SMS protokol, ktorý umožňuje vašej C# SMS aplikácii komunikovať so SMS bránou cez sieť. Pretože SMS brána a C# SMS klient komunikujú cez sieť, môžete prijímať textové správy vo vašom C# projekte, aj keď projekt beží na inom počítači. (Obrázok 8)

inštalácia používateľského účtu C# SMS API
Obrázok 8 - Kliknite na inštalovať pre inštaláciu používateľského účtu C# SMS API (OZX používateľ)

Zadajte používateľské meno a heslo. V našom príklade používame testuser ako používateľské meno a testpass ako heslo. C# SMS klient použije tieto prihlasovacie údaje na pripojenie k SMS bráne. Ak potrebujete viac ako jedno pripojenie C# SMS API, môžete vytvoriť viacero používateľských účtov OZX. Každý používateľský účet bude hostiť svoj vlastný C# SMS API klient. Ak chcete rozhodnúť, ktorý C# SMS klient prijme prichádzajúcu SMS, musíte vytvoriť prichádzajúce trasy v smerovacej tabuľke Ozeki SMS. (Obrázok 9)

Nastavenie testuser ako používateľského mena C# SMS API
Obrázok 9 - Nastavenie testuser ako používateľského mena C# SMS API

Povoľte možnosti logovania pre účet C# SMS API, aby ste získali záznamy o komunikácii. Odporúčam začiarknuť všetky políčka logovania najprv, aby ste získali podrobné informácie o tom, čo sa so správou deje. Ak prijmete text, uvidíte ho v zázname predtým, ako bude preposlaný vášmu C# SMS klientovi. (Obrázok 10)

Povolenie logovania na zobrazenie prijatej SMS predtým, ako sa dostane k C# SMS klientovi
Obrázok 10 - Povolenie logovania na zobrazenie prijatej SMS predtým, ako sa dostane k C# SMS klientovi

Krok 6 - Pridajte novú trasu na simuláciu prichádzajúcej SMS

Vytvorte novú SMS trasu, ktorá umožní správcovi odosielať testovacie SMS správy do C# SMS API klienta. Jednou z najlepších vecí pri používaní Ozeki SMS brány je, že umožňuje spravovať vaše SMS správy pomocou smerovacej tabuľky. Môžete nastaviť rôzne pripojenia mobilnej siete a rozhodnúť sa, ktorá SMS kam pôjde. V našom príklade chceme smerovať SMS správy prichádzajúce od správcu do C# SMS API klienta. V reálnom systéme nebudete smerovať SMS od správcu, namiesto toho budete smerovať SMS správy prijaté na pripojeniach mobilnej siete do vášho C# SMS API klienta.

Ak chcete vytvoriť novú SMS trasu, kliknite na Pridať novú trasu v ovládacom paneli Ozeki SMS brány (Obrázok 11).

Pridanie novej SMS trasy pre C# SMS klienta
Obrázok 11 - Pridanie novej SMS trasy

Ak chcete prijímať textové správy počas písania vášho C# SMS kódu, použijete formulár na vytvorenie SMS v SMS bráne a budete odosielať SMS ako správca. SMS trasa, ktorú vytvoríme, bude smerovať SMS správy prichádzajúce od správcu na účet testuser. Účet testuser preposiela SMS do C# SMS klienta (Obrázok 12).

SMS z GUI do C#
Obrázok 12 - SMS od správcu do C# klienta

V formulári smerovacích detailov vyberte testuser ako cieľ pre vaše prichádzajúce SMS správy. Táto trasa bude odosielať SMS správy od správcu na testuser. Testuser preposiela prijaté SMS správy do C# API klienta (Obrázok 13).

Vytvorenie SMS trasy na simuláciu prichádzajúcich textov
Obrázok 13 - Vytvorenie SMS trasy na simuláciu prichádzajúcich textov

Krok 7 - Spustenie príkladu projektu C# pre SMS

Ak chcete spustiť svoj projekt C# pre SMS, musíte kliknúť na tlačidlo Štart na paneli nástrojov Visual Studio. Po kliknutí na toto tlačidlo Visual Studio skompiluje kód a spustí ho vo vývojovom prostredí. Vykonávanie programu sa zastaví, keď algoritmus narazí na bod prerušenia. Keďže náš príklad je konzolová aplikácia, uvidíte čierne konzolové okno, ktoré sa objaví po spustení vykonávania. (Obrázok 14)

Obrázok 14 - Spustenie projektu C# pre SMS API

Do konzolového okna zadajte príkaz help. Pomocný text zobrazí dostupné príkazy, ktoré môžete v tomto príkladovom projekte použiť. Prvý príkaz, ktorý použijete, je príkaz connect. Zadajte "connect 127.0.0.1:9580 testuser testpass" do konzolového okna, aby ste pripojili svoj kód C# pre SMS k SMS bráne. Upozorňujeme, že 127.0.0.1 znamená, že SMS brána beží na tom istom počítači, kde beží váš kód C# pre SMS. 9580 je TCP/IP port, ktorý SMS brána používa na prijatie klientov C# pre SMS (používateľov OZX), a poverenia testuser a testpass sú tie, ktoré sme definovali pri vytvorení používateľského účtu OZX v kroku 6 tohto návodu pre SMS. (Obrázok 15)

Obrázok 15 - Spustenie konzolovej aplikácie C# pre SMS

Po pripojení k SMS bráne ste pripravení odoslať svoju prvú SMS svojmu klientovi C# API.

Krok 8 - Odoslanie testovacej SMS

Odošlite testovaciu SMS správu kliknutím na tlačidlo "Nový" na paneli nástrojov Ozeki v konzole správy SMS brány. Pri odosielaní testovacej SMS budete musieť definovať adresu príjemcu a text správy. Na karte Pokročilé môžete tiež definovať ID odosielateľa, ako je krátky kód SMS alebo alfanumerické ID odosielateľa pre vašu SMS. (Obrázok 16)

testovacia SMS, ktorá má byť prijatá
Obrázok 16 - Vytvorenie testovacej SMS, ktorá má byť prijatá

Kliknutím na OK odošlete testovaciu SMS. Vaša SMS brána vám poskytne udalosti súvisiace s odoslaním SMS a budete informovaní o ID správy. Môžete si všimnúť reťazec GUID v poslednom riadku obrázku 17.

ID SMS správy, ktoré sa má použiť v C# SMS API
Obrázok 17 - ID SMS správy, ktoré sa má použiť v C# SMS API

Po odoslaní SMS správu používateľom admin je táto správa prijatá používateľským účtom OZX s názvom testuser. Tento používateľský účet preposiela SMS klientovi C# pre SMS cez sieť. Klient C# pre SMS prijíma text cez TCP/IP spojenie vytvorené metódou connect. Ak ste nastavili bod prerušenia v udalosti OnMessageReceived, práve v tomto momente sa vykonávanie programu pozastaví.

Krok 9 - Prijatie SMS v C# konzole

Prečítajte si riadok s prijatou správou v C# konzole. Uvidíte, že SMS bola odoslaná používateľom admin@localhost na telefónne číslo +361111111. Klient C# SMS API prijal text 'Hello c sharp client' (Obrázok 18). Textová správa bola klientovi C# predložená vo forme udalosti C#. Obslužná metóda udalosti OnMessageReceived je volaná, keď je táto udalosť vyvolaná, a správa bola vložená do vstupného parametra metódy obsluhy udalosti OzMessageReceived.

prijatie SMS v C# konzole
Obrázok 18 - prijatie SMS v C# konzole

Ďalšia vec, ktorú chcete urobiť, je pozrieť si záznamy v SMS bráne.

Krok 10 - Zobrazenie záznamov v SMS bráne

Otvorte stránku s podrobnosťami používateľa testuser kliknutím na odkaz testuser na nástenke Ozeki SMS brány. Toto nás prevedie na záznam udalostí účtu testuser. V tomto zázname udalostí očakávame, že uvidíme komunikáciu, ktorá prebieha medzi klientom C# pre SMS a SMS bránou. Tiež očakávame, že uvidíme prijatú SMS správu v zázname komunikácie. (Obrázok 19)

Obrázok 19 - Otvorenie stránky s podrobnosťami používateľa testuser

Nájdite riadok "Received." na karte udalostí používateľa testuser. V tomto riadku uvidíte SMS prijatú klientom C# pre SMS. Môžete vidieť dátum a čas udalosti a podrobnosti správy. Pod čitateľným záznamom v denníku uvidíte záznam komunikácie protokolu OZX. Tento záznam vám umožňuje ladenie komunikácie v prípade, že sa vyskytnú nejaké problémy. (Obrázok 20)

Obrázok 20 - skontrolujte prichádzajúcu SMS v používateľskom účte spojenom s C# SMS API

Prijatie textovej správy z mobilnej siete

V vyššie uvedených krokoch sme simulovali prichádzajúcu správu. Správu odoslal administrátorský používateľ, ktorá bola preposlaná do C# príkladu SMS. Ďalším krokom je pripojenie systému k mobilnej sieti. Na to máte rôzne možnosti. Môžete sa pripojiť k poskytovateľovi SMS služieb cez internet pomocou Ozeki 10 SMS bránu na svoj Android telefón a použiť vstavané SMS pripojenie Android SMS brány. (Obrázok 21)

Obrázok 21 - Prijatie SMS s Android telefónom

Aby vyššie uvedené riešenie fungovalo s Android telefónom, všetko, čo musíte urobiť, je vytvoriť prichádzajúcu trasu v Ozeki SMS smerovacej tabuľke. Túto trasu musíte vytvoriť medzi pripojením k mobilnej sieti a používateľom C# SMS API (testuser). Ak chcete nájsť najlepší spôsob pripojenia k mobilnej sieti pre váš projekt, pozrite si náš návod ako pripojiť vašu SMS bránu k mobilnej sieti. (Obrázok 22)

Obrázok 22 - Smerovacia tabuľka pre prijatie SMS

Aby sme to zhrnuli

Toto bol dlhý a veľmi podrobný zoznam inštrukcií, ktorý vám pomôže začať s vývojom C# SMS projektu, ktorý dokáže prijímať SMS správy. Ak začnete toto riešenie používať, rýchlo zistíte, že je veľmi vhodné, ak chcete prijímať SMS správy rýchlo cez rôzne pripojenia k mobilnej sieti. Toto riešenie funguje či už chcete prijímať SMS cez Android mobilný telefón alebo cez IP SMS spojenie, ako je SMPP klient.

More information