---
title: "Firebase uygulamaları"
description: "Mobil uygulamanız için kullanıcı analitiğini ve abonelik takibini geliştirmek amacıyla Firebase'i Adapty ile entegre edin."
---

Bu sayfa, uygulamanızın Firebase üzerinde çalışması durumunda Adapty'nin entegrasyonunu anlatmaktadır.

:::note
Başlarken

Bunlar Adapty'nin çalışması için gereken tüm adımlar değil, yalnızca Firebase entegrasyonu için bazı yararlı ipuçlarıdır. Adapty'yi uygulamanıza entegre etmek istiyorsanız önce [Hızlı Başlangıç Kılavuzu](quickstart)'nu okumalısınız.
:::

## Kullanıcı Kimliği \{#user-identification\}

Firebase auth kullanıyorsanız, kullanıcılarınızı Firebase ile Adapty arasında senkronize tutmanıza yardımcı olacak bir kod parçacığı aşağıda verilmiştir. Bunun yalnızca bir örnek olduğunu ve uygulamanızın kimlik doğrulama özelliklerini göz önünde bulundurmanız gerektiğini unutmayın.

<Tabs groupId="current-os" queryString>
<TabItem value="swift" label="iOS with Firebase" default>
```swift showLineNumbers
 
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Configure Adapty before Firebase
        Adapty.activate("YOUR_API_KEY")
        Adapty.delegate = self
        
        // Configure Firebase
        FirebaseApp.configure()
        
        // Add state change listener for Firebase Authentication
        Auth.auth().addStateDidChangeListener { (auth, user) in
            if let uid = user?.uid {
                // identify Adapty SDK with new Firebase user
                Adapty.identify(uid) { error in
                    if let e = error {
                        print("Sign in error: \(e.localizedDescription)")
                    } else {
                        print("User \(uid) signed in")
                    }
                }
            }
        }
 
        return true
    }
 
}
 
extension AppDelegate: AdaptyDelegate {
 
    // MARK: - Adapty delegate
    func didReceiveUpdatedPurchaserInfo(_ purchaserInfo: PurchaserInfoModel) {
        // You can optionally post to the notification center whenever
        // purchaser info changes.
 
        // You can subscribe to this notification throughout your app
        // to refresh tableViews or change the UI based on the user's
        // subscription status
        
        NotificationCenter.default.post(name: NSNotification.Name(rawValue: "com.Adapty.PurchaserInfoUpdatedNotification"), object: purchaserInfo)
    }
 
}
```
</TabItem>
<TabItem value="kotlin" label="Android with Firebase" default>
```kotlin showLineNumbers
class App : Application() {

    override fun onCreate() {
        super.onCreate()
        // Configure Adapty
        Adapty.activate(this, "YOUR_API_KEY")

        Adapty.setOnPurchaserInfoUpdatedListener(object : OnPurchaserInfoUpdatedListener {
            override fun onPurchaserInfoReceived(purchaserInfo: PurchaserInfoModel) {
                // handle any changes to subscription state
            }
        })

        // Add state change listener for Firebase Authentication
        FirebaseAuth.getInstance().addAuthStateListener { auth ->
            val currentUserId = auth.currentUser?.uid

            if (currentUserId != null) {
                // identify Adapty SDK with new Firebase user
                Adapty.identify(currentUserId) { error ->
                    if (error == null) {
                        //success
                    }
                }
            } else {
                Adapty.logout { }
            }
        }
    }
}
```
</TabItem>
</Tabs>