Bilgi Xiaomi Cihazlarda Gecikmeli Bildirim Sorunu Düzeltme (TÜM ROM'lar)

Zehir

Sprite
Yönetici
Geliştirici Ekibi
Destek Ekibi
Usta Üye
HyperOS Uzmanı
HyperOS Sever
  • MIUITR Ailesi
  • Yönetici
  • Fenerbahçe
  • 100 Beğeni
  • 100 Mesaj
  • 100 Konu
  • Youtube Takipçisi
  • Telegram Takipçisi
  • Twitter Takipçisi
  • Google Takipçisi
  • 24 Kasım Öğretmenler Günü
  • Mustafa Kemal Atatürk'ü Anma Günü
  • 30 Ağustos Zafer Bayramı
  • 19 Mayıs Atatürk'ü Anma Gençlik ve Spor Bayramı
  • 23 Nisan Ulusal Egemenlik ve Çocuk Bayramı
  • 29 Ekim Cumhuriyet Bayramı
  • Ramazan Bayramı
  • Kurban Bayramı
  • Mutlu Yıllar
  • Kadir Gecesi
  • Fidan Bağışı
Katılım
19 Nisan 2020
Mesajlar
834
Beğeni puanı
899
Puanlar
245
Konum
Alanya
İnternet sitesi
t.me
Cihazlar
Xiaomi 6 (Sagit), Xiaomi 11 Lite 5G NE (Lisa), Xiaomi 14 (Houji), Xiaomi 15 Ultra (Xuanyuan)
Ekstra Bilgiler
Eklenen resimleri görmek için kayıt olmalısınız


Xiaomi Cihazlarda Geciken Bildirim Sorunu ve Kesin Çözümü
Xiaomi kullanıcılarının en sık karşılaştığı can sıkıcı durumlardan biri şüphesiz bildirimlerin gecikmesidir. WhatsApp, Gmail, Telegram veya Discord gibi anlık bildirim (push notification) altyapısını kullanan uygulamalardan gelen mesajlar bazen dakikalar, bazen de saatler sonra ulaşabiliyor. Bütçe dostu modellerden en üst seviye amiral gemilerine kadar cihaz fark etmeksizin yaşanan bu durum, yıllardır Xiaomi topluluğunun en büyük şikayet konularından biri olmaya devam ediyor.

Birçok rehber bu sorunun Çin (CN) ROM'larından kaynaklandığını söylese de bu doğru değildir. Aynı gecikme sorunu, hem EU (Avrupa) hem de Global ROM yüklü telefonlarda ve Xiaomi tabletlerde de birebir yaşanmaktadır.

Sorunun Kaynağı Nedir? Asıl sorun sanıldığının aksine ROM bölgesiyle değil, HyperOS'un arka plan işlemlerini yönetme şekliyle ilgilidir. Ekran kapandığında ve cihaz şarjda olmadığında HyperOS, "ETKİN DEĞİL" (Inactive) adını verdiği çok derin bir güç tasarrufu moduna geçer. Sistem, pilden tasarruf etmek amacıyla Google Play Hizmetleri'nin (FCM - Firebase Cloud Messaging) bağlantısını anında keser.

Bunu kendiniz de test edebilirsiniz: Arama ekranına *#*#426#*#* yazarak FCM Tanılama (Diagnostics) menüsüne girin. Ekran açıkken veya cihaz şarj olurken bağlantının aktif olduğunu göreceksiniz (bu arada, cihazı USB veya prize takıp şarj ederseniz bildirimlerin anında geldiğini fark edebilirsiniz). Ancak ekranı kapattığınız an bağlantı derhal kopar.

Buradaki en ilginç detay, bu sorunun yalnızca ekran kapalıyken ve Wi-Fi ağına bağlıyken yaşanmasıdır. Mobil veri kullanırken bildirimler ekran kapalı olsa dahi anında düşer. Bunun sebebi, HyperOS'un agresif pil optimizasyonunun Wi-Fi ve mobil veriye farklı davranmasıdır. Bekleme modunda Wi-Fi radyosu acımasızca kısıtlanırken, mobil veri bağlantısı korunur. Sistem, Google Play Hizmetleri'ni sıradan bir arka plan uygulaması gibi görüp bağlantısını kestiği için, bir uygulama size bildirim göndermeye çalıştığında o mesaj Google sunucularında beklemeye başlar. Ta ki siz ekran kilidini açıp bağlantı yeniden kurulana kadar...

Çözüm Yöntemi Aylar süren denemeler sonucunda, telefonu sürekli şarjdaymış gibi kandırmaya çalışmak yerine (ki bu yöntem root gerektirir ve yeni HyperOS sürümlerinde pek işe yaramaz), Android'in derinliklerindeki "Doze" ve "AppOps" sistemlerine doğrudan müdahale etmenin en iyi yol olduğunu keşfettim. Basit ADB komutlarıyla Android sistemine, Google Play Hizmetleri'ni asla kısıtlamaması gerektiğini söyleyebiliriz.

1. Adım: Google Play Hizmetleri ve Google Hizmetleri Çerçevesi'nin arka planda sürekli çalışmasına izin verin. (Aşağıdaki kodları ADB terminaline sırayla girin):


adb shell cmd appops set com.google.android.gms WAKE_LOCK allow
adb shell cmd appops set com.google.android.gms RUN_ANY_IN_BACKGROUND allow
adb shell cmd appops set com.google.android.gsf RUN_ANY_IN_BACKGROUND allow


2. Adım: Cihaz uyku (bekleme) modundayken bu hizmetlerin bağlantısının kesilmemesi için onları Doze beyaz listesine (whitelist) ekleyin:
adb shell dumpsys deviceidle whitelist +com.google.android.gms
adb shell dumpsys deviceidle whitelist +com.google.android.gsf
adb shell dumpsys deviceidle whitelist +com.google.android.gms.persistent



Bu yöntemin temel esprisi, sistemin kısıtlamaları etrafından dolanmak yerine, kısıtlamaları doğrudan sistem düzeyinde atlamasıdır. Bu komutlarla telefon aktif veya pasif modda olsun fark etmeksizin, bu kritik servislerin asla kapatılmayacağını Android'e kabul ettirmiş oluyorsunuz. Komutları girdikten hemen sonra Wi-Fi üzerinden WhatsApp'taki 10 dakikalık gecikmelerin bittiğini, Telegram mesajlarının ve Gmail bildirimlerinin anında geldiğini (cihaz pildeyken ve ekran kapalıyken bile) göreceksiniz.

Doğrulama ve Önemli Detaylar Komutların işe yarayıp yaramadığını şu kodla kontrol edebilirsiniz:

adb shell dumpsys deviceidle whitelist


ıkan listede com.google.android.gms, com.google.android.gsf ve com.google.android.gms.persistent isimlerini görüyorsanız işlem başarılıdır.

  • Kalıcılık: Bu ayarlar cihazı yeniden başlattığınızda silinmez. Ancak büyük bir HyperOS veya Android sürüm güncellemesi alırsanız sıfırlanabilir. Bildirimler tekrar gecikmeye başlarsa komutları baştan girmeniz yeterlidir.
  • Ön Hazırlık: İşleme başlamadan önce Geliştirici Seçenekleri'nden USB Hata Ayıklama açık olmalı ve telefonu bilgisayara bağladığınızda "Dosya Aktarımı" (File Transfer) seçeneğini seçmelisiniz.
  • HyperOS İzinleri: ADB komutları sistemi halletse de HyperOS'un kendi kısıtlamalarını da kaldırmalısınız. Bildirim beklediğiniz uygulamalar için Ayarlar → Uygulamalar → [İlgili Uygulama] → Uygulama İzinleri → Arka Plan Otomatik Başlatma ayarını mutlaka aktif edin.
  • Uygulama Yenileme: İşlemler bittikten sonra, WhatsApp gibi bazı sosyal medya uygulamalarının bildirim altyapısını tazeleyebilmesi için uygulamayı silip baştan yüklemeniz gerekebilir.
Avantajlar ve Dezavantajlar

  • Avantajları: En büyük artısı, Root erişimi gerektirmeden sorunu kökünden çözmesidir. Telefonunuz normal şekilde uyku moduna geçmeye devam eder, gereksiz 3. parti uygulamalarla uğraşmazsınız. Wi-Fi üzerindeki FCM bağlantısı, tıpkı mobil veride olduğu gibi stabil ve güvenilir hale gelir. Üstelik bu yöntem farklı Xiaomi modellerinde de sorunsuz çalışmaktadır.
  • Dezavantajları: Tek eksisi pil tüketiminde yaşanacak ufak artıştır. İşlemi yapmadan önce gece bekleme modundaki şarj tüketimi yaklaşık %2 civarındayken, Google Play Hizmetleri'nin Wi-Fi bağlantısını açık tutması sebebiyle bu oran %3-4 seviyelerine çıkabilir. Anlık bildirim almak isteyen çoğu kullanıcı için bu çok ufak bir bedel olsa da, pil tüketimi konusunda aşırı hassas olanların bu detayı göz önünde bulundurması gerekir.
 

haqanguven

нεя güη αчηι şεчℓεя
Yönetici
Site Kurucusu
Rom Geliştiricisi
  • MIUITR Ailesi
  • MIUITR Tester
  • Yönetici
  • VIP Üye
  • Galatasaray
  • Ramazan Bayramı
  • Kurban Bayramı
  • Kadir Gecesi
  • Mutlu Yıllar
  • Mustafa Kemal Atatürk'ü Anma Günü
  • 30 Ağustos Zafer Bayramı
  • 23 Nisan Ulusal Egemenlik ve Çocuk Bayramı
  • 24 Kasım Öğretmenler Günü
  • 29 Ekim Cumhuriyet Bayramı
  • 19 Mayıs Atatürk'ü Anma Gençlik ve Spor Bayramı
  • Fidan Bağışı
  • Telegram Takipçisi
  • Facebook Takipçisi
  • Twitter Takipçisi
  • İnstagram Takipçisi
  • Youtube Takipçisi
  • Google Takipçisi
  • Destekçi
  • Sponsor
  • Temaların Efendisi
  • 100 Ve Üzeri Takipçi Sayısı
  • Takipçi
  • 100 Mesaj
  • 100 Konu
  • 100 Beğeni
Katılım
7 Nisan 2020
Mesajlar
7,208
Beğeni puanı
7,321
Puanlar
435
Yaş
37
Konum
İzmir
İnternet sitesi
miuitr.info
Cihazlar
Xiaomi 6 (Sagit), Xiaomi 11 Lite 5G NE (Lisa), Xiaomi 17 (Pudding), Xiaomi Pad 5 (Nabu), Xiaomi Civi 2 (Ziyi)
Ekstra Bilgiler
Eline sağlık
 
Üst Alt