Haber Yazılımı Mobil Uygulaması

Alesta Haber Scripti'ne özel, Kotlin + Material 3 ile yazılmış native Android uygulaması — Cookie persistence, deep linking, push bildirim ve JS ↔ Native bridge desteğiyle.

Native Android Uygulaması

Haber Sitenizin Native Mobil Yansıması

WebView hibrit mimarisiyle web sitenizin tüm içeriğini native kabuğun içinde sunar; okuyucularınız cookie persistence ile oturumunu korur, deep linking ile paylaşılan haberler doğrudan uygulamada açılır, offline modunda özel hata sayfası görür. Tek kod tabanı hem web'de hem uygulamada çalışır.

Kotlin Material 3 AndroidX WebView OneSignal Ready Android 7.0+
Haber uygulaması — Spor kategorisi
Haber uygulaması — Anasayfa
Haber uygulaması — Kategori listesi
Haber uygulaması — Haber detay
Haber uygulaması — Arama
Haber uygulaması — Profil
Haber uygulaması — Bildirimler

Sıfırdan Native, Web Siteniz ile Senkron

WebView hibrit yaklaşımıyla haber sitenizin tek bir kod tabanını hem web'de hem mobilde kullanırsınız. Uygulama, içeriğin yenilendiği an içerikle birlikte güncellenir; ayrıca APK yayınlamanız gerekmez.

Cookie Persistence (Oturum Devamlılığı)

Kullanıcı bir kez oturum açtığında uygulama kapansa bile oturum korunur. Beğeni, okuma geçmişi, kayıtlı haberler ve yorumlar web ile tam senkronize çalışır — `CookieManager` + persistent storage.

Pull-to-Refresh

Liste görünümünde aşağı doğru çekerek anasayfayı veya kategori sayfasını yenileme. `SwipeRefreshLayout` ile fabrika gibi native hissiyat, WebView reload tetiklemesi.

Deep Linking

`https://siteniz.com/haber/xyz` şeklinde paylaşılan linkler uygulama kuruluysa doğrudan uygulamada açılır. `android:autoVerify="true"` ile App Link doğrulaması, `singleTask` launch modu.

Kamera + Galeri Yükleme

Yorum resmi veya profil fotoğrafı yüklerken kullanıcı "kamera ile çek" veya "galeriden seç" seçenekleri arasında tercih yapar. `FileProvider` + `READ_MEDIA_IMAGES/VIDEO` ile Android 13+ uyumlu.

Dosya İndirme

Gazete PDF'i, görsel ve video gibi dosyalar cihaza indirilebilir. `DownloadManager` kullanımı, Cookie header'lı indirme — abonelik gerektiren içeriklerde bile oturum bilgisi korunarak indirme yapılır.

Offline Detection

İnternet bağlantısı yoksa özel `offline.html` sayfası (asset olarak paketli) gösterilir. Kullanıcı bağlantı geri geldiğinde "Tekrar Dene" ile geri döner. `ConnectivityManager` ile ağ durumu dinlenir.

Native Intent Yönlendirme

Haber içindeki `tel:`, `mailto:`, `whatsapp:`, `sms:`, `geo:` şemaları uygulamanın WebView'ında yakalanır ve ilgili native uygulamada (telefon / mail / WhatsApp / harita) açılır.

Splash Screen

Uygulama açılırken 900ms özel splash ekranı gösterilir. Custom tema `Theme.Haber.Splash` ile logo ve marka rengi gösterimi, ardından otomatik olarak `MainActivity`'ye geçiş.

Konum (Geolocation)

Yerel haberler için izinle alınan konum. `ACCESS_FINE_LOCATION` + `ACCESS_COARSE_LOCATION` ile siteniz "benim bölgemdeki haberler" filtrelemesi yapabilir. Web Geolocation API native destekle çalışır.

— Teknik Altyapı —

Modern Native Mimari

Kotlin dili, AndroidX kütüphaneleri ve Material 3 tasarım sistemi üzerine kurulu. Build-time parametreleri ile her müşteri için kendi domaini, uygulama adı ve marka renkleriyle imzalı APK çıkartılır.

1. JS ↔ Native Köprüsü HABERAPP

