Pokud chcete vytvořit sociální/seznamovací aplikaci pro dvouhru, nejtěžší částí není “umožnit videohovory”, ale spíše zajistit, aby Matching → Volání → Spojení → Přední a zadní plocha → Nepřerušované spojení při slabém signálu → Soukromí a bezpečnost → Interaktivní dárky Tato linka funguje dobře.

Použitelný v následujících situacích: 1 na 1 seznamování/společné chatování, sociální video zápasy, videohovory s neznámými lidmi, soukromé hovory.
Získáte: prioritu funkcí MVP, end-to-end proces, strategii opětovného připojení/udržení aktivní relace, moduly pro ochranu soukromí a kontrolní seznam pro uvedení do provozu.

Jak realizovat videohovory 1 na 1 v sociálních aplikacích? Celý proces zahrnující spojení hovoru, práci na pozadí a opětovné připojení po přerušení – LikaCloud.

Scéna a cíl

Cíl produktu: Nízká latence, stabilní připojení bez výpadků, spolehlivé volání, kontrola nad soukromím a možnost monetizace (dárky/fakturace).
Předpoklad o rozsahu (typické hodnoty):

  • Současně online: 10 000 (být online neznamená nutně telefonovat)
  • Souběžné hovory: 1 000 párů (= 2 000 lidí v reálném čase s audio a video komunikací)
  • Cíl pro zpoždění od konce do konce: < 300 ms pro zážitek “jako tváří v tvář” (běžný cíl v tomto odvětví).

Seznam funkcí (MVP → pokročilé)

MVP je nutné udělat (nejprve spustit).

  • Seznam shod/doporučení (koncept Matching Hall/Social Hall)
  • Hovor jeden na jednoho: volání, zvonění, přijetí hovoru, odmítnutí, zaneprázdněno, časový limit.
  • Ovládání během hovoru: zapnutí/vypnutí kamery/mikrofonu, přepnutí mezi přední a zadní kamerou, přepnutí mezi reproduktorem a sluchátky.
  • Automatické opětovné připojení po přerušení spojení.(Slabá síť/přepínání sítě)
  • Nejzákladnější soukromí: zařazení na černou listinu, nahlášení, upozornění na základní oprávnění.

Pokročilé vylepšení (zvýšení míry udržení a průměrného příjmu na uživatele)

  • Textová konverzace + přečtené/nepřečtené zprávy + online stav (schopnost interaktivního posílání zpráv)
  • Vyskakovací okno pro příchozí hovory, offline notifikace (aby byly hovory lépe přijímány)
  • Krása/virtuální pozadí/filtry (zvyšují konverzi)
  • Hluk potlačující umělá inteligence (jasnější zvuk v hlučném prostředí)
  • Záznamy hovorů/zpráv (fakturace/řízení rizik/uživatelská zkušenost)
  • Interaktivní dárky (poskytování dárků) a platební systém (na základě délky trvání/počtu opakování)

Rozložení architektury

Pokud chcete uskutečnit videohovor v režimu 1 na 1, doporučujeme jej rozdělit na čtyři části, kdy každý účastník bude zodpovědný za jinou část:

  1. Zadní část podnikání (pokoje a vztahy)
  • Profily uživatelů, shoda/doporučení, černá listina.
  • Objednávka/fakturace (v případě placených hovorů)
  • Objednávka dárků a platba (pokud jde o tipy)
  1. Signální systém (sladění hovoru se stavem)
  • Výzva k volání / přijetí hovoru / odmítnutí / zrušení / překročení časového limitu.
  • Detekce zaneprázdněné linky a ochrana proti souběžným hovorům (stejný uživatel může být najednou zapojen pouze do jednoho hovoru).
  • Synchronizace stavu hovoru: Zvoní / Spojování / Spojeno / Opětovné spojování / Ukončeno
  1. Mediální spojení RTC (audiovizuální obsah)
  • Připojte se k místnosti, publikujte/přihlašte se k odběru audia a videa
  • Kódování a dekódování, adaptivní kódovací rychlost, strategie pro slabé připojení k internetu.
  • Zpracování zvuku: potlačení ozvěny/odstranění šumu/automatické zesílení (podobné funkci odstraňování šumu v AI).
  1. Rizikové řízení/dodržování předpisů (bezpečnost a správa)
  • Autentizační token, anti-spam (prevence hromadných automatických volání/obtěžování)
  • Šifrování od konce do konce / nastavení ochrany soukromí / výmaz dat (aspekty souladu s předpisy a ochrany soukromí)
  • Nahlášení, zablokování, proces schvalování (nejprve ručně).

Klíčové procesy (zapojení volání, pozadí, opětovné připojení po přerušení spojení)

1 Celý proces spojení hovoru (část, u které je nejpravděpodobnější, že dojde k chybě)

Postup:
Vybrat účastníka v herní lobby → Zahájit hovor (Call Invite) → Zazvoní u druhé strany → Přijmout hovor → Obě strany vstoupí do stejné místnosti → Publikovat/přihlásit se k audiovizuálnímu obsahu → Kontrola během hovoru → Ukončit hovor (Hangup)

