Android 13 (API düzeyi 33) ve sonraki sürümler
çalışma zamanı izni
muaf olmayan (ön plan hizmetleri (FGS) dahil) bildirimleri
uygulamadan:
POST_NOTIFICATIONS
.
Bu değişiklik, kullanıcıların en çok önem verdikleri bildirimlere odaklanmasını
gerekir.
En kısa sürede Android 13 veya sonraki sürümleri hedeflemenizi önemle tavsiye ederiz ve bu özelliğin sağladığı ek denetim ve esneklikten mümkün olduğunca yararlanabilirsiniz. özelliğini kullanabilirsiniz. 12L (API düzeyi 32) veya daha düşük bir sürümü hedeflemeye devam ederseniz Uygulamanızın kullanımı bağlamında izin isteme ile ilgili esnekliği kaybetmek işlevsellik.
İzni beyan edin
Uygulamanızdan yeni bildirim izni istemek için uygulamanızı şu şekilde güncelleyin: Android 13'ü hedefler ve çalışma zamanında istenen diğer izinleri, görebilirsiniz.
İhtiyacınız olan izin uygulamanızın manifest dosyasında beyan edin şu kod snippet'inde görünür:
<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest>
Uygulama özellikleri, izin iletişim kutusundaki kullanıcının seçimine bağlıdır
Bu iletişim kutusunda, kullanıcılar aşağıdaki işlemleri yapabilir:
- İzin ver'i seçin
- İzin verme'yi seçin
- İki düğmeden birine basmadan iletişim kutusundan hızlıca kaydırma
Aşağıdaki bölümlerde, uygulamanızın hangi işleme göre birkaç önerimiz var.
Kullanıcı "İzin ver"i seçer
Kullanıcı izin ver seçeneğini belirlerse uygulamanız aşağıdakileri yapabilir:
- Bildirim gönderin. Tümü bildirim kanalları izin verilir.
- Ön planla ilgili bildirim yayınlama hizmet. Bu bildirimlerin şurada görünür: bildirim çekmecesini kullanın.
Kullanıcı "İzin verme"yi seçer
Kullanıcı, izin verme seçeneğini belirlerse uygulamanız muafiyete uygun olmadığı sürece bildirim göndermez. Tümü belirli birkaç kanal dışında bildirim kanalları engellenir. rollerini anlatacağım. Bu, kullanıcı el ile el ile çevirdiğinde ortaya çıkan davranışa benzer Tüm bildirimleri sistem ayarlarında devre dışı bırakabilirsiniz.
Dikkat: Uygulamanız 12L veya altını hedefliyorsa Kullanıcı İzin verme'ye dokunduğunda yalnızca bir kez bile olsa bunu yapması istenmez. aşağıdakilerden biri gerçekleşene kadar tekrarlayın:
- Kullanıcı, uygulamanızı kaldırıp yeniden yükler.
- Uygulamanızı Android 13 veya sonraki bir sürümü hedefleyecek şekilde güncellemeniz gerekir.
Kullanıcı, iletişim kutusundan kaydırarak uzaklaşıyor
Kullanıcı, ekranı kaydırarak iletişim kutusundan ayrılırsa (yani, ikisi de seçilmemiş) izin ver veya izin verme: Bildirim izninin durumu unutmayın.
Yeni yüklenen uygulamalardaki efektler
Kullanıcı, uygulamanızı Android 13 çalıştıran bir cihaza yüklerse veya daha yüksek bir değer olduğunda, uygulamanızın bildirimleri varsayılan olarak kapalıdır. Uygulamanız beklemelidir - siz yeni izin isteyene kadar bildirim gönderir ve kullanıcı uygulamanıza bu izni verir.
İzinler iletişim kutusunun gösterileceği saat, uygulamanızın hedefine bağlıdır SDK sürümü:
- Uygulamanız Android 13 veya sonraki bir sürümü hedefliyorsa tamamlandı. izin iletişim kutusunun ne zaman görüntüleneceğini kontrol edebilir. Bu fırsatı, kullanıcılara uygulamanın neden bu izne ihtiyaç duyduğunu açıklamak için kullanın. teşvik etmelisiniz.
- Uygulamanız 12L (API düzeyi 32) veya daha düşük bir sürümü hedefliyorsa sistem Uygulamanız sizden sonra ilk kez bir etkinlik başlattığında görüntülenen izin iletişim kutusu bildirim kanalı oluşturduğunuzda veya Uygulama bir etkinlik başlatır ve ilk bildirim kanalını oluşturur. Bu uygulama başlangıcında olur.
Mevcut uygulamalarda yapılan güncellemelerin etkileri
Bildirim izniyle ilgili kesintileri en aza indirmek için otomatik olarak tüm kullanıcılara Kullanıcı, cihazını yeni sürüme geçirdiğinde uygun uygulamalara sahip olabilir. Android 13 veya sonraki sürümler. Başka bir deyişle bu uygulamalar, kullanıcılara bildirim göndermelidir. Kullanıcılar çalışma zamanında istenen izin istemini görmez.
Önceden izin almaya uygunluk
Uygulamanızın otomatik ön izine uygun olması için ve bildirimleri açıkça devre dışı bırakılmamışsa, 12L veya daha düşük kapasiteli bir cihazda kullanıcı tarafından değiştirilir.
Kullanıcı, çalışan bir cihazda uygulamanızın bildirimlerini devre dışı bıraktıysa 12L veya daha düşükse bu ret, cihaz Android 13 veya sonraki sürümlere yükseltmeler.
Muafiyetler
Bu bölümde, bildirim izni davranış değişikliği. Android 13 (API düzeyi 33) veya sonraki sürümlerde kullanıcı bildirim iznini reddederse yine de bildirimle ilgili ön plan hizmetlerine Görev Yöneticisi ama bu görevleri bildirim çekmecesi.
Medya oturumları
Şununla ilgili bildirimler: medya oturumları. hariç tutmanızı öneririz.
Telefon aramalarını kendi başına yönetecek şekilde yapılandırılmış uygulamalar
Uygulamanız telefon aramalarını kendi kendine yönetecek şekilde kendini yapılandırırsa
uygulamanızın size gönderebilmesi için POST_NOTIFICATIONS
iznine
bildirimi kullanan
Notification.CallStyle
bildirim stiline dokunun.
Sistem, uygulamanızı kendi kendini yöneten bir telefon için yapılandırılmış olarak değerlendirir işlevini çağırır.
- Şunu tanımlar:
MANAGE_OWN_CALLS
izni gerekir. - Şunu uygular:
ConnectionService
kullanır. - Şu numarayı arayarak cihazın telekom sağlayıcısına kaydedilir:
registerPhoneAccount()
.
Uygulamanızı test etme
Aşağıdaki durumlarda bildirim izninin uygulamanızı nasıl etkileyeceğini İlk olarak Android 13 veya sonraki sürümleri çalıştıran bir cihazda kullanılır. İlgili içeriği oluşturmak için kullanılan takip ediliyor Android Debug Bridge (ADB) komut grupları, en yaygın kullanıcı tercihleri sıralarını ve cihaz yükseltmelerini simüle etmenizi sağlar. sıfırlamanıza gerek kalmadan:
Uygulama, şu anda çalışan bir cihaza yeni yüklenmiş Android 13 veya sonraki sürümler:
adb shell pm revoke PACKAGE_NAME android.permission.POST_NOTIFICATIONS
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-set
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-fixed
Uygulama bir cihazda yüklü olduğunda kullanıcı bildirimleri etkin tutar 12L veya daha düşük bir şarja sahip cihaz, ardından Android 13 veya sonraki bir sürüme geçme:
adb shell pm grant PACKAGE_NAME android.permission.POST_NOTIFICATIONS
adb shell pm set-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-set
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-fixed
Uygulama bir cihaza yüklendiğinde bildirimleri manuel olarak devre dışı bırakır. 12L veya daha düşük bir şarja sahip cihaz, ardından Android 13 veya sonraki bir sürüme geçme:
adb shell pm revoke PACKAGE_NAME android.permission.POST_NOTIFICATIONS
adb shell pm set-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-set
adb shell pm clear-permission-flags PACKAGE_NAME \ android.permission.POST_NOTIFICATIONS user-fixed
En iyi uygulamalar
Bu bölümde, yeni bildirimi kullanmanın çeşitli yolları açıklanmaktadır. en etkili şekilde kullanmanız gerekir.
Uygulamanızın hedef SDK sürümünü güncelleyin
Uygulamanıza izin iletişim kutusunun ne zaman gösterileceği konusunda daha fazla esneklik sunmak için uygulamanızı Android 13 veya sonraki bir sürümü hedefleyecek şekilde güncelleyin.
Bildirim izni isteminin gösterilmesini bekleyin
Kullanıcılardan herhangi bir izin vermelerini istemeden önce kendilerini tanımalarını sağlayın. nasıl sağlayabileceğini de öğreneceksiniz.
Yeni kullanıcılar uygulamayı keşfetmek ve özelliklerin farkına varmak isteyebilir. faydalarını görebilirsiniz. Şunları yapabilirsiniz: izin istemini tetikleyin kullanıcı işleminden yararlanabilir. Aşağıdaki listede, bir reklamverenin bildirim izin istemini göstermenin vakti geldi:
- Kullanıcı "uyarı ziline" dokunur düğmesini tıklayın.
- Kullanıcı, birinin sosyal medya hesabını takip etmeyi seçer.
- Kullanıcı, yemek siparişi verir.
Şekil 1'de, bildirim isteğinde bulunmak için önerilen bir iş akışı gösterilmektedir
izni gerekir. Aksi hâlde
shouldShowRequestPermissionRationale()
true
değerini döndürürse uygulamanızın orta ekranı göstermesi gerekmez.
"Bildirim alın!" başlık metnine sahip.
Alternatif olarak, kullanıcılara görüntüleme isteğinde bulunduktan sonra bir istek de hakkında bilgi sahibi olması gerekir. Örneğin, web sitesi kullanıcılarının Kullanıcı uygulamanızı üçüncü veya dördüncü kez başlattığında.
shouldShowRequestPermissionRationale()
, true
değerini döndürür.
İzni bağlam içinde isteyin
Uygulamanızda bildirim izni istediğinizde bunu doğru Böylece, bildirimlerin ne için kullanıldığı açıkça anlaşılır ve kullanıcının neden katılması gerektiği. Örneğin, bir e-posta uygulaması şu seçenekleri içerebilir: her yeni e-posta veya yalnızca kullanıcının yalnızca alıcıya ait olanlar.
Bu fırsatı, amaçlarınıza şeffaflık kazandırmak için kullanın. Böylece kullanıcılar, uygulamanıza bildirim izni verme ihtimali yüksek.
Uygulamanızın bildirim gönderip gönderemeyeceğini kontrol etme
Uygulamanız bildirim göndermeden önce kullanıcının bildirim almayı etkinleştirip etkinleştirmediğini onaylayın
bildirimler alın. Bunun için şu numarayı arayın:
areNotificationsEnabled()
.
İzni hassas bir şekilde kullanın
Bildirim gönderme onayı aldıktan sonra, ilgili izni kullanmayı unutmayın. sorumluluk bilinciyle geliştiriyoruz. Kullanıcılar, uygulamanızın her gün gönderdiği bildirimlerin sayısını görebilir gönderir ve izini iptal edebilirler. istediğiniz zaman izleyebilirsiniz.