Android Studio + Firebase ile yaptığım projede TAKILDIM :(
2
●254
- 20-05-2024, 19:26:27Merhaba hocalarım. Android Studio ve Firebase kullanarak bir mağaza yönetim uygulaması tasarlamaya çalışıyorum. Öğrenmek için. Firebase'de Realtime Database kullandım. Programda her şeyi yaptım aslında, veritabanına kişileri ekleyebiliyorum. Aynı zamanda Authentication'a da ekleniyor tabii. Ama admin olarak giriş yapıp bu kullanıcıları silmek veya bilgilerini güncellemek istediğimde database'den siliyor ama Authentication'dan silemiyorum. Değişik bir sorun bunun mantığını çözemedim. Yardımlarınız için şimdiden teşekkür ederim
- 20-05-2024, 19:40:57Firebase Authentication ve Realtime Database'i birlikte kullanırken, kullanıcıları silme veya güncelleme işlemlerinin her iki hizmette de senkronize olduğundan emin olmanız gerekir. Firebase Authentication'dan kullanıcıları silmek veya güncellemek için Firebase Admin SDK'sını kullanabilirsiniz. İşte bu işlemi gerçekleştirmek için örnek bir yol:
Firebase Admin SDK ile Kullanıcı Silme
- Firebase Admin SDK'yı Projeye Ekleme
- build.gradle dosyasına gerekli bağımlılıkları ekleyin
dependencies { // Diğer bağımlılıklarınız implementation 'com.google.firebase:firebase-admin:8.0.1' }
- build.gradle dosyasına gerekli bağımlılıkları ekleyin
- Admin SDK ile Kullanıcı Silme
- Admin SDK'yı kullanarak kullanıcıyı Firebase Authentication'dan silen bir metot oluşturun
import com.google.firebase.auth.FirebaseAuth;import com.google.firebase.auth.FirebaseAuthException; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.auth.UserRecord; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Firebase Admin SDK ile başlatma FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(GoogleCredentials.getApplicationDefault()) .setDatabaseUrl("https://<DATABASE_NAME>.firebaseio.com/") .build(); FirebaseApp.initializeApp(options); public void deleteUser(String uid) { try { FirebaseAuth.getInstance().deleteUser(uid); System.out.println("Successfully deleted user."); } catch (FirebaseAuthException e) { e.printStackTrace(); System.out.println("Error deleting user: " + e.getMessage()); } }
- Admin SDK'yı kullanarak kullanıcıyı Firebase Authentication'dan silen bir metot oluşturun
- Kullanıcı Silme İşlemi
- Admin olarak giriş yaptıktan sonra, kullanıcıyı hem Realtime Database'den hem de Authentication'dan silmek için bu metodu çağırın:
// Kullanıcıyı Realtime Database'den silme kodunuz// ... // Kullanıcıyı Firebase Authentication'dan silme deleteUser(kullaniciUid);
- Admin olarak giriş yaptıktan sonra, kullanıcıyı hem Realtime Database'den hem de Authentication'dan silmek için bu metodu çağırın:
- Firebase Admin SDK'yı Projeye Ekleme