Etkinleştirme Bildirimleri için Bildirim İzni

Android 13'teki bildirimler, devre dışı bırakma modeli kullanan önceki Android sürümlerinden farklı olarak, katılma modelini kullanır. Android 13'te tüm uygulamaların, bildirim istemlerini göndermeden önce kullanıcılardan izin istemesi gerekir. Bu model, bildirim kesintilerinin azaltılmasına yardımcı olur, aşırı bilgi yükünü en aza indirir ve kullanıcıların, kendileri için önemli olanlara göre hangi bildirimlerin görüneceğini kontrol etmesine yardımcı olur. Katılım modelini desteklemek için OEM'lerin bildirim ve çalışma zamanı izin sistemlerinde değişiklikler uygulaması gerekir.

Bu sayfada, OEM'lerin bu değişikliği desteklemek için neleri uygulaması gerektiği ve uygulamanın nasıl doğrulanacağı açıklanmaktadır.

Katılım bildirimlerine ilişkin değişiklikleri uygulayın

Android 13'ten itibaren uygulamaların, bildirim göndermeden önce sistemden android.permission.POST_NOTIFICATION çalışma zamanı iznini isteyerek bildirim gönderme niyetlerini beyan etmeleri gerekir.

Android 13 ve sonraki sürümlerde bir uygulamanın kullanıcıya bildirim gönderip gönderemeyeceğini belirleyen ayar izin sisteminde saklanır. Android 13'ten önce bu ayar bildirim sisteminde saklanıyordu. Bu nedenle, OEM'lerin bir uygulamanın bildirim göndermesine izin verilip verilmediğine ilişkin mevcut bildirim verilerini bildirim sisteminden çalışma zamanı izin sistemine taşıması gerekir. OEM'ler aynı zamanda bildirim sistemindeki verileri uygulama geliştiricilere gösteren mevcut API'leri de korumalıdır.

Bildirim ve izin sistemlerindeki değişiklikler , kullanıcı bildirim davranışının katılım modeline dayanmaktadır ve Uygulama Yönergeleri bölümünde açıklanmaktadır.

Katılım modelinde kullanıcı bildirimlerinin davranışı

Aşağıdaki tablo, Android 13 çalıştıran bir cihazdaki çeşitli uygulama sürümleri için bildirim davranışını göstermektedir:

Android 13'teki cihaz Android 13 veya üstünü hedefleyen uygulamalar Android 13'ten daha düşük sürümleri hedefleyen uygulamalar
Yeni yükleme Uygulama tarafından isteninceye kadar bildirimler engellenir.

Uygulamalar ne zaman izin isteneceğini kontrol eder.

Bildirimler işletim sistemi tarafından isteninceye kadar engellenir.

Uygulamanın ilk çalıştırılmasında izin istenir.

Mevcut uygulama (yükseltme) Uygulama tarafından istenene kadar bildirimlere izin verilir.

Uygulama ilk eleme çalıştırmasında isteyene kadar geçici izin verilir.

İşletim sistemi tarafından istenene kadar bildirimlere izin verilir.

Uygulamanın ilk çalıştırılmasına kadar geçici izin verilir.

Uygulamaya yönelik yönergeler

Referans uygulaması için bildirim hizmetine , izin hizmetine ve politika hizmetine bakın. Varsayılan izin işleyicilerine yönelik istisnalar uygulamak için bkz. Çalışma Zamanı İzinleri .

Uygulama sırasında, Android 13 veya daha düşük SDK'ları hedefleyen uygulamalar için kullanıcı bildirim davranışına ilişkin aşağıdaki yönergeleri kullanın:

  • Android 13 cihazına yeni yüklenen uygulamalar, kullanıcı izin istemini onaylamadan bildirim göndermemelidir.
    • Uygulama, Android 13 ve sonraki sürümleri hedefliyorsa, uygulama kullanıcı izninin ne zaman istenip istenmeyeceğini kontrol ettiğinden, uygulama tarafından isteninceye kadar bildirimlerin engellenmesi gerekir.
    • Uygulama Android 13'ün altındaki sürümleri hedefliyorsa işletim sistemi tarafından isteninceye kadar bildirimlerin engellenmesi gerekir. İşletim sistemi, uygulamanın ilk çalıştırılmasında izin istemini göstermelidir.
  • Android 13'e yükseltmeden önce cihazda bulunan herhangi bir uygulamanın veya yedekleme ve geri yükleme yoluyla geri yüklenen herhangi bir uygulamanın, kullanıcı söz konusu uygulamadan ilk kez bir etkinlik başlatana kadar bildirim göndermesine izin verilmelidir.

    • Android 13 ve üzeri sürümlerin SDK'sını hedefleyen uygulamalar için, kullanıcı daha önce uygulama veya NotificationChannel düzeyinde bu uygulamaya ilişkin bildirim ayarlarını özelleştirmediyse geçici izin verme işlemini iptal edin. Uygulamaların bildirim göndermeye devam etmesine izin verilmeden önce kullanıcıdan izin istemesi gerekir.

      Android 13'ü hedefleyen yükseltilmiş bir uygulama, geçici yükseltme izni aracılığıyla bildirim iznine sahip değilse ve kullanıcı uygulamayı en az bir kez başlattıysa, uygulamanın daha fazla ön plan hizmeti çalıştırmasına izin verilmeden önce uygulamanın bir bildirim izni istemi göstermesi gerekir.

    • Android 13'ten daha düşük sürümlere sahip hedef SDK'ya sahip uygulamalar için, kullanıcının uygulamadan bildirim almak isteyip istemediğini soran bir izin istemi göstermek için uygulama en az bir NotificationChannel oluşturduktan sonra ilk etkinlik başlatmayı durdurun .

      Bir kullanıcı, yükseltme cihazındaki veya cihaza geri yüklenen bir yedeklemedeki bir uygulama için uygulama veya NotificationChannel düzeyinde bildirim ayarlarını daha önce özelleştirdiyse, uygulama düzeyi ayarının FLAG_PERMISSION_USER_SET işaretiyle izin sistemine taşınması gerekir. Uygulama özellikle bunu istemedikçe kullanıcıya başka bir bildirim izni istemi gösterilmemelidir.

  • Yedekleme ve geri yükleme, bir Android 13 cihazı ile daha eski bir işletim sistemi sürümüne sahip bir cihaz arasında geriye ve ileriye doğru uyumlu olmalıdır. Android 13 cihazından oluşturulan yedekleme verilerinin daha önceki bir işletim sistemi sürümüne geri yüklenmesi gerekir ve daha önceki bir işletim sistemi sürümünden alınan yedekleme verilerinin de Android 13 cihazına geri yüklenmesi gerekir.

  • Devam eden medya oynatımıyla ilişkili medya bildirimleri, bildirim izninden muaf olmalıdır.

Bildirim ve izin sistemlerindeki değişiklikleri doğrulama

Uygulamayı doğrulamak için aşağıdaki testleri çalıştırın: