Android 12 hedeflemelerinde ve AndroidManifest.xml dosya yapısında yapılan değişikler sonucunda forumda çok fazla üye bu durumdan müzdarip.
Aşağıda bu sorunu nasıl 10 dakika vaktinizi ayırarak çözebileceğinizi göstermek istedim. Tüm işlemler React Native, Flutter, Kotlin ve Unity içinde aynıdır.
Unity için Bundle yapısında Export alıp Android Studio da açmanız yeterlidir. İşlemleri yaparken sırası ile yapmalısınız. Sıradan kastım ilk olarak
targetSDK 31 olarak güncellenmelidir. Bunun sonrasında Android Studio size yol gösterecektir. Alt kısma da sebebini not olarak yazacağım bu sorunun
ana kaynaklarından biri OneSignal SDK' sıdır. Eski sürümde kalan OneSignal SDK' sı otomatik olarak AndroidManifeste export edilmez. Bunun bir diğer
çözümü SDK paketlerini güncellemektir. Bunu yapmanızı önermem. Eğer SDK' ları güncellerseniz minimum API düzeyinizi yükseltmek zorunda kalırsınız.
Eğer API düzeyinizi yükseltirseniz Java ya da kullandığınız her hangi bir programlama dilinde kod tipinin değişmesi, syntax iyileştirmesi benzeri bir durumla
karşılaşırsınız. Bu durum var olan kodunuz da birden fazla hataya sebep olacaktır.
Adım 1
İlk işlem olarak build.gradle dosyamıza gidiyoruz. compileSdkVersion ve targetSdkVersion değerlerini 31' e yükseltip. Üst kısımda açılan
Minik pencereden SyncNow' a tıklıyoruz. Yükseltilme aşaması kodunuza göre ortalama 20 saniye ile 1 dakika arasında değişebilir.

Adım 2
AndroidManifest.xml kısmına ilerliyoruz. Çizili alanda olan MergedManifest' e tıklıyoruz.

Adım 3
Görüdüğünüz gibi Android Studio neler yapmanız gerektiğini size söylüyor. Activity' lerde ve OneSignal' den kaynaklı reciverlarda android:exported
değerlerinin ayarlanmadığını bildiriyor bize. Burada size önerim tüm Activity değerlinin android:exported="true" olarak ayarlanması. Tekrar Merged
Manifest butonun yanında bulunan Text butonuna tıklayarak manifest dosyamıza geri dönüyoruz.

Adım 4
Bu kısımda gördüğünüz aynı iki manifest dosyası ve birine android:exported eklenmiş hali. Kodları karşılaştırabilmeniz adına ilk ve son hallerini
içeren github linklerine buradan ulaşabilirsiniz.
AndroidManifest İlk Hal

AndroidManifest Son Hal

Bu kısımda aslında tüm değerlere eklemenize gerek yok fakat kullandığınız SDK' lar bunu gerektirebilir ve sadece Android
Studio tarafından önerilenleri yaparsanız tekrar yüklediğinizde sorunla karşılaşabilirsiniz.
Adım 5
Tüm bu exported eklemerini yaptığınızı farzediyorum. Daha sonrasında OneSignal tarafını kontrol etmeniz gerekiyor.
Merged Manifes' te tıkladğınız da OneSignal ile olan hatalar gözünüze çarpacak.

Bu hatayı yaklaşık olarak 8 adet kaynak kodta giderdim. Hepsinde bu 4 lü ile karşılaştım. Burada adım adım eklemeniz
gereken Acitivity ve Reciver tanımlarını ekran görüntüsü olarak veriyorum. Bunları verdiğim github dosyasından da
kopyalayıp yapıştırabilirsiniz. Bu kısımda farklı bir değer görürseniz lütfen konu altına mesaj olarak yazın. Farklı
bir SDK versiyonu kullanıyor olabilirsiniz ve ek tanımlama gerekebilir. Bunu da konuya eklemiş oluruz.
Adım 6
İlk işlem <activity#com.onesignal.NotificationOpenedActivity HMS> Activiy oluşturulması. Bu kodu manifest dosyanıza var olan Activity
leriniz altına yapıştırabilirsiniz.

Adım 7
Reciver tanımlamalarını yapmamız gerekli. Bunları kaynak kodumuzda kullanıyoruz ya da kullanmıyoruz ama SDK bu receiverları içeriyor.
Bunların hepsi exported olarak belirtilmeli.

Bu işlemden sonra tüm adımlar tamamlanmış oluyor. Merged Manifesti tekrar kontrol edelim.

Gördüğünüz gibi her hangi bir uyarı bulunmuyor. Artık App Bundle dosyanızı oluşturup Google Play' de yayınlayabilrisiniz.
Rehber de hazırlamam için kodu sağladığı için @timurx01; hocama teşekkür ederim.
Manifest İlk Hali İçin Tıklayın
Manifest Son Hali İçin Tıklayın.