aakif.net
aakif.net
aakif.net
aakif.net
aakif.net
aakif.net

E-Tablo & Firebase Entegrasyonu Bildirim Yönetim Kılavuzu

AK
Muhammed Akif Kayacan
5 dk okuma
Paylaşım Görseli

Google E-Tablolar (Sheets) üzerinden anlık ve resimli push bildirimlerinizi yönetmek, Apps Script zaman ayarlı otomatik gönderim alt yapısını kurmak için hazırlanan etkileşimli teknik mimari kılavuzudur.

Mimarî Yapı

Çift sekme entegrasyonu

Zamanlayıcılar

15 dk hassas tetikleme

FCM v1 Güvenliği

JWT OAuth2 imzalama

Otomasyon

Mükerrer gönderim engeli

Bu Sistem Tam Olarak Nedir?

Uygulamanıza bildirim gönderme sürecini karmaşık sunucu kodlarından ve panellerinden kurtarıp, herkesin bildiği Google E-Tablolar (Excel) arayüzüne taşıyan tam otomatik bir altyapıdır. Sisteme entegre edilen özel bir Apps Script kodu, tablonuza yazdığınız gün, saat, başlık ve mesajları saniyesi saniyesine takip eder. Vakti gelen mesajı alır ve Firebase (FCM v1) üzerinden doğrudan kullanıcılarınızın telefonuna resimli bir anlık bildirim (Push Notification) olarak yollar. Kısacası; siz sadece Excel doldurursunuz, gerisini sistem kendi kendine halleder.

Sistemin Amacı ve En Büyük Avantajları

Firebase Konsol Derdine Son

Her bildirim atmak istediğinizde Firebase paneline giriş yapıp karmaşık menüler arasında kaybolmanıza gerek yok. Çok daha pratik ve kullanışlı olan Google E-Tablolar (Excel) arayüzünden tüm bildirimleri saniyeler içinde planlayın ve yönetin.

Uyuyan Kullanıcıları Geri Kazanın

Uygulamanızı indirip çok ilgisini çekmediği için kenara atan veya girmeyi unutan kullanıcılar için otomasyon kurun. Siz hiçbir şey yapmasanız bile uygulamanız kendi kendini hatırlatır ve aktif kullanıcı (retention) oranınızı canlı tutar.

BÖLÜM 1

Kurulum ve Yapılandırma Adımları

Sistemin kusursuz çalışması için Google E-Tablo entegrasyonunu, Apps Script kod yüklemesini, dakikalık otomatik tetikleyiciyi ve mobil/Firebase ayarlarını bu sırayla tamamlayın.

01 E-Tablo Veri Tabanı Mimarisi (Adım 1)

Sistemin kararlı çalışması için Google E-Tablonuzda mutlaka "Sürekli" ve "TekSeferlik" adlarında iki ayrı sekme bulunmalıdır. Kolon harfleri ve adları sistem tarafından birebir okunmaktadır. Aşağıdaki etkileşimli tablodan sütunları inceleyebilirsiniz.

E-Tablo Veri Mimarisi Önizlemesi

Google E-Tablolar Sayfa Formatı (Gerçek Görünüm)

Sürekli Sekmesi SÜTUNLARA TIKLAYIN
Dosya Düzenle Görünüm Ekle Biçim Veri Araçlar
B I S
A
fx
=VERİ_TİPİ(Düz Metin (Metin)) — Değer: "Pazartesi"
#
1
2
3
A

Sütun A: Gün

E-Tablo kolon gereksinimleri ve yazılım entegrasyon kuralları

Tip: Düz Metin (Metin) Zorunlu
Sütun İşlevi ve Görevi:

Bildirimin haftalık hangi gün gideceği (Düz Metin olarak kaydedilir). Örn: "Pazartesi", "Salı" vb.

Örnek Hücre Değeri:
"Pazartesi"
İpucu: Sütunun harf adı, Apps Script kodunun hücreleri hatasız okuması için birebir korunmalıdır. Sütunların yerini değiştirmeyiniz.

02 Apps Script (Kod) Kurulumu (Adım 2)

E-Tablonuz ile Firebase arasında köprü görevi görecek olan Apps Script kodunun kurulumu için aşağıdaki adımları sırasıyla takip edin:

  1. Google E-Tablonuzda üst menüden Uzantılar > Apps Script seçeneğine tıklayın.
  2. Varsayılan kodların tamamını silip aşağıdaki kararlı Google Apps Script kodunu yapıştırın.
  3. Koddaki FIREBASE_CONFIG nesnesini kendi Firebase Service Account JSON dosyası bilgilerinizle doldurun.
fcm-kod.gs (Apps Script)
/* Kod kopyalandığında Apps Script'e yapıştırmaya hazırdır */
        

03 ADIM 3: Otomasyonu Başlatma (Tetikleyici Ayarları)

Kodun tablodaki saatleri sürekli kontrol etmesi için bir tetikleyici (Trigger) kurmalıyız. Kodda ±2 dakikalık tolerans payı ayarlanmıştır, bu yüzden tetikleyici dakikada bir çalışmalıdır.

1

Tetikleyiciler Ekranına Geçiş

