Ana içeriğe atla

Neden push izin istemi kullanılır?

Banner olarak görünebilen, kilit ekranında gösterilebilen, ses çalabilen push bildirimleri göndermek için uygulamanızın önce kullanıcının iznini alması gerekir. iOS, Android, Huawei, Amazon ve Web’de bu, sistem düzeyinde bir izin istemi görüntülemeyi içerir.
iOS and Android system-level push permission prompts side by side
Bu kılavuz mobil uygulama push aboneleri içindir. Web push için Web push izin istemleri’ne bakın. Ön koşullar: Bir OneSignal hesabı, OneSignal SDK yüklenmiş bir mobil uygulama ve uygulama içi mesajların etkinleştirilmiş olması.
iOS sistem izin istemini yalnızca bir kez gösterir. Android iki kez gösterir. Kullanıcı reddederse, sistem ayarlarında bildirimleri manuel olarak etkinleştirmeleri gerekir. Kötü zamanlanmış bir istem, bir aboneyi kalıcı olarak kaybetmenize neden olabilir.
iOS’ta, kullanıcıya istem göstermeden Bildirim Merkezi’ne sessizce iletim yapan geçici bildirimler’i de kullanabilirsiniz — test veya düşük sürtünmeli onboarding için idealdir.
Sistem istemi sınırlı olduğundan, hem Apple hem de Google, göstermeden önce bildirimlerinizin değerini açıklamanızı şiddetle önerir. requestPermission() SDK yöntemini kullanarak istemi istediğiniz zaman tetikleyebilirsiniz, ancak uygun bağlam olmadan kullanıcıların reddetme olasılığı daha yüksektir — ve iOS’ta, reddedilen bir istem tekrar gösterilemez. Önerilen yaklaşım “yumuşak istem”dir — sistem istemi öncesinde isteği tanıtan özel bir uygulama içi mesaj. Kullanıcı kabul ederse, sistem istemi görünür. Reddederse, hiçbir şey olmaz ve daha sonra tekrar sorabilirsiniz.
In-app message leading to system push permission prompt

Uygulama içi push izin istemi kurulumu

1

Otomatik izin istemlerini kaldırın

Başlamadan önce, uygulamanızın yerel push istemini otomatik olarak tetiklemediğinden emin olun:
  • Uygulama başlatılırken çağırıyorsanız requestPermission() veya optIn() yöntemlerini kaldırın.
  • Yerel iOS çağrılarını requestAuthorizationWithOptions’a ve push token’ları oluşturan tüm yöntemleri kaldırın.
  • Android çağrılarını requestPermissions’a ve push token’ları oluşturan tüm yöntemleri kaldırın.
Ayrıca, uygulamanızda OneSignal SDK’nın en son sürümünü kullandığınızdan emin olun.
2

Uygulama içi mesajı oluşturun veya düzenleyin

Messages > In-App’e gidin, ardından şunlardan birini yapın:
  • Varsayılan Push İzin İstemi şablonunu düzenleyin veya
  • Kendinizinkini oluşturmak için New Message’a tıklayın.
OneSignal in-app messages list showing the Push Permission Prompt template
Hedef kitleyi Show to all users olarak ayarlayın. OneSignal, Push İzin İstemi tıklama eylemine göre bu mesajı yalnızca push’a abone olmamış kullanıcılara gösterecek şekilde otomatik olarak filtreler.
Audience setting configured to show to all users
3

Mesaj tasarımını özelleştirin

Görünümü, hissi ve ifadeyi uygulamanıza uyacak şekilde kişiselleştirin. Kullanıcılara ne tür bildirimler alacaklarını ve neden değerli olduklarını bildirin.Ayrıntılar için Sürükle ve Bırak ile Uygulama İçi Mesajlar Tasarlama veya HTML ile uygulama içi mesajlar tasarlama’ya bakın.
In-app message block editor with a push opt-in prompt
4

Push izin istemi tıklama eylemini ekleyin

Mesajınızdaki herhangi bir düğmeye veya resme Push İzin İstemi tıklama eylemi ekleyin. Dokunulduğunda, sistem istemi gösterilir.
Click action dropdown with Push Permission Prompt selected
iOS native push notification permission prompt
Bir kullanıcı zaten izni reddettiyse, düğme onları uygulamanızın bildirim ayarlarına yönlendirir.
Push İzin İstemi eylemine sahip uygulama içi mesajlar, bildirimlere zaten izin vermiş kullanıcılara gösterilmez.
5

Bir tetikleyici seçin

Hedef kitle, mesajı görmeye kimin uygun olduğunu kontrol eder. Tetikleyiciler, ne zaman gösterildiğini kontrol eder.
In-app message trigger configuration panel
Mesajı şu şekilde tetikleyebilirsiniz:
  • Uygulama açılışında
  • Belirli bir oturum süresinden sonra
  • Belirli bir kullanıcı olayında
  • Programatik olarak, zamanlama ve bağlam üzerinde tam kontrol için uygulama içi mesaj SDK yöntemlerini kullanarak
