> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Android Firebase kimlik bilgileri

> OneSignal'da Firebase Cloud Messaging (FCM) Hizmet Hesabı kimlik bilgilerini yapılandırarak Google Play Store'daki uygulamalar için Android push bildirimlerini etkinleştirin.

Google Play Store'dan Android uygulamanızı indiren kullanıcılara push bildirimleri göndermek için, OneSignal'a bir Firebase Cloud Messaging (FCM) Hizmet Hesabı özel anahtarı oluşturup yüklemelisiniz.

<Note>
  Bu talimatlar şunlar için geçerli değildir:

  * **Web Push.** Android cihazlar, FCM Hizmet Hesabı olmadan web sitenize veya PWA'nıza abone olabilir. [Web push kurulumu](./web-push-setup)'na bakın.
  * **Huawei App Gallery üzerinden dağıtılan Huawei uygulamaları.** [Huawei yetkilendirme](./authorize-onesignal-to-send-huawei-push)'ye bakın.
</Note>

***

## Gereksinimler

* Google Play Store üzerinden dağıtılan bir Android uygulaması
* Bir [OneSignal hesabı](https://onesignal.com)
* Bir [Firebase hesabı (ücretsiz)](https://firebase.google.com)
* `cloudmessaging.messages.create` ve `firebase.projects.get` izinlerine sahip bir Firebase Hizmet Hesabı özel anahtarı
  * Eğer yoksa, aşağıdaki adımları izleyerek [bir Firebase Hizmet Hesabı özel anahtarı oluşturun](#create-a-firebase-service-account-private-key)
  * Zaten bir özel anahtarınız varsa, [mevcut izinleri kontrol edin](#how-do-i-check-my-service-account-permissions)

***

<h2 id="create-a-firebase-service-account-private-key">
  Firebase Hizmet Hesabı özel anahtarı oluşturma \\
</h2>

<Steps>
  <Step title="Firebase Projenizi oluşturun veya açın">
    [Firebase konsolunuza](https://console.firebase.google.com/) gidin ve bir proje oluşturun veya seçin.

    <Frame caption="Firebase içindeki Projeler Sayfası">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-projects.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=aca8614ec0e40fc63fd71f3160098778" alt="Mevcut projelerin listesini gösteren Firebase konsolu" width="2656" height="1780" data-path="images/mobile/firebase-projects.png" />
    </Frame>
  </Step>

  <Step title="Firebase Cloud Messaging API V1'i etkinleştirin">
    **Project settings**'te, **Cloud Messaging** sekmesini seçin.

    <Frame caption="Firebase Proje ayarlarındaki Cloud Messaging sekmesi">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-project-settings-cloud-messaging.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=e877c1d0ca51b85b1f2e80418e0195c4" alt="Firebase Cloud Messaging API (V1) durumu Enabled olarak gösterilen Cloud Messaging sekmesini görüntüleyen Firebase Proje ayarları" width="2956" height="1140" data-path="images/mobile/firebase-project-settings-cloud-messaging.png" />
    </Frame>

    **Firebase Cloud Messaging API (V1)** durumunu kontrol edin:

    * **Enabled** (yeşil onay işareti) gösteriyorsa sonraki adıma geçin.
    * **Disabled** gösteriyorsa, **3 nokta menüsü > Manage API in Google Cloud Console**'a tıklayın. Google Cloud Console'da **Enable**'a tıklayın ve yeşil onay işaretiyle "API Enabled" görünene kadar bekleyin.

    <Frame caption="Google Cloud Console'da etkinleştirilen Firebase Cloud Messaging API">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-cloud-messaging-api-v1-enabled.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=9239c8baa0659152d8aed6fc6af810a7" alt="Yeşil bir onay işaretiyle API Enabled durumunu gösteren Google Cloud Console Firebase Cloud Messaging API sayfası" width="1616" height="750" data-path="images/mobile/firebase-cloud-messaging-api-v1-enabled.png" />
    </Frame>

    <Note>
      Bu, Firebase Hizmet Hesabınızın gerekli izinlere sahip olup olmadığını kontrol etmek için iyi bir zamandır:

      * `cloudmessaging.messages.create`
      * `firebase.projects.get`

      Yeni oluşturulan Firebase projeleri genellikle varsayılan Hizmet Hesabında bu izinlere sahiptir. Emin değilseniz veya daha eski bir projeyle çalışıyorsanız, devam etmeden önce kontrol edin. Ayrıntılar için [Hizmet Hesabı izinlerimi nasıl kontrol ederim?](#how-do-i-check-my-service-account-permissions)'a bakın.
    </Note>
  </Step>

  <Step title="Yeni bir özel anahtar oluşturun">
    **Project settings**'e geri dönüp **Service accounts** sekmesini seçin ve **Generate new private key**'e tıklayın.

    <Frame caption="Firebase içindeki Hizmet Hesapları bölümü">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-project-settings-service-accounts.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=d0b4a6d7c84cd1a639b6de79c3789363" alt="Generate new private key düğmesini gösteren Firebase Proje ayarlarındaki Service accounts sekmesi" width="2978" height="1734" data-path="images/mobile/firebase-project-settings-service-accounts.png" />
    </Frame>

    Açılır pencerede **Generate key**'e tıklayarak onaylayın.

    <Frame caption="Hizmet Hesabı için özel anahtarı oluşturun.">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/firebase-generate-new-private-key.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=6b3ca4145c180400cf80a434adbbc216" alt="Hizmet Hesabı için yeni özel anahtar oluşturulması için Firebase onay iletişim kutusu" width="1432" height="572" data-path="images/mobile/firebase-generate-new-private-key.png" />
    </Frame>

    <Warning>
      İndirilen özel anahtar hassas kimlik bilgileri içerir. Paylaşmayın veya sürüm kontrolüne eklemeyin.
    </Warning>

    `.json` dosyasını güvenli bir konuma kaydedin. Sonraki bölümde ona ihtiyacınız olacak.
  </Step>
</Steps>

***

## Hizmet Hesabı özel anahtarını OneSignal'a yükleme

OneSignal kontrol panelinizde:

<Steps>
  <Step title="Android ayarlarını açın">
    **Settings > Push & In-App > Platforms > Google Android (FCM)**'ye gidin.

    **Activate** (ilk kurulum) veya **Settings** (Android zaten yapılandırılmışsa) düğmesine tıklayın.

    <Frame caption="OneSignal uygulama ayarları içindeki Platformlar ekranı">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/onesignal-push-platforms.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=9b8af64aae3dd5fdcb715731710785ca" alt="Platforms sekmesinde Google Android (FCM) bloğu ve bir Settings düğmesi gösteren OneSignal Push & In-App Ayarları" width="2496" height="648" data-path="images/mobile/onesignal-push-platforms.png" />
    </Frame>
  </Step>

  <Step title="Hizmet Hesabı özel anahtarınızı yükleyin">
    **Select file**'a tıklayın ve önceki bölümde kaydettiğiniz `.json` özel anahtarını seçin.

    <Frame caption="FCM yapılandırma ekranı">
      <img src="https://mintcdn.com/onesignal/uWz0BIZj_JUi1RGq/images/mobile/onesignal-fcm-configuration.png?fit=max&auto=format&n=uWz0BIZj_JUi1RGq&q=85&s=5fb6b977bf1517c453b1c0b0c9b57274" alt="Service Account JSON dosya yükleme alanı ve Select file düğmesini içeren OneSignal Google Android (FCM) yapılandırma ekranı" width="1780" height="702" data-path="images/mobile/onesignal-fcm-configuration.png" />
    </Frame>
  </Step>

  <Step title="Kaydedin ve devam edin">
    **Save & Continue**'ya tıklayın. OneSignal özel anahtarı doğrular ve sizi SDK'nızı seçeceğiniz kurulum akışının bir sonraki adımına götürür.

    <Warning>
      Kontrol paneli **Invalid request** veya başka hatalar gösteriyorsa, Hizmet Hesabınızın bir veya birden fazla gerekli role sahip olmadığı muhtemeldir. [Hizmet Hesabı izinlerimi nasıl kontrol ederim?](#how-do-i-check-my-service-account-permissions)'a bakın.
    </Warning>
  </Step>
</Steps>

<Check>
  OneSignal uygulamanız artık Firebase Cloud Messaging (V1)'e bağlandı. Ardından, uygulamanızda OneSignal'ı yükleyip başlatmak için kullandığınız SDK'ya uygun [Mobil SDK kurulumu](./mobile-sdk-setup)'nu takip edin.
</Check>

***

## SSS

<h3 id="how-do-i-check-my-service-account-permissions">
  Hizmet Hesabı izinlerimi nasıl kontrol ederim? \\
</h3>

Hizmet Hesabı izinleri Firebase konsolunda değil, **Google Cloud Console**'da yönetilir. OneSignal'a yüklediğiniz özel anahtara karşılık gelen Hizmet Hesabının her ikisine de sahip olması gerekir:

* `cloudmessaging.messages.create` — **Firebase Cloud Messaging API Admin** (`roles/firebasecloudmessaging.admin`) tarafından verilir.
* `firebase.projects.get` — **Firebase Viewer** (`roles/firebase.viewer`) tarafından verilir.

**Firebase Admin** (`roles/firebase.admin`), **Editor** veya **Owner** gibi daha geniş roller de her iki izni içerir ve gereksinimi karşılar. Yalnızca OneSignal için kullanılan Hizmet Hesapları için, özel anahtar açığa çıkarsa etkiyi sınırlamak için yukarıdaki dar çifti tercih edin.

Hizmet Hesabı özel anahtarınızı yükledikten sonra OneSignal kontrol panelinde **Invalid request** görünüyorsa, eksik roller en yaygın sebeptir.

<Steps>
  <Step title="Google Cloud Console'da IAM'i açın">
    [Google Cloud Console](https://console.cloud.google.com/)'a giriş yapın, Firebase uygulamanıza bağlı projeyi seçin ve **IAM & Admin > IAM**'e gidin.
  </Step>

  <Step title="Hizmet Hesabınızı bulun">
    Principal e-postasını, yüklediğiniz özel anahtardaki `client_email` alanıyla eşleştirin.
  </Step>

  <Step title="Eksik rolleri ekleyin">
    Kalem (düzenle) simgesine tıklayın, sonra atanmamış olan rolleri eklemek için **Add another role**'a tıklayın.
  </Step>

  <Step title="Kaydet">
    **Save**'e tıklayın. IAM değişikliklerinin uygulanması bir dakika sürebilir.
  </Step>
</Steps>

### Neden "This configuration is for a different Firebase Project" görüyorum?

Bu hata, yüklenen özel anahtar farklı bir Firebase projesine (farklı bir Sender ID) ait olduğunda oluşur.

**Çözüm**: Orijinal Firebase projesinin özel anahtarını kullanın. Mevcut değilse, App ID'nizle birlikte `support@onesignal.com` ile iletişime geçin. Proje değiştirmek push token'larını sıfırlar. Kullanıcılarınızın tekrar push alabilmesi için uygulamayı yeniden açması gerekir.

### Sender ID'mi değiştirebilir miyim?

Evet, ancak mevcut kullanıcılarınızı etkileyecektir.

Cihaz token'ları orijinal Sender ID'ye bağlıdır. Değiştirmek mevcut token'ları geçersiz kılar.

<Warning>
  Kullanıcılar uygulamayı yeniden açıp yeni token'lar oluşturana kadar push bildirimleri almayı durduracaktır.
</Warning>

Yardıma ihtiyacınız olursa, App ID'nizle birlikte `support@onesignal.com` ile iletişime geçin.

### Neden OneSignal'da Sender ID görmüyorum?

Firebase sunucu anahtarınız `AIz...` gibi görünüyorsa, muhtemelen eski bir Google Cloud Messaging (GCM) kurulumu kullanıyorsunuz. Yeni bir Firebase projesi oluşturun ve bir Hizmet Hesabı özel anahtarı yükleyin.

### FCM V1'e geçerken kodumu güncellemem gerekir mi?

Uygulama veya SDK değişikliği gerekmez. Bu yalnızca kontrol paneli güncellemesidir.

### FCM V1'e geçiş için son tarih nedir?

Google'ın eski FCM API'leri artık tamamen kullanımdan kaldırıldı. Hala eski API'leri kullanıyorsanız, **derhal FCM V1'e geçmelisiniz**.

### Hangi uygulamaların hala eski API'yi kullandığını nasıl kontrol edebilirim?

Her uygulama için [View an app](/reference/view-an-app) API'sini çağırın ve yanıttaki `fcm_v1_service_account_json` alanını kontrol edin:

* **Mevcut ve boş değil**: uygulama FCM V1'de.
* **Eksik veya boş**: uygulama FCM V1 için yapılandırılmamış. Uygulama Android push gönderiyorsa, hala eski API'dedir ve taşınması gerekir.

Uygulamalarınızı ve App ID'lerini önce listelemek için [View apps](/reference/view-apps) API'sini kullanın.

<h3 id="what-is-firebase-cloud-messaging-and-why-does-onesignal-need-a-service-account-private-key">
  Firebase Cloud Messaging nedir ve OneSignal neden bir Hizmet Hesabı özel anahtarına ihtiyaç duyar? \\
</h3>

**Firebase Cloud Messaging (FCM)**, Android cihazlara push bildirimleri iletmek için Google'ın hizmetidir. Bir **Hizmet Hesabı**, OneSignal'ın Firebase projenize kimlik doğrulaması yapmak için kullandığı bir Google kimliğidir ve **özel anahtarı** kimliği kanıtlayan bir JSON dosyasıdır. Özel anahtarı yüklemek, OneSignal'ın sizin adınıza Firebase üzerinden push göndermesi için yetki verir. Daha fazla ayrıntı için [Google'ın Hizmet Hesabı belgeleri](https://cloud.google.com/iam/docs/service-account-overview)'ne bakın.

***

## İlgili sayfalar

<Columns cols={2}>
  <Card title="Mobil SDK kurulumu" icon="mobile-screen" href="./mobile-sdk-setup">
    Android uygulamanızda OneSignal SDK'sını yükleyin ve başlatın.
  </Card>

  <Card title="Mobil push kurulumu" icon="bell" href="./mobile-push-setup">
    Android, iOS ve diğer mobil platformlar için platforma özel kurulum adımları.
  </Card>

  <Card title="Huawei push kurulumu" icon="mobile" href="./authorize-onesignal-to-send-huawei-push">
    OneSignal'ı Huawei App Gallery üzerinden dağıtılan Huawei uygulamalarına push göndermek için yetkilendirin.
  </Card>

  <Card title="Web push kurulumu" icon="globe" href="./web-push-setup">
    Web siteleri için push bildirimlerini yapılandırın.
  </Card>
</Columns>
