Cloud Functions ile yapabilecekleriniz

Cloud Functions, geliştiricilere Firebase ve Google Cloud etkinliklerine erişim imkanı sunar. Ayrıca bu etkinliklere yanıt olarak kod çalıştırmak için ölçeklenebilir bilgi işlem gücü sağlar. Firebase uygulamalarının, benzersiz gereksinimlerini karşılamak için Cloud Functions'ı benzersiz şekillerde kullanması beklenir. Tipik kullanım alanları şu kategorilere ayrılabilir:

İlgilendiğiniz her kategori için kullanım alanlarını ve örnekleri inceleyin. Ardından Başlangıç eğitimimize veya kimlik doğrulama etkinlikleri, analiz etkinlikleri ve daha fazlası için özel "Nasıl Yapılır?" kılavuzlarımıza gidin.

İlginç bir şey olduğunda kullanıcıları bilgilendirme

Geliştiriciler, kullanıcıların etkileşimde kalmasını ve bir uygulamayla ilgili alakalı bilgilerle güncel kalmasını sağlamak için Cloud Functions kullanabilir. Örneğin, kullanıcıların uygulamada birbirlerinin etkinliklerini takip etmesine olanak tanıyan bir uygulama düşünün. Bir kullanıcı kendisini başka bir kullanıcının takipçisi olarak her eklediğinde Realtime Database içinde bir yazma işlemi gerçekleşir. Ardından bu yazma etkinliği, uygun kullanıcılara yeni takipçiler kazandıklarını bildirmek için Firebase Cloud Messaging (FCM) bildirimleri oluşturan bir işlevi tetikleyebilir.

Aşağıda açıklanan uygulama akışını gösteren diyagram

  1. İşlev, takipçilerin depolandığı Realtime Database yoluna yazma işlemi yapıldığında tetiklenir.
  2. İşlev, FCM üzerinden gönderilecek bir mesaj oluşturur.
  3. FCM, bildirim mesajını kullanıcının cihazına gönderir.

Çalışan kodu incelemek için GitHub'daki örnek koda bakın:

Diğer ilgi çekici bildirim kullanım alanları

  • Bültene abone olan kullanıcılara onay e-postaları gönderme
  • Kullanıcı kaydolduğunda karşılama e-postası gönderin.
  • Kullanıcı yeni bir hesap oluşturduğunda SMS onayı gönderme

Veritabanı temizleme ve bakım işlemlerini gerçekleştirme

Cloud Functions veritabanı etkinlik işleme özelliği sayesinde, kullanıcı davranışına yanıt olarak Realtime Database veya Cloud Firestore üzerinde değişiklik yapabilir ve sistemi istediğiniz durumda tutabilirsiniz. Örneğin, yazma etkinliklerini izleyebilir ve kullanıcıların mesajlarındaki belirli dizelerin biçimini değiştirebilirsiniz (ör. tümünü büyük harf yapma). Bunun nasıl işleyebileceğini aşağıda görebilirsiniz:

Aşağıda açıklanan uygulama akışını gösteren diyagram

  1. İşlevin veritabanı etkinlik işleyicisi, belirli bir yoldaki yazma etkinliklerini dinler ve mesajların metnini içeren etkinlik verilerini alır.
  2. İşlev, metni işleyerek dizeleri büyük harfe dönüştürür.
  3. İşlev, güncellenen metni veritabanına geri yazar.

Çalışan kodu incelemek için GitHub'daki örnek koda bakın:

Diğer veritabanı temizleme ve bakım kullanım alanları

  • Silinen bir kullanıcının içeriğini Realtime Database hizmetinden tamamen silin.
  • Firebase veritabanındaki alt düğüm sayısını sınırlama
  • Realtime Database listesindeki öğe sayısını izleyin.
  • Realtime Database platformundan Google Cloud BigQuery'ye veri kopyalayın.
  • Metni emojiye dönüştürün.
  • Veritabanı kayıtları için hesaplanan meta verileri yönetme

Yoğun görevleri uygulamanız yerine bulutta yürütme

Kullanıcının cihazında çalıştırmak yerine, yoğun kaynak gerektiren işleri (yoğun CPU veya ağ kullanımı) Google Cloud'a yüklemek için Cloud Functions hizmetinden yararlanarak uygulamanızın yanıt verme hızını artırabilirsiniz. Örneğin, Cloud Storage hizmetine resim yüklemelerini dinleyen, resmi işlevi çalıştıran örneğe indiren, değiştiren ve tekrar Cloud Storage hizmetine yükleyen bir işlev yazabilirsiniz. Yaptığınız değişiklikler arasında sharp veya Pillow gibi araçlarla resimleri yeniden boyutlandırma, kırpma ya da dönüştürme yer alabilir.

Aşağıda açıklanan uygulama akışını gösteren diyagram

  1. Cloud Storage klasörüne bir resim dosyası yüklendiğinde bir işlev tetiklenir.
  2. İşlev, resmi indirir ve küçük resim sürümünü oluşturur.
  3. İşlev, bu küçük resim konumunu veritabanına yazar. Böylece istemci uygulaması bu konumu bulup kullanabilir.
  4. İşlev, küçük resmi yeni bir konumda Cloud Storage hizmetine geri yükler.
  5. Uygulama, küçük resim bağlantısını indirir.

Görüntü işleme örneğinin adım adım açıklaması için Cloud Storage etkinliklerini işleme kılavuzuna bakın.

Firebase bulutundaki diğer toplu iş örnekleri

  • Kullanılmayan Firebase hesaplarını düzenli olarak silme Node.js | Python.
  • Yüklenen resimleri otomatik olarak yedekleme Node.js | Python.
  • Kullanıcılara toplu e-posta gönderme
  • Verileri düzenli olarak birleştirip özetleyin.
  • Bekleyen işlerin sırasını işleme

Üçüncü taraf hizmetleri ve API'lerle entegrasyon

Cloud Functions, web API'lerini çağırıp göstererek uygulamanızın diğer hizmetlerle daha iyi çalışmasına yardımcı olabilir. Örneğin, geliştirme konusunda ortak çalışma için kullanılan bir uygulama, GitHub commit'lerini bir çalışma grubu sohbet odasına gönderebilir.

Aşağıda açıklanan uygulama akışını gösteren diyagram

  1. Kullanıcı, GitHub deposuna commit'leri aktarır.
  2. GitHub webhook API aracılığıyla bir HTTPS işlevi tetiklenir.
  3. İşlev, bir ekibin Slack kanalına commit ile ilgili bildirim gönderir.

Üçüncü taraf hizmetleri ve API'lerle entegrasyonun diğer yolları

  • Yüklenen resimleri analiz etmek ve etiketlemek için Google Cloud Vision API'yi kullanın.
  • Google Çeviri'yi kullanarak mesajları çevirme
  • Kullanıcıların oturum açması için özel kimlik doğrulama kullanın.
  • Realtime Database yazma işlemi gerçekleştiğinde bir webhook'a istek gönderin.
  • Realtime Database öğelerinde tam metin aramayı etkinleştirin.
  • Kullanıcılardan gelen ödemeleri işleme
  • Telefon aramalarına ve SMS mesajlarına otomatik yanıtlar oluşturma
  • Google Asistan'ı kullanarak chatbot oluşturma