Web siteniz, kullanıcının uygulama içinden geldiğini tespit ederek native özelliklere doğrudan çağrı yapabilir. `window.HaberApp` nesnesi üzerinden:

  • HaberApp.toast(mesaj) — Native toast bildirimi
  • HaberApp.share(başlık, url) — Native paylaşım paneli
  • HaberApp.appVersion() — Versiyon bilgisi
  • HaberApp.platform() — Platform adı ("android")
  • HaberApp.openExternal(url) — Güvenli dış URL (scheme allowlist)
  • HaberApp.subscribeTopic(konu) — Push abonelik
  • HaberApp.unsubscribeTopic(konu) — Abonelikten çıkış

2. Güvenlik Politikaları SECURE

Uygulama varsayılan olarak güvenli modda çalışır; prod build'lerde HTTP bağlantı ve tehlikeli şemalar engellenir:

  • usesCleartextTraffic = false — Prod'da HTTPS zorunlu
  • MIXED_CONTENT_NEVER_ALLOW — HTTP/HTTPS karışımı yasak
  • allowFileAccess = false — `file://` erişimi kapalı
  • Scheme allowlist — `javascript:`, `intent://`, `content://`, `data:` engelli
  • SSL hatalarında handler.cancel() — Sertifika hatası = kesin red
  • allowBackup = false — Cookie/session yedekten çıkarılır
  • network_security_config.xml — Dev domain hariç cleartext yasak

3. Push Bildirim (OneSignal) OPSİYONEL

Haber scripti içinde zaten bulunan `OneSignalSDKWorker.js` ile web push mevcut. Native push için OneSignal Android SDK entegrasyonu:

  • Konu bazlı abonelik — Son dakika, spor, ekonomi…
  • Tag ile segmentasyon — Kullanıcı özel bildirim
  • POST_NOTIFICATIONS izni — Android 13+ uyumlu
  • Deep link destekli — Bildirim tıklaması haber sayfasına açılır
  • Web push ile paralel — Hem web hem mobil aynı anda

4. Build & İmza GRADLE

Her müşteri için ayrı APK: `SITE_URL` parametresi build anında verilir, müşterinin domainine özel uygulama üretilir:

# Kendi domaininizle release build
./gradlew assembleRelease \
  -PSITE_URL=https://benimhaberim.com

# Uygulama adı: strings.xml
app_name  = "Benim Haber"
app_host  = "benimhaberim.com"

# Marka rengi: colors.xml
brand_primary = #C8102E

Şeffaf, Minimum İzin Kullanımı

Uygulama sadece gerçekten ihtiyaç duyduğu izinleri talep eder. Her iznin ne için kullanıldığı aşağıda belirtilmiştir; gereksiz veri toplama yoktur.

INTERNET + NETWORK_STATE

Haber sitesine bağlanmak ve çevrimdışı durumu tespit etmek için.

CAMERA

Yorum veya profil fotoğrafı çekerken. Sadece kullanıcı tetiklediğinde.

READ_MEDIA_IMAGES / VIDEO

Galeriden fotoğraf/video seçimi. Android 13+ uyumlu, SDK 32 ve altı için READ_EXTERNAL_STORAGE.

ACCESS_FINE/COARSE_LOCATION

Yerel haber filtrelemesi için kullanıcı konumu. Sadece "bölgemdeki haberler" çalıştırıldığında istenir.

POST_NOTIFICATIONS

Android 13+ için push bildirim izni. Kullanıcı reddederse uygulama çalışmaya devam eder.

WRITE_EXTERNAL_STORAGE (SDK ≤ 28)

Eski Android sürümlerinde indirilen dosyaları kaydetmek için. Android 10+ Scoped Storage kullanır.

Web Siteniz, Native Özellikleri Çağırsın

Haber sitenizin JavaScript kodu, uygulamada çalıştığını tespit edip native özellikleri doğrudan kullanabilir. Bir "Paylaş" butonu web'de Web Share API kullanırken aynı buton mobilde Android Intent ile native paylaşım panelini açabilir.

User-Agent'a eklenen HaberApp suffix sayesinde PHP tarafında da sunucu, isteğin uygulama üzerinden geldiğini anlayabilir ve ona göre cevap üretebilir.

// ====== JavaScript: Uygulama tespiti ve native çağrı ======
const isApp = /HaberApp/.test(navigator.userAgent);