Klíčové body implementace:

  • Volání bylo přerušeno.Například automatické zrušení po 30 sekundách bez odpovědi (aby se zabránilo tomu, že linka bude stále obsazená).
  • Zaneprázdněn/zaujatýPokud je druhá strana právě v hovoru, přejděte přímo na „Zaneprázdněno“.
  • Zrušit hovor.Pokud volající zruší hovor předtím, než je příjemce zvedne, měl by příjemce být informován, aby zastavil vyzvánění.
  • Stavový automat musí být v souladu s požadavky serveru.Pokud je síť na straně klienta slabá, snadno může dojít k “nesouladu stavů na obou stranách”.”

2 Schopnost aplikace reagovat na příchozí hovory v režimu online i offline.“

Nejčastější negativní hodnocení hovorů 1 na 1:“Po přepnutí na pozadí se připojení přeruší”, “Na zamčené obrazovce není žádné upozornění”, “Po návratu na přední obrazovku je obrazovka černá”.”

Doporučuje se provést to ve dvou vrstvách:

  • Oznámení na systémové úrovniOffline notifikace/upozornění na příchozí hovory (oficiální řešení také zdůrazňuje, že “je možné přijímat upozornění na příchozí hovory a zprávy i v režimu offline”).
  • Vnitřní uživatelské rozhraní aplikace.Fenestrace hovorů umožňují uživatelům přejít na jinou aplikaci a přitom zůstat ve volání.

Minimální implementace:

  • Aplikace přejde do režimu pozadí: udržuje signální spojení, média jsou udržována aktivní podle strategie nebo jsou rychle obnovena.
  • Zpět na hlavní obrazovku: obnovení náhledu kamery, synchronizace stavu hovoru (Připojeno / Připojuji se znovu)

3 Obnovení připojení po přerušení (jádro pro nepřetržité připojení při slabém signálu)

Cílem není “nikdy nespadnout”.”Ale: Pokud dojde k výpadku, může se systém automaticky obnovit během 3–10 sekund a uživatel bude vědět, co se stalo.

Doporučený postup pro opětovné připojení:

  1. Sledování změn v síti / odpojení médií → Uživatelské rozhraní zobrazí “Slabá síť, opětovné připojování…”
  2. Nejprve znovu připojte signalizaci (ujištěte se, že stav je stále v hovoru).
  3. Znovu připojit média (znovu připojit/znovu publikovat)
  4. Úspěšné opětovné připojení → Obnovení rozhraní pro předplatné a volání.
  5. Pokud hodnota přesáhne prahovou hodnotu, stále selže → automatické zavěšení hovoru a zobrazení upozornění (za účelem zabránění “falešnému připojení”).

Indikátor schopnosti fungovat na pomalém internetovém připojení.
Tencent RTC 1v1 Dating “端到端 <300ms、80% 抗丢包、1000ms 抗抖动、弱网仍能保持高质量通信”等卖点,你可以把它当作“你选方案时需要关注的能力维度”。

Seznam obtíží a pastí

Slabá síť (ztráta paketů/rozostření/přepnutí z Wi-Fi na 4G)

  • Fenomén: zkreslený zvuk, přerušovaný zvuk, rozmazaný obrázek, náhlé přerušení.
  • Zpracování: adaptivní bitová rychlost, priorita zvuku, opětovné připojení, detekce změny sítě.
  • Vrstva produktů: Zobrazí upozornění o “kvalitě sítě” (červená, žlutá, zelená).

Echo/zakřiknutí (přepnutí na externí reproduktor/sluchátka)

  • Fenomén: Druhá osoba slyší svůj vlastní hlas a ostré výkřiky.
  • Zpracování: AEC pro odstranění ozvěny + strategie pro externí zvuk + správné přepínání audio směrování.
  • Uživatelská vrstva: upozornění “Doporučujeme použít sluchátka/vypnout reproduktory”.”

Přední a zadní strana/zamknutá obrazovka/přerušení hovorem

  • Fenomén: po odchodu z aplikace dojde k jejímu ukončení, po návratu do aplikace se zobrazí černá obrazovka a po příchozím hovoru dojde k narušení stavu hovoru.
  • Zpracování: stav hovoru, obnovení kamery, offline push/vyskakovací okno (funkční body)

Konzistence stavu (nejméně viditelná)

  • Fenomén: Jedna strana ukazuje, že hovor je spojený, zatímco druhá strana stále volá; po zavěšení hovoru je na druhé straně stále zobrazeno, že hovor probíhá.
  • Zpracování: autoritativní stav na straně serveru + pravidelné kontroly na straně klienta + automatické ukončení po uplynutí časového limitu.

Ukazatele a testy