Apps Script ekranında sol menüden ⏰ (Tetikleyiciler - Triggers) ikonuna tıklayın.

2

Yeni Tetikleyici Ekleme

Sağ alttaki Tetikleyici Ekle butonuna basın.

3

Google Güvenlik İzinlerinin Verilmesi

Kaydet'e basın. Ekrana Google güvenlik uyarısı gelirse Gelişmiş > ... projesine git (Güvenli değil) diyerek izinleri onaylayın.

Eksiksiz Yapılacak Ayarlar

Çalıştırılacak İşlev: checkAndSendAllNotifications
Dağıtım: Head
Etkinlik Kaynağı Seçin: Zamana dayalı (Time-driven)
Zamanlayıcı Türü: Dakika zamanlayıcısı (Minutes)
Zaman Aralığı: Her dakikada bir (Every minute)

04 ADIM 4: Yazılımcı İçin Yönergeler (Firebase & Mobil)

Bu bölüm doğrudan mobil/backend yazılımcısına iletilmeli ve entegrasyon sırasında eksiksiz uygulanmalıdır (Yönerge adımlarına tıklayarak detayları görebilirsiniz):

Firebase Console > Project Settings > Service Accounts sekmesine gidin. "Generate new private key" diyerek .json dosyasını indirin. Bu dosyanın içindeki project_id, client_email ve private_key değerlerini Apps Script'in en üstündeki FIREBASE_CONFIG içine birebir kopyalayın.

Önemli Not: private_key içindeki \n karakterleri bozulmadan, tam olarak "-----BEGIN PRIVATE KEY-----" ile başlayıp "-----END PRIVATE KEY-----\n" ile bitecek şekilde yapıştırılmalıdır.
Tebrikler • Tüm Adımlar Tamamlandı

İşlem Bu Kadar, Sistem Hazır! 🎉

Google E-Tablolar (Sheets) ve Firebase FCM v1 altyapısı ile donatılmış anlık bildirim otomasyonunuz başarıyla kuruldu. Artık tabloda belirlediğiniz gün ve saatlerde bildirimleriniz otomatik olarak kullanıcılarınızın cihazlarına anında ulaştırılacaktır.

E-Tablo Veri Mimarisi (Adım 1)
Apps Script Entegrasyon Kodu (Adım 2)
Dakikalık Otomatik Tetikleyici (Adım 3)
Mobil Entegrasyon & Topic Aboneliği (Adım 4)
BÖLÜM 2

Kullanım İpuçları ve Özel Taktikler

Sistemin tüm gizli yeteneklerinden faydalanmak, gönderimleri optimize etmek ve ileri düzey senaryoları hayata geçirmek için aşağıdaki teknik ipuçlarını uygulayabilirsiniz.

2.1. Hücreleri Boş Bırakma Esnekliği (Hariç Tutmalar)

Sistem tamamen esnektir. Herhangi bir kısıtlama yapmak istemiyorsanız ilgili hücreyi boş bırakın.

Hariç Topic (F) Boşsa: Hedef gruptaki herkese gider. Oraya premium_users yazarsanız, sadece onları gönderimden dışlar.
Platform Hariç (G) Boşsa: Hem iOS hem Android'e gider. Oraya iOS yazarsanız bildirim paketi iOS'ları atlar, sadece Android cihazlara gider.

2.2. Kişiselleştirilmiş Bildirim ("Merhaba Ahmet") Taktiği

Panelden binlerce kişiye aynı anda gönderim yaparken her kullanıcıya kendi adıyla hitap edebilirsiniz:

Yöneticinin Yapacağı:

Başlık veya Mesaj hücresine [ISIM] etiketini yazın.
(Örn: "Merhaba [ISIM], bu fırsatı kaçırma!")

Uygulama Yazılımcısının Yapacağı:

Mobil uygulama, Firebase'den gelen bildirimi ekrana basmadan hemen önce intercept eder. Metindeki [ISIM] etiketini, uygulamaya giriş yapmış kullanıcının adıyla değiştirip ekrana basar.

Bu işlem tamamen Client-Side'da (mobil uygulamada) yapılır, E-Tablo tarafında ek bir koda ihtiyaç yoktur.

2.3. Aralık (J) ve Grup (K) Sütunu Mantığı (0'dan Sayma Kuralı)

Bilgisayarlar saymaya 1'den değil, 0'dan başlar. Bu yüzden rotasyon döngülerini kurarken aşağıdaki mantığı uygulayın:

Her Hafta Gidecekse: Aralık 1, Grup 0 yazılır.
2 Haftada Bir Nöbetleşe Gidecekse: Aralık 2 yapılır. Birinci grup için Grup 0, ikinci grup için Grup 1 verilir.
Sistem Yanlışlık Koruması: Aralık 2 iken yanlışlıkla Grup değerine 2 yazarsanız, kod sistemi çökertmez; o 2'yi otomatik olarak 0 kabul edip rotasyonu güvenle kurtarır.
BÖLÜM 3

Yolda Karşılaşılabilecek Sorunlar ve Çözümleri

Sistem çalışmadığında veya hata verdiğinde panik yapmayın. İşte en sık karşılaşılan 4 tipik durum ve bunların nokta atışı kesin çözümleri.

Yazıyı Paylaş: