Kullanıcılara mesaj göndermek için FCM ve FIAM'yi kullanın

1. Başlamadan önce

Bu codelab'de, uygulamanızı ön planda veya arka planda kullanan kullanıcılarla etkileşime geçme özelliğini nasıl ekleyeceğinizi öğreneceksiniz.

206c7ecece550bde.png

Ön koşullar

Yok

Neler öğreneceksiniz?

  • Firebase'i Android Uygulamanıza ekleyin
  • FCM ve FIAM bağımlılıkları ekleme
  • Uygulamanıza test FCM mesajı gönderin
  • Uygulamanıza test FIAM mesajı gönderin

Gerekenler

  • Android Studio 4.1
  • Android cihaz veya emülatör

2. Başlayın

Örnek kodu alma

GitHub deposunu komut satırından klonlayın:

Başlangıç uygulamasını içe aktarma

Android Studio'dan codelab-fcm-and-fiam dizinini ( android_studio_folder.png) seçin. Bu dosya önceki adımda klonlanan dosyadır (Dosya > > .../codelab-fcm-and-fiam).

Artık FcmAndFiam projesinin Android Studio'da açık olması gerekir. Bir google-services.json dosyasının eksik olduğuna dair bir uyarı görürseniz endişelenmeyin. Bir sonraki adımda eklenecektir.

3. Firebase konsol projesi oluşturun

Firebase'i projeye ekleyin

  1. Firebase konsoluna gidin.
  2. Proje ekle'yi seçin.
  3. Bir proje adı seçin veya girin.
  4. Firebase konsolunda kalan kurulum adımlarını uygulayın, ardından Proje oluştur'u (veya mevcut bir Google projesini kullanıyorsanız Firebase'i ekle) tıklayın.
  5. Kurulum iş akışını başlatmak için yeni projenizin genel bakış ekranından Android simgesini tıklayın.
  6. Codelab'in paket adını girin: com.google.firebase.codelab.fcmandfiam

Uygulamanıza google-services.json dosyasını ekleyin

Paket adını ekledikten sonra, Firebase Android yapılandırma dosyanızı almak için Uygulamayı Kaydet'i, ardından google-services.json'u indir'i tıklayın. Ardından google-services.json dosyasını projenizdeki app dizinine kopyalayın. Dosya indirildikten sonra, konsolda gösterilen sonraki adımlar için Atla'yı tıklayabilirsiniz (bu adımlar sizin için derleme-android-start projesinde zaten yapılmıştır).

Uygulamanıza Google hizmetleri eklentisi ekleyin

Google-services eklentisi, uygulamanızı Firebase'i kullanacak şekilde yapılandırmak için google-services.json dosyasını kullanır. Google hizmetleri eklentisi bağımlılığı ve eklentinin kendisi sırasıyla proje ve uygulama düzeyinde derleme dosyalarına eklenmiş olmalıdır. Aşağıdaki girişleri onaylayın:

derleme.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

app/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

Bağımlılık ekleme

FCM ve FIAM için aşağıdaki bağımlılıklar gerekir. Bu bağımlılıklar uygulama düzeyinde derleme dosyasına zaten eklenmiş olmalıdır. Aşağıdaki bağımlılıkların eklendiğini onaylayın:

app/build.gradle

dependencies {
  ...
  implementation platform('com.google.firebase:firebase-bom:28.4.2')
  implementation 'com.google.firebase:firebase-analytics'
  implementation 'com.google.firebase:firebase-messaging'
  implementation 'com.google.firebase:firebase-inappmessaging-display'
}

Projenizi gradle dosyalarıyla senkronize etme

Tüm bağımlılıkların uygulamanızda kullanılabildiğinden emin olmak için bu noktada projenizi gradle dosyalarıyla senkronize etmeniz gerekir. Dosya > Android Studio araç çubuğundan Projeyi Gradle Dosyaları ile senkronize edin.

4. Günlük Tanımlayıcıları

Firebase Cloud Messaging ve Firebase Uygulama İçi Mesajlaşma, uygulamalara mesaj göndermek için tanımlayıcıları kullanır. FCM, kayıt jetonu kullanır. FIAM ise yükleme kimliği kullanır.

  1. MainActivity.kt ürününde TODO işlevini aşağıdaki kodla değiştirerek mesajları göndermek için gereken tanımlayıcıları günlüğe kaydedin:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
   if (regTokenTask.isSuccessful) {
       Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve registration token",
           regTokenTask.exception)
   }
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
   if (installationIdTask.isSuccessful) {
       Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve installations ID",
           installationIdTask.exception)
   }
}
  1. Android cihazınızı bağlayıp Android Studio araç çubuğunda Çalıştır'ı ( yürütme.png ) tıklayın. Günlük Tanımlayıcıları düğmesine dokunulduğunda FCM kayıt jetonu ve Firebase Yüklemeleri Kimliği logcat'e kaydedilir. Çıkış şu şekilde görünmelidir:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Test FCM mesajı gönder

FCM mesajları, hem Firebase konsolundan hem de FCM REST API'den gönderilebilir. Bu codelab'de, bir FCM bildirim mesajı oluşturup cihazımıza göndereceğiz. Bildirim mesajları, sistemin bildirim alanında görüntülenen mesajlardır. Test amaçlı bir FCM mesajı göndermek için:

  1. Uygulamanın arka planda olduğundan emin olun (ana ekrana git)
  2. Firebase konsoluna gidin ve sol gezinme menüsünden Cloud Messaging'i seçin
  3. İlk mesajınızı gönderin'i seçin.
  4. İletinin başlığını ve gövdesini de ekleyin, ardından Test iletisi gönder'i tıklayın

207ced65f5245ada.png

  1. FCM kayıt jetonunu ekleyip test'i tıklayın

f3556c6a8a6453fe.png

  1. Cihazdaki ekran bildirimini gözlemle
  2. Bildirime dokunduğunuzda uygulama açılır

6. Test amaçlı FIAM mesajı gönder

Firebase Uygulama İçi Mesajlaşma, çeşitli kullanıcı etkinliklerinin sonucu olarak tetiklenebilir. Test mesajı, Uygulama İçi Mesajı tetiklemek için uygulama açılış etkinliğini kullanır. Test amaçlı FIAM mesajı göndermek için:

  1. Uygulamanın arka planda olduğundan emin olun (ana ekrana git)
  2. Firebase konsoluna gidin ve soldaki gezinme panelinde Uygulama İçi Mesajlaşma'yı seçin.
  3. İlk kampanyanızı oluşturun'u seçin
  4. Üst kısımdaki banner kampanyasını seçip mesajın başlığını ve gövdesini girin
  5. Cihazda test et'i tıklayın

69f6ea5efff240d1.png

  1. Yükleme Kimliği'ni ekleyin ve Test et'i tıklayın

24b101edfab47144.png

  1. Uygulamayı yeniden aç
  2. Uygulama içi mesajda gözlemle

7. Tebrikler

Tebrikler, hem FCM hem de FIAM mesajlarını başarıyla gönderdiniz. Artık kullanıcılarınızın uygulamanızı ön planda veya arka planda kullanmalarına bakılmaksızın onlarla nasıl etkileşim kuracağınızı biliyorsunuz.

Daha fazla bilgi

Sırada ne var?

  • Kendi Android uygulamanızdaki kullanıcılara ileti gönderin.

Referans belgeler