Doporučujeme sledovat alespoň tyto tři ukazatele:

  1. Koncová latence (E2E latency)Cíl: < 300 ms pro pohodlnější používání.
  2. Procento úspěšných hovorů / doba potřebná k navázání spojeníRozdělení doby potřebné k přechodu od pozvání k připojení (P50/P95)
  3. Pravděpodobnost úspěšného opětovného připojení / Doba trvání opětovného připojeníProcento úspěšných opětovných připojení a průměrný počet sekund potřebných k opětovnému připojení.

Metoda testování slabé sítě na skutečném zařízení (jednoduchá, ale účinná):

  • Zvyšte počet ztracených paketů a zvětšete zpoždění pomocí síťového simulátoru/nástroje pro slabé připojení k internetu.
  • Provedení celého hovoru ve čtyřech scénářích: přepnutí z Wi-Fi na 4G, zamknutí obrazovky, běh na pozadí a přerušení hovoru příchozím voláním.
  • Záznam: zda je možné automatické obnovení, doba obnovení, zda došlo k narušení stavu.

7 Náklady a výběr typu

Jak odhadnout náklady (postačí i ta nejjednodušší formule):

  • Počet minut volání za měsíc = počet minut volání za den × 30
  • Největší výdaje obvykle pocházejí z: minut audio a videa, špiček souběžného připojení, nahrávání/překódování (pokud je povoleno) a požadavků na globální linky.
    Současně úřady také zdůraznily význam poskytování sad UIKit/SDK pro všechny platformy za účelem zkrácení doby potřebné k uvedení produktu na trh, což je vlastně klíčový faktor “nákladů na pracovní sílu”.

Vytvoření vlastního WebRTC oproti použití SDK:

  • Vlastní instalace: nabízí vysokou míru flexibility, ale vyžaduje investice do mediálního serveru, globálních uzlů, slabších sítí a kompatibility.
  • SDK: rychlé uvedení do provozu, zejména řešení s funkcemi UIKit, cross-platform a optimalizací pro pomalé připojení k internetu jsou méně náročná na správu.

Závěr

Klíčem k vytvoření aplikace pro videohovory 1 na 1 je zajistit, aby Hala pro párování → Stav volání → Mediální spojení → Připojení a odpojení → Ochrana soukromí a zpeněžení Vytvořte stabilní řetězec spojení.

9 Časté dotazy

Otázka 1: Jaká je normální doba zpoždění při videohovoru 1 na 1?

Obecně platí, že čím je interakce blíže hodnotě <300 ms, tím je přirozenější. Skutečně však záleží na distribuci uživatelů, podílu přeshraničních uživatelů a procentu uživatelů s pomalým připojením k internetu. Při výběru je třeba klást důraz na celosvětové uzly a schopnost plánovat trasování datových paketů.

Otázka 2: Proč se u hovorů 1 na 1 často stává, že “se spojení nepodaří”?

Běžnými příčinami jsou nedostatečně přesné signální stavy: nepřehnané časové limity, opakované pozvánky a nekonzistentní detekce stavu „Zaneprázdněno“. Doporučuje se, aby server používal autoritativní stavy a idempotentní zpracování.

Otázka 3: Co mám dělat, když se připojení přeruší, když přejdu do režimu pozadí?

Je nutné zároveň zpracovat “systémová oznámení/push notifikace” a “obnovení médií”. Na stránce řešení je uvedeno, že plovoucí okna a offline push notifikace jsou typickými vylepšeními, která mohou významně zlepšit “schopnost přijímat” a “reakovat na” notifikace.

čtvrtletí: Jak zajistit, aby se připojení nepřerušilo při slabém internetovém signálu?

Jádrem je adaptivní bitová rychlost + automatické opětovné připojení + zpracování přepínání sítě + podpůrné upozornění v uživatelském rozhraní. Při výběru řešení je třeba věnovat pozornost ukazatelům, jako je odolnost vůči ztrátě paketů a náchylnost k výkyvům v připojení.

Otázka 5: Proč se při seznamování 1 na 1 stále zapojujeme do písemné komunikace?

Textový chat umožňuje pokračovat v konverzaci v případě, kdy se po navázání spojení nedojde k hlasovému hovoru. Označení zpráv jako přečtené nebo nepřečtené a informace o online stavu také zvyšují efektivitu interakce. Stránka řešení také považuje textový chat za jeden z klíčových scénářů.

Otázka 6: Jak zajistit soukromí a bezpečnost při hovorech 1 na 1?

Je nutné mít alespoň end-to-end šifrování, nastavení ochrany soukromí, možnost mazání dat a strategii dodržování předpisů. Na stránce řešení jsou zdůrazněny funkce jako end-to-end šifrování, ochrana soukromí, certifikace shody s předpisy a další.

Související odkazy

Pokud chcete co nejrychleji Matchmakingová místnost + hlasový/video/textový chat + AI pro potlačení šumu + vyskakovací okno/offline notifikace Pokud tyto 1v1 funkce pro seznamování fungují, můžete je přímo použít z Officiální řešení 1v1 Dating od Tencent RTC.Začněme s integrovaným přihlašovacím portálem.