Salonun oynayacağı her şeyi kurun.
Anket ve quiz yalnız başlangıç. Ajanslar ve şirket ekipleri Omnigate üstünde kendi deneyimlerini kurar: her türlü girdiyi gönderen bir telefon sayfası, onu canlı bir şova çeviren büyük ekran — HTML, Three.js, Unity WebGL ya da en iyisi OmniMotion ile.
Nasıl çalışır
Her deneyimin aynı üç parçası var. Her birinin nasıl görüneceğine siz karar verirsiniz; aradaki veriyi Omnigate taşır — canlı, bilgisayar başına 2.000 telefona kadar.
- Girdiler
Telefon
Misafir QR’ı okutur; oy, dokunuş, kaydırıcı, metin, fotoğraf ya da çizim gönderir — tarayıcıdan, uygulamasız.
→ - Hesap + akış
Sunucu
Omnigate her girdiyi denetler, canlı sayar ve sıralar; şovu ilerletir: operatörle, süreyle ya da bir koşulla.
→ - Sahneler
Ekran
Büyük ekran, yan ekranlar ve LED duvarlar canlı veriyi alır ve şova çevirir.
Telefon
13 girdi türü · telefon SDK’sıDeneyimin her bölümü kabul ettiği girdileri bildirir. Telefon ekranını Omnigate kurar — ya da telefon SDK’sıyla kendi sayfanızı yazar, istediğiniz her şeyi gönderirsiniz.
choiceBir ya da birkaç seçenekbuttonTek dokunuş — say, tepki ver, ilk basanholdBasılı tut — süre sayılırshakeTelefonu salla — hareket girdi olursliderÖlçekte bir değer — puan, yıldız, 1–10numberSınırlı bir sayı — tahmin, kestirimtextKelime ya da kısa yanıt, moderasyonluphotoFotoğraf, onaydan sonra ekrandadrawingTelefonda çiz, duvarda gösterteamTakıma katıl — yarış, kapışmapointGörselde ya da haritada bir noktaya dokunemojiCanlı emoji tepkileridataSizin biçiminiz: her türlü JSON, sunucu denetler
Kendi telefon sayfanız
Paketinizde düz bir HTML sayfası. Bağlantıyı, yeniden bağlanmayı, o anki görünümü, yüklemeyi (küçültme ve onay dahil) ve titreşimi SDK yönetir.
<!-- phone/index.html, inside your pack --> <script src="/sdk/phone.js"></script> <script> omnigate.on('init', (info) => setLanguage(info.lang)); // language, direction, brand, nickname omnigate.on('view', (view) => draw(view)); // what this phone should show now pick.onclick = async () => { const ack = await omnigate.send({ color: 'coral', size: 4 }); // any value your schema allows if (ack.ok) omnigate.haptic(30); }; const ack = await omnigate.upload(selfieBlob); // photo / drawing: resized, consent, approval </script>
Sunucu
16 canlı hesap · akış kurallarıNeyin hesaplanacağını tarif edersiniz; Omnigate canlı hesaplar ve sonucu her ekrana yayınlar. Yazılacak sunucu yok, ölçeklenecek bir şey yok.
Canlı hesaplar
Akış
- Operatör: operatör ekranından aç, kapat, sonucu göster
- Süre: belirli bir süre sonra geç
- Koşul: bir değere ulaşınca geç (ör. bir takım yarışı bitirince)
- Tekrar: turlar, sürekli güncellenen sıralamayla
experience.json — bir bölüm
Tek dosya girdileri, hesapları, sahneleri ve akışı tarif eder. Sunucu yüklemede denetler.
{
"id": "bubbles",
"inputs": [
{ "id": "pick", "kind": "data", "per": "latest",
"config": { "schema": {
"color": { "type": "enum", "values": ["coral", "sky", "lime"] },
"size": { "type": "number", "min": 1, "max": 5, "integer": true } } } },
{ "id": "rate", "kind": "slider", "per": "latest", "config": { "min": 1, "max": 5 } }
],
"computes": [
{ "id": "all", "kind": "latest", "from": "pick", "params": { "n": 100 }, "publish": "bubbles" },
{ "id": "colors", "kind": "groupBy", "from": "pick", "by": "option", "field": "color", "publish": "colors" },
{ "id": "stars", "kind": "avg", "from": "rate", "publish": "rating" }
],
"scenes": {
"main": { "kind": "omni", "ref": "stage/bubbles.omni", "fallback": "idle" },
"phone": { "kind": "html", "ref": "phone/index.html" }
}
}Ekran
hazır · HTML · OmniMotionHesaplanan her değer ekrana tek bir canlı veri nesnesiyle, Gate ile gelir. Nasıl çizeceğinizi seçin:
Hazır görünümler
Her hazır deneyim için sade, markalı görünümler. Kod yok — ve özel sahne açılamazsa her zaman yedek.
Kendi HTML’iniz
Paketinizde ekran SDK’lı bir sayfa: Canvas, Three.js, Unity WebGL, video. Kapalı çerçevede çalışır; çökerse şov sürer.
OmniMotion
Ekranı OmniMotion Studio’da tasarlayın, canlı veriye kodsuz bağlayın: {Gate.poll.question}, Gate.poll.options’a bağlı tekrarlayıcılar, GateReveal ile durum makineleri. 2B, 3B, etkileşim ve veri tek dosyada; tasarlarken canlı önizleme.
Ekranı kurmanın en iyi yolu neden OmniMotion
- Yapıştırma kodu yokMetin, liste, grafik ve animasyon doğrudan Gate’e bağlanır.
- Yalnız geliştirici değil, tasarımcıŞovu tasarlayan kişi kurar — ve o gün değiştirir.
- Canlı için yapıldıŞov olayları (aç, kapat, göster) animasyonları ve durum makinelerini sürer.
- Asla siyah ekranSahne açılamazsa aynı yerde hazır görünüm devralır.
Ekran SDK’sı (HTML)
<!-- stage/index.html — Canvas, Three.js, Unity WebGL… --> <script src="/sdk/stage.js"></script> <script> omnigate.on('scene', (msg) => { const g = msg.data.Gate; // live data: state, participants, join, brand, your computes title.textContent = g.content.question; drawBubbles(g.bubbles); // published by your "latest" compute }); omnigate.on('event', (name) => { // GateOpen · GateClose · GateReveal · GateReset… if (name === 'GateReveal') celebrate(); }); </script>
Gate nesnesi (özet)
state- idle · open · closed · reveal
participants- bağlı telefonlar
join.code · join.url · join.short- QR’ın ve ekranın gösterdiği
brand.primary · brand.accent- etkinliğin renkleri
content- organizatörün doldurduğu
segment.index · segment.count- tur ve tur sayısı
timer.endsInMs- yanıt için kalan süre
<yayın yolları>- hesaplarınız, ör. race.distance, quiz.leaderboard
Paketler
yayına alınDeneyim paketi bir zip’tir: experience.json, telefon sayfanız, ekran sahneleriniz ve çevirileri. Panelden yüklersiniz; her yükleme bir sürüm olur, canlıya alma etkinliğin kullandığı sürümü sabitler — prova ettiğiniz neyse o oynar.
my-pack.zip ├── experience.json ├── phone/index.html ├── stage/bubbles.omni ├── stage/side.html └── locales/tr.json
- Panelden yükleyin, sürümleyin, geri alın
- Yüklemede denetim: şema, dosya türleri, boyutlar, eksik sahneler
- Kapalı çerçeve: dışarı bağlanamaz; hız sınırı ve moderasyon hazır
- İnternetli ve tamamen internetsiz, aynı bilgisayarda
API
REST · sizin sistemlerinizPanelin yaptığı her şey aynı API’den geçer: etkinlik oluşturun, akışı kurun, canlıya alın, bitirin ve raporu — JSON ya da CSV — CRM’inize, veri ambarınıza, panolarınıza çekin.
GET | /v1/experiences | Deneyimler ve içerik alanları |
POST | /v1/events | Taslak etkinlik oluştur |
PUT | /v1/events/:id/items | Bütün akış tek istekte |
POST | /v1/events/:id/live | Canlıya al |
POST | /v1/events/:id/end | Etkinliği bitir |
GET | /v1/events/:id/report | Katılım ve sonuçlar (JSON) |
GET | /v1/events/:id/report.csv | Aynısı CSV olarak |
POST | /v1/packs | Paket sürümü yükle |
curl -X POST https://<your-omnigate>/v1/events \
-H "Authorization: Bearer $PANEL_KEY" -H "Content-Type: application/json" \
-d '{ "title": "Launch 2026", "language": "en", "brand": { "primary": "#14123a", "accent": "#ff5a3c" } }'
curl https://<your-omnigate>/v1/events/evt_42/report.csv?lang=en \
-H "Authorization: Bearer $PANEL_KEY" -o results.csvKurumsal: kendi sunucularınızda, ülke içinde, kendi kimlik sisteminizle.
MCP Erken erişim
Omnigate Model Context Protocol konuşur. Claude’a ya da MCP destekli herhangi bir asistana bağlayın, etkinliği düz Türkçeyle hazırlayın — asistan aynı API’yi, aynı denetimlerle kullanır.
“300 kişilik bir lansman kur: karşılama anketi, üç soruluk quiz ve takım yarışı. Renklerimiz lacivert ve mercan.”
→ etkinliği oluşturur, akışı doldurur, markayı uygular“Canlıya al.”
→ akışı ve lisansı denetler, canlıya alır“Sonuçları tablo olarak gönder.”
→ raporu çeker, CSV olarak verir
Araçlar
Pilot ve ajans müşterilerine talep üzerine açılır. Erişim isteyin
Salon için bir fikriniz mi var?
Ne kurmak istediğinizi anlatın. Paket hâline getirmenize yardım edelim — ya da birlikte kuralım.