Örneğin, kullanıcı uygulamada en az 5 dakika geçirene kadar beklemek için:
Session duration trigger set to 5 minutes
6

Zamanlama ve frekans

Mesajın ne sıklıkta göründüğünü kontrol edin:
  • Yalnızca bir kez — İlk seferinde hazır olmayan kullanıcıları dönüştürme şansı düşük.
  • Koşullar her karşılandığında — Çok agresif ve kullanıcıları rahatsız edebilir.
  • Birden fazla kez (önerilir) — Büyük bir maksimum (ör. 9999) ve görünümler arasında bir aralık (ör. 2 hafta) ayarlayın. Bu, abone olmamış kullanıcılara rahatsız etmeden periyodik olarak yeniden istem gösterir. Aralığı kullanım durumunuza göre ayarlayın.
Schedule configuration showing max displays and gap between views
Mesajınızı güncelleyin ve canlıya alın. İstatistiklerinizi izleyin ve gerektiğinde görüntülemeler arasındaki aralığı ayarlayın.

İzin istemini programatik olarak gösterme

requestPermission() veya optIn() SDK yöntemlerini kullanarak push izin istemini manuel olarak tetikleyebilirsiniz. Bu, aşağıdakiler gibi özel akışlar için yararlıdır:
  • Bir Tercih merkezi
  • Bir kullanıcı profil ekranı
  • Belirli uygulama içi olaylar

Push izinlerini ve istem sonuçlarını izleme

Push için istem göstermek üzere uygulama içi mesajları kullanırken, uygulama içi mesaj tıklama dinleyicisi ile tıklama eylemlerini izleyebilirsiniz. Uygulama içi mesajın görüntülendiği ancak kullanıcının düğmeyi tıklamadığı durumlar için, izlenimleri ve kapatmaları takip etmek üzere uygulama içi mesaj yaşam döngüsü olaylarını kullanın. Sistem düzeyinde izin isteminin sonuçlarını izlemek için push izin dinleyicisini kullanın.
Bu SDK olaylarını seçtiğiniz backend veya analitik aracına gönderebilirsiniz.

SSS

Kullanıcı push izin istemini reddederse ne olur?

iOS’ta, sistem istemini reddetmek uygulamanız için push bildirimlerini kalıcı olarak devre dışı bırakır — istem tekrar gösterilemez. Android’de, kullanıcının bir şansı daha vardır (toplam iki). Tüm denemeler kullanıldıktan sonra, kullanıcının cihazındaki Ayarlar > Bildirimler üzerinden bildirimleri manuel olarak yeniden etkinleştirmesi gerekir. OneSignal SDK’nın requestPermission(fallbackToSettings: true) yöntemi, izin daha önce reddedildiyse kullanıcıları bildirim ayarlarına yönlendirebilir.

Yerel sistem izin istemini özelleştirebilir miyim?

Hayır. Yerel iOS ve Android izin iletişim kutuları işletim sistemi tarafından kontrol edilir ve özelleştirilemez. Yalnızca yumuşak istemi (sistem istemi öncesinde gösterilen uygulama içi mesaj) kontrol edebilirsiniz. Bildirimlerinizin değerini açıklamak, beklentileri belirlemek ve sistem isteminde “İzin Ver” olasılığını artırmak için yumuşak istemi kullanın.

Geçici bildirimlere sahip kullanıcılara hala istem gösterebilir miyim?

Evet. iOS geçici push bildirimleri kullanıyorsanız, bu kullanıcıları tam push abonelerine dönüştürmek için yumuşak istem gösterebilirsiniz. İstemi stratejik olarak zamanlayın — kullanıcı geçici bildirimlerinizden değer gördükten sonra.

Daha önce push’u reddeden kullanıcılara nasıl yeniden istem gösteririm?

Kullanıcı iOS’ta reddettikten (veya Android’de iki kez reddettikten) sonra sistem izin istemini tekrar gösteremezsiniz. Bunun yerine, kullanıcının bildirimleri manuel olarak etkinleştirebileceği uygulamanın bildirim ayarları sayfasını açan requestPermission(fallbackToSettings: true) SDK yöntemini kullanın. Bunu, bildirimlerin neden değerli olduğunu açıklayan bir uygulama içi mesajla eşleştirin.

Android ne zaman izin istemleri gerektirmeye başladı?

Android 13 (API düzeyi 33), push bildirimleri için açık kullanıcı onayı gerektiren çalışma zamanı bildirim iznini tanıttı.
  • Yayınlandı: Ağustos 2022 (Pixel cihazları)
  • Hedef SDK için gerekli: 31 Ağustos 2023 itibarıyla, Google Play’deki tüm yeni uygulamalar ve güncellemeler API düzeyi 33 veya daha yükseğini hedeflemelidir.
  • Kaynak: Google’ın bildirim izinleri geliştirici kılavuzu

iOS geçici push bildirimleri

iOS 12+‘da önceden izin istemi olmadan bildirimleri Bildirim Merkezi’ne gönderin.