Simit Teknesi — TV ve Windows Radyo güncelleme rehberi
Güncelleme akışı: Yeni sürümü üret → indir sitesine yükle → güncelleme URL'sini ve SHA-256'yı al → panelden cihazlara gönder → yeni sürümü doğrula. TV veya bilgisayarda uygulama zaten kurulmuş ve merkeze bağlanmış olmalıdır. Panel güncelleme komutu ilk kurulumu yapmaz.
İlk kurulum, AnyDesk/ADB hazırlığı ve TV'nin isteğe bağlı HOME seçimi için [saha kurulum rehberini](kurulum-rehberi.html) kullanın. Bu rehber uygulama sürümü dağıtımı içindir; playlist/içerik değişikliği uygulama paketi üretmeyi gerektirmez.
1. Göndermeden önce
- TV APK'sı
com.simitteknesi.tvpaketinde, kurulu TV ile aynı imzada ve daha yüksekversionCodedeğerinde olmalıdır. - Windows Radyo Setup EXE'sinin uygulama sürümü kurulu sürümden yüksek olmalıdır; aynı sürümle yeni EXE yapmak başarılı yükseltme sayılmaz.
- Paketler gerçek API adresiyle hazırlanmalıdır:
https://api.simitteknesi.com.tr/api/v1. - Önce bir TV ve bir Windows bilgisayarda pilot deneyin; çalıştığını gördükten sonra şubelere kademeli gönderin.
- Güncellemede yayın/ses kısa süre kesilebilir; uygun bakım aralığını seçin.
İmza dosyaları, keystore, signing.properties, parolalar ve cihaz tokenları indirme sitesine konulmaz. TV imzası uyuşmuyorsa uygulamayı silerek veya TV'yi sıfırlayarak geçiş yapmayın; doğru filo anahtarıyla paket üretin. Normal üzerine kurulum cihaz kaydını ve önceden indirilmiş içerikleri korur.
2. Android TV için yeni APK üretme
Geliştirme bilgisayarında Android projesinin build ortamı hazır olmalı. clients/tv-android/signing.properties, mevcut TV'lere kurulmuş üretim paketinin aynı imza anahtarını göstermelidir. İlk üretim kurulumunda oluşturulmuş anahtarı sonraki sürümlerde değiştirmeyin.
Depo kökünden:
cd clients/tv-android
./build-apk.sh --release https://api.simitteknesi.com.tr/api/v1
Başarılı build, version.properties içindeki versionName ve versionCode değerlerini artırır. Başarısız build sürüm kaydını artırmaz. Sonucu build çıktısından ve sürüm dosyasından okuyun; portalda yazılan sürüm gerçek APK ile eşleşmelidir.
Çıktı:
clients/tv-android/app/build/outputs/apk/release/app-release.apk
Bu dosyayı indir/public/downloads/SimitTeknesiTv.apk konumuna kopyalayın. Debug/emülatör paketi dağıtmayın; http://10.0.2.2:8000/api/v1 adresi şube sunucusu değildir. TV güncellemesi kurulu APK'nın gerçek paket, imza ve sürüm kodunu denetler; portalda sürüm yazısını değiştirerek bu kontrol aşılmaz.
3. Windows Radyo için yeni Setup EXE üretme
Windows geliştirme bilgisayarında
.NET 10 SDK ve Inno Setup 6 hazır olmalıdır. Depo kökünden PowerShell'de:
cd clients\radio-windows\deployment
.\build-installer.ps1 -ApiBaseUrl 'https://api.simitteknesi.com.tr/api/v1'
macOS geliştirme bilgisayarında
.NET 10 SDK, Python 3 ve çalışan Docker Desktop gerekir:
cd clients/radio-windows/deployment
docker pull amake/innosetup:innosetup6-bookworm # Yalnız ilk kullanımda gerekir.
./build-installer-macos.sh --api-url https://api.simitteknesi.com.tr/api/v1
Her iki yol da başarılı build sonunda clients/radio-windows/version.properties değerini artırır. Çıktılar:
clients/radio-windows/deployment/output/SimitTeknesi-Radyo-Setup-<sürüm>.exe
clients/radio-windows/deployment/output/SHA256SUMS.txt
Gerçek sürümün Setup dosyasını indir/public/downloads/SimitTeknesi-Radyo-Setup.exe konumuna kopyalayın. SHA-256 dosyası EXE'nin doğrulama bilgisidir; portaldaki hash ile aynı olmalıdır.
Şube bilgisayarına ayrıca .NET SDK kurmak gerekmez; Setup uygulamayı paketli olarak kurar. Kurulum normal Windows kullanıcı profiline yapılır, yönetici parolası istemez. Güncelleme mevcut cihaz kimliğini, ayarları ve müzik cache'ini korur. Build'deki API adresi yeni kurulumun varsayılanıdır; mevcut kurulumda kayıtlı başka bir API adresini otomatik değiştirmez.
4. Paketleri indir sitesine yükleme
Kaynak yollar depo köküne göredir:
| Uygulama | Portal kaynağı |
|---|---|
| Android TV | indir/public/downloads/SimitTeknesiTv.apk |
| Windows Radyo | indir/public/downloads/SimitTeknesi-Radyo-Setup.exe |
| Gösterilen sürümler | indir/public/assets/config.json içindeki tv.version ve radio.version |
İsimleri aynen kullanın. Yeni dosyanın gerçek sürümünü katalogda güncelleyin; kaynakta url/sha256 alanları null kalabilir, build dosyadan hesaplar. Ardından depo kökünden:
cd indir
npm test
npm run build
Build, sabit indirme dosyalarının yanında sürüm ve hash içeren ayrı güncelleme kopyalarını hazırlar. Güncelleme bilgileri dist/assets/update-packages.json ve dist/downloads/PaketBilgileri.json dosyalarına yazılır. Önceki sürüm kopyalarını public/downloads/versions/ altında saklayın ve sonraki yayınlara da dahil edin.
Vercel kullanıyorsanız portalın mevcut bağlı projesine yeni kaynak sürümünü gönderin. CLI ile bağlı indir/ klasöründe:
npx vercel@latest deploy --prod
Git entegrasyonu kullanıyorsanız yeni APK/EXE, katalog ve korunacak versions/ dosyalarını commit/push yapın; yalnız yerel build almak canlı siteyi güncellemez. Hostinger kullanıyorsanız yeni dist/ içeriğini veya release/SimitTeknesi-Indir-Hostinger.zip paketini indir subdomain'inin web köküne yükleyin. Eski sürüm dosyalarını silmeyin.
Yeni dosyalar yayınlandıktan sonra https://indir.simitteknesi.com.tr üzerindeki Güncelleme bölümünden ilgili uygulamanın sürümünü, güncelleme URL'sini ve SHA-256 değerini alın. Yerel dosyanın hash'i için:
Get-FileHash -Algorithm SHA256 '.\public\downloads\SimitTeknesiTv.apk'
Get-FileHash -Algorithm SHA256 '.\public\downloads\SimitTeknesi-Radyo-Setup.exe'
macOS'ta aynı dosyalar için shasum -a 256 kullanılabilir. Canlı güncelleme URL'sinden bir kopya indirerek hash'i karşılaştırın; kayıt/deployment önizleme adresini değil, şubelerin ulaşacağı gerçek HTTPS adresini gönderin.
Bekleyen komutlar için aynı dosyayı koruyun
İndirmeler bölümündeki SimitTeknesiTv.apk ve SimitTeknesi-Radyo-Setup.exe adresleri son sürümü indirir. Panel komutuna sürüm/hash içeren güncelleme URL'sini koyun. Sabit “son sürüm” dosyası sonradan değişirse, önceki komutun SHA-256 değeri yeni dosyayla uyuşmaz ve güncelleme başarısız olur.
Bekleyen komutların eriştiği eski sürüm dosyasını başka içerikle değiştirmeyin veya silmeyin. Güncelleme komutlarının paneldeki bekleme süresi 30 gündür; cihazlar çevrimdışı kalabileceğinden komutlar tamamlanana/süreleri dolana kadar eski dosyaları ulaşılabilir tutun. Aynı sürüm adına farklı içerik üretmeniz gerekirse yeni hash'li URL kullanın.
Portalın otomatik paketleme sınırı uygulama dosyası başına 250 MiB'dir. TV güncelleme alıcısı da 250 MiB üzerindeki APK'yı reddeder. Büyük Radyo EXE'sini Hostinger'a elle koyarsanız aynı HTTPS domain üzerinde sürümü değişmeyen bir dosya adresi ve gerçek SHA-256 kullanın; otomatik build'e dahil edilemeyen bu dosyanın metadata/sürüm kaydını ayrıca doğrulayın. Windows alıcısının indirme sınırı 1 GB'dir.
5. Tek TV'ye panelden güncelleme gönderme
- Yönetim panelinde Cihazlar sayfasını açın, üstte doğru şubeyi seçin ve Cihaz Ayarları sekmesine geçin.
- Doğru Android TV satırının işlem menüsünden Uzaktan Kontrol seçin. Cihaz numarası ve fiziksel ekranı doğrulayın.
- Komut listesinden Uygulama güncellemesini başlat seçin.
- Portalın TV güncelleme URL'sini Güncelleme adresi alanına, aynı APK'nın hash'ini SHA-256 alanına yapıştırın. TV'de hash alanı teknik olarak isteğe bağlı olsa da doldurun.
- Komutu Gönder düğmesine basın ve komut geçmişini izleyin.
TV HTTPS üzerinden indirir; paket/imza/daha yüksek sürüm ve verdiğiniz SHA-256 kontrol edilir. Android 12+ uygun standart cihazlarda onaysız kurulum denenebilir, fakat TV üreticisi veya Android yine onay isteyebilir. Mevcut device-owner cihazlarda sessiz kurulum yolu bulunması, bütün Onvo'larda aynı sonucun alınacağını göstermez. Android kurulum onayı koşulları).
TV’de onay bekleniyor durumunda kumandadan uygulamayı açıp üç kez OK → Bekleyen güncellemeyi aç seçin. İzin gerekiyorsa İZİN AYARINI AÇ ile Android'in kendi uygulama kurma iznini verin; sonra KURULUMA DEVAM ET üzerinden sistem onayını tamamlayın. DAHA SONRA işlemi kurulumu erteleyebilir; panelde yeniden komuta basmak eski izin/kurulum ekranını temizlemez.
Kurulum TV'yi yeniden başlatmaz; uygulama değişirken yayın kısa süre durabilir. Tamamlandı sonrasında yeni sürümü, son görülme bilgisini ve yayın ekranının gerçekten döndüğünü kontrol edin. Gerekirse izinli Yayın ekranını öne getir komutunu veya kumandadan uygulama açmayı kullanın.
Daha önce kullanıcı tarafından yapılmış HOME tercihi güncellemede korunur; yeni sürüm kendiliğinden HOME seçimi yapmaz. HOME kullanmak için kurulum rehberindeki üç OK → HOME yap adımını Android'in sistem ekranında tamamlayın.
6. Tek Windows Radyo'ya panelden güncelleme gönderme
- Cihazlar → doğru şube → Cihaz Ayarları yolunu açın.
- Windows Radyo satırında Uzaktan Kontrol seçin.
- Uygulama güncellemesini başlat komutunu seçin.
- Portalın Radyo Setup EXE güncelleme URL'sini ve aynı dosyanın SHA-256 değerini girin. EXE güncellemesinde SHA-256 zorunludur.
- Komutu Gönder seçin ve komut sonucunu izleyin.
Radyo EXE'yi indirip hash'i doğrular; ardından sessiz installer başlar. Radyo uygulaması kısa süre kapanır ve kurulum sonunda arka planda açılır. Normal güncelleme bilgisayarı yeniden başlatmaz. İşleniyor, yalnız indirme/kurulum sürecinin alındığı anlamına gelir. Yeniden açılan uygulama önceki sürümden daha yeni olduğunu doğrulayınca Tamamlandı bildirir; eski sürümle dönerse Başarısız bildirir.
Son kontrolde panelde uygulama sürümü, güncel son görülme/oynatma bilgisi ve gerçek ses çıkışı doğru olmalıdır. Windows kullanıcısı oturum açmamışsa veya radyo uygulaması kapalıysa komut hemen işlenmez; gerekirse AnyDesk ile aynı kullanıcı oturumunda uygulamayı açın. Bu dağıtımda .appinstaller yerine portalın Setup EXE'sini kullanın.
Radyo 0.1.15: Müzikleri sırayla indirir; ilk hazır şarkıyla çalmaya başlar ve tamamlanan her parçayı hemen listede gösterir. Diğer dosyalar inerken çalan şarkı kesilmez. Ekrandaki Müzikler: hazır/toplam ve İndiriliyor bilgileriyle ilerlemeyi izleyin. İndirilemeyen dosyalar sonraki eşitlemede yeniden denenir; tamamlanan parçalar uygulama yeniden açıldığında veya bağlantı kesildiğinde de kullanılabilir. Paneldeki son başarılı eşitleme zamanı bütün dosyalar tamamlandığında güncellenir.
7. Bir şubedeki cihazlara toplu gönderme
Önce pilot cihazdaki kurulum sonucunu doğrulayın. Sonra Cihazlar → doğru şube → Cihaz Ayarları bölümünde:
- TV için TV’leri Toplu Güncelle.
- Radyo için Radyoları Toplu Güncelle.
Doğru uygulamanın sürüm/hash içeren güncelleme URL'sini ve SHA-256 değerini girin. Radyo toplu gönderiminde hash zorunludur. Şube ve hedef cihaz sayısını kontrol edip Tümüne Güncelleme Gönder seçin.
Bu işlem seçili şubenin aktif, ilgili türdeki cihazlarını hedefler. Bütün şubelere tek tıkla dağıtım değildir; diğer şubeler için şube seçip işlemi tekrarlayın. TV URL'sini radyo listesine, EXE'yi TV listesine göndermeyin.
Toplu gönderim yeni komutları oluşturur; bütün cihazların kurulumunun bittiğini göstermez. TV'lerin bir kısmında yerel kurulum onayı gerekebilir. Yeni toplu komut eski kuyruktaki update'i değiştirebilir, fakat işlenmekte olan veya TV'de onay bekleyen güncellemeyi ortadan kaldırmaz. Önce mevcut komut sonucunu çözün.
8. Komut durumlarını okuma
| Paneldeki durum | Anlamı / yapılacak işlem |
|---|---|
| Kuyrukta | Cihaz henüz komutu almamış olabilir; uygulama ve ağ erişimini kontrol edin. |
| Teslim edildi | Sunucu komutu cihaz bağlantısına vermiştir; kurulum bitmiş sayılmaz. |
| İşleniyor | Cihaz komutu almıştır; indirme veya installer aşaması sürüyor olabilir. |
| TV’de onay bekleniyor | Android TV'de yerel izin/kurulum onayını tamamlayın. |
| Tamamlandı | Güncelleme sonucu başarılı bildirilmiştir; uygulama sürümü ve yayın/sesi ayrıca doğrulayın. |
| Başarısız | Sonuç mesajını okuyun; neden düzeltilmeden aynı komutu tekrarlamayın. |
| Süresi doldu | Komut geçerli sürede tamamlanmadı; cihazı ve dosya erişimini doğrulayıp gerekirse yeniden gönderin. |
Teslim edildi / İşleniyor ≠ Tamamlandı. Yeni sürümün çalışması, yayın/sesin geri gelmesi ve cihazın yeni heartbeat göndermesi birlikte kontrol edilmelidir. Sonuç bildirimi internet yokken gecikebilir.
9. Güncelleme başarısızsa
| Sorun | Çözüm |
|---|---|
| Hash uyuşmuyor | URL'deki dosyayı indirin; doğru SHA-256 ile yeni komut gönderin. Eski komutun dosyasını aynı adreste değiştirmeyin. |
| HTTPS/indirme hatası | Cihazdan ulaşılabilen, oturum istemeyen doğrudan dosya URL'si kullanın; üretim deployment'ını kontrol edin. |
| APK imzası uyuşmuyor | Kurulu filo anahtarıyla yeniden build alın. Uygulamayı silmeyin veya TV'yi sıfırlamayın. |
| APK/EXE aynı veya eski sürüm | Başarılı yeni build ile sürümü artırın; yalnız katalogdaki yazıyı değiştirmeyin. |
| TV'de izin/onay bekleniyor | Üç OK → Bekleyen güncellemeyi aç yolundan Android onayını tamamlayın. |
| Önceki güncelleme bekliyor | Önce önceki kurulum/onay/sonuç bildirimini tamamlayın; art arda yeni update göndermeyin. |
| TV uygulaması zorla durduruldu | Panel komutu uygulama servisi olmadan alınamaz; yetkili ADB ile açın veya kumandadan açın. |
| Radyo kapalı / Windows oturumu yok | AnyDesk ile yetkili kullanıcı oturumunda radyo uygulamasını açın. |
| Güncel sürüm var, yayın/ses yok | Uygulama açılışı, içerik eşitlemesi, şube ataması ve gerçek ses/ekran durumunu kontrol edin. |
| Disk alanı yetersiz | Uygun bakımda depolamayı kontrol edin; uygulama verisini/cache'i rastgele silmeyin. |
Elle kurtarma için TV'de destek kitinin Yerel Simit Teknesi APK kur/güncelle işlemi veya Windows'ta AnyDesk üzerinden aynı kullanıcı hesabında Setup çalıştırma kullanılabilir. Normal üzerine kurulum yöntemini uygulayın; doğru imza, doğru sürüm ve hash kontrollerini sürdürün.
10. Dağıtım kaydı
Her paket için uygulama adı, sürüm, TV için versionCode, değişmeyen güncelleme URL'si, SHA-256, yayın tarihi ve pilot sonucu kaydedin. Her şube için hedef cihazlar, komut sonucu, yeni uygulama sürümü ve yayın/ses kontrolünü kaydedin. Parolalar ve cihaz tokenları bu genel rehbere veya paket metadata'sına yazılmaz.
Önceki APK/EXE'yi arşivlemek onu doğrudan geri yükleyebileceğiniz anlamına gelmez. TV daha düşük sürüm kodunu kabul etmez; Radyo daha yeni sürüm doğrulaması yapar. Bir sorunlu değişikliği geri almak için düzeltmeyi daha yüksek sürüm olarak üretip aynı güncelleme akışıyla dağıtın.