if (window.HaberApp) {
  // Native paylaşım paneli
  document.querySelector('#shareBtn')
    .addEventListener('click', () => {
      HaberApp.share(document.title, location.href);
    });

  // Abonelik kaydedildi toast'ı
  HaberApp.toast("Haber kaydedildi");

  // Son dakika konusuna push aboneliği
  HaberApp.subscribeTopic("son-dakika");
}

// ====== PHP: Server-side tespit ======
$isApp = strpos($_SERVER['HTTP_USER_AGENT'] ?? '', 'HaberApp') !== false;

if ($isApp) {
  // Uygulamada reklam tetikleme farklı olsun
  // veya uygulama-özel "Paylaş" butonu göster
}

Mobil Uygulama Hakkında

Şu anda paket içinde hazır gelen native uygulama Android platformu içindir. iOS (iPhone/iPad) için WebView tabanlı uygulama ek hizmet olarak sunulabilir; App Store yayın sürecindeki Apple geliştirici hesabı ve imzalama müşteri sorumluluğundadır. Ayrıca PWA (Progressive Web App) desteği iOS Safari ile çalışır — okuyucular "Ana Ekrana Ekle" ile haber sitenizi uygulama gibi kullanabilir.

Haber sitesi için WebView tabanlı hibrit mimari avantajdır: tek bir kod tabanı (web sitesi) hem tarayıcıda hem uygulamada çalışır, yeni özellik/tasarım eklerken APK güncellemesi gerekmez, SEO ile native uygulama arasında çelişki olmaz. Cookie persistence, native paylaşım, kamera yükleme, deep linking ve push bildirim gibi kritik native özellikler JS-Native bridge ile sağlanır. Tamamen native yazılmış bir uygulamanın içeriği güncellemek için her seferinde mağaza onayı beklerken sizin haberleriniz anında yayınlanır.

Müşteriye özel domain, uygulama adı ve marka rengi ile imzalı APK üretimi Alesta Soft tarafından yapılır. Google Play Store yayını için müşterinin kendi Google Play Console hesabı gereklidir (tek seferlik 25 USD). Uygulama hesabınıza yüklendikten sonra Play Store inceleme süreci (genelde 1-3 gün) tamamlandığında yayına alınır. Uygulama adı, ikon, ekran görüntüleri ve mağaza açıklamasını Alesta Soft hazırlar.

Haber scripti zaten web push için OneSignalSDKWorker.js içerir. Native uygulama için OneSignal Android SDK entegre edildiğinde web ve mobil push aynı OneSignal proje üzerinden yönetilir — son dakika haberini tek panelden hem web hem uygulama kullanıcılarına gönderirsiniz. Kullanıcı kategori bazında (spor, ekonomi, son dakika) abonelik seçebilir; bildirim tıklaması deep link ile doğrudan haber sayfasına açılır.

Evet. Uygulama `CookieManager` + persistent storage kullanır — kullanıcı uygulamada oturum açtığında cookie'ler kalıcı olarak saklanır. Beğeni, kayıtlı haber, okuma geçmişi, yorum, abonelik ve ödeme bilgileri web ile tamamen senkrondur çünkü arkada aynı haber sitenizin PHP'sini çalıştırıyor. Kullanıcı mobilde yorum yazar, web'de görür; veya web'de ödeme yapar, mobilde premium içeriğe erişir.

Android 7.0 Nougat (API 24) ve üstü desteklenir — Türkiye'deki aktif cihazların %98+'sı. Material 3 tasarım Android 12+'da tam dinamik renk desteğiyle çalışır, daha eski sürümlerde Material 3'ün uyumlu sürümü gösterilir. Kamera, medya erişimi ve push bildirim gibi yeni API'ler cihazın desteklediği en uygun yolla çalışır (örn. Android 13+ `READ_MEDIA_IMAGES`, eski sürümler `READ_EXTERNAL_STORAGE`).

Haber Sitenizi Cebe Taşıyalım

Kendi domaininize özel, markanızın rengi ve logosuyla imzalanmış bir APK sadece birkaç gün içinde hazır olabilir. Google Play yayın desteği ve OneSignal push entegrasyonu dahil.

Teklif Al Tüm Haber Özellikleri
WM Tools
💫

WebMaster Tools

15 Profesyonel Araç