Akıllı Uygulamalar

Firebase AI Logic ve Gemini Nano 4 ile güvenli ve maliyet açısından optimize edilmiş Android uygulamaları geliştirme

Hoparlörler

  • Ankita Saxena

    Ürün Müdürü

  • Arthur Thompson

    Geliştirici İlişkileri Mühendisi

Hakkında

Konuşma hakkında

Android uygulamalarına üretime hazır üretken yapay zeka eklemek için LLM'ye bağlanmaktan daha fazlası gerekir. Kurumsal sınıf güvenlik ve maliyet kontrolleri de gereklidir. Bu oturumda, Firebase AI Logic'in geliştiricilerin bütçeye uygun ve güvenli yapay zeka deneyimlerini geniş ölçekte dağıtmasına nasıl olanak tanıdığını keşfedin.

Güvenlik temelleri ve Firebase Uygulama Kontrolü, maliyet yönetimi, dinamik model yönlendirme ve çok formatlı özelliklerden yararlanma konularını ele alacağız.

Özet

  • Firebase AI Logic, istemci SDK'larından gelen istekleri özel bir arka uç olmadan doğrudan Gemini API'lerine yönlendirir. Sunucu istem şablonları, uygulama güncellemelerini önlemek için istemleri bulutta depolar.
  • Firebase Uygulama Kontrolü, isteklerin uygulamanızdan gelmesini sağlayarak kaynakları kötüye kullanıma karşı korur. Kontrolleri zorunlu kılmadan önce Play Integrity ve reCAPTCHA Enterprise gibi onay sağlayıcıları entegre eder.
  • Gemini Nano 4, gecikmeyi azaltmak ve kullanıcı gizliliğini korumak için cihaz üzerinde çıkarım yapar. Firebase AI Logic, gerektiğinde buluta yedek yönlendirmeyi yönetir.
  • Harcama sınırları ve Firebase AI Logic tetikleyicileri, bulut maliyetlerini öngörülebilir tutar. Firebase, harcama %100'e ulaştığında yapay zeka hizmetinizi otomatik olarak duraklatır. Tetikleyiciler ise içerik üretmeden önce veya sonra özel işlevler çalıştırmanıza olanak tanır.
  • Gemini Live API, çift yönlü etkileşimli ses ve video akışı sağlar. İstemci SDK'sı, temel WebSocket bağlantılarını ve akış protokollerini yönetir.

Gemini Notebook

Konular

  • firebase-ai-logic
  • gemini-nano
  • firebase-app-check
  • on-device-ai
  • maliyet optimizasyonu
  • gemini-live-api

Transkript

Giriş ve Firebase AI Logic'e genel bakış

  • Android Developer Summit'e hoş geldiniz.

  • Ben Ankita Saxena, Firebase Ürün Müdürü.

  • Ben de Arthur Thompson, Firebase ekibinde Geliştirici İlişkileri Mühendisiyim.

  • Bugün, Android uygulamalarınıza üretken özellikler eklemeyi göstereceğiz.

  • İşte böyle.

  • Firebase nedir?

  • Firebase'i duyanlar el kaldırsın.

  • Anlıyorum.

  • Harika.

  • Firebase, Google'ın uygulama geliştirme platformudur.

  • Firebase, 20'den fazla ürünün entegre edildiği birleşik bir platform sunar. Böylece, ek yazılımlarla yaşayacağınız parçalı deneyimi yaşamazsınız.

  • Şimdi de üretken yapay zekayı mobil uygulamalara entegre etmenin zorluklarından bahsedelim.

  • En önemli üç zorluğu belirledik.

  • İlk olarak, API anahtarı sızıntıları: Bunları ayıklamak birkaç dakika sürer.

  • İkinci olarak, model adlarını güncelleme: Geliştiricilere her zaman bunları uygulamalarında sabit kodlamamalarını öneririz. Aksi takdirde, her yeni model geldiğinde başka bir sürüm yayınlamanız gerekir.

  • Üçüncüsü ise dosya gizliliği: Geliştiriciler ve uygulama kullanıcıları için verilerinin korunması ve uygulama için doğru koruma önlemlerinin alınması çok önemlidir.

  • Bahsettiğimiz zorlukların üstesinden gelmek için temel çözüm olarak Firebase AI Logic'i tanıtın.

  • Firebase AI Logic'in size sunduğu değer teklifi nedir?

  • Karmaşık özel arka uç işlemlerini biz hallederiz. Böylece, bu işlemleri sizin yapmanız gerekmez.

  • İkinci olarak, istemci SDK'larımızı kullanarak Gemini API'yi doğrudan ve güvenli bir şekilde mobil uygulamalarınızdan çağırabilirsiniz.

  • Şimdi işin iç yüzüne bakalım ve mimarinin nasıl işlediğini anlayalım.

  • Sol tarafta Firebase istemci SDK'ları yer alır.

  • Şu anda desteklediğimiz çok çeşitli istemci SDK'larımız var.

  • Desteklediğimiz Kotlin'den de bahsetmek istiyorum.

  • Geliştirici olarak yapay zeka işlemi gerçekleştirmek istediğinizde SDK, isteği Firebase AI Logic'e gönderir. Firebase AI Logic de isteği Gemini Developer API'ye veya Agent Platform Gemini API'ye güvenli bir şekilde yönlendirir.

  • Yani şu anda oluşturduğunuz tüm özel arka uçları biz yönetiyoruz.

  • Bu sayede, sıfır maliyetle piyasaya sürüm süresini kısaltıyoruz.

FriendlyMeals uygulaması demosu

  • Şimdi de işin eğlenceli kısmına geçelim.

  • Bu, FriendlyMeals uygulamasını tanıtan bir demo olacak.

  • Bu oturumdaki diğer demolarımız için de aynı uygulamayı kullanacağız. Uygulamayı indirebilirsiniz.

  • Buradaki QR kodunu tarayabilirsiniz.

  • Şimdi demoyu inceleyelim.

  • FriendlyMeals uygulaması, girdiğiniz malzemelere göre tarifleri belirlemenize yardımcı olur.

  • Bu iş akışında, bu bileşenleri yakalamanın iki temel yolunu görüyorsunuz.

  • Birincisi, elinizdeki malzemeleri girersiniz.

  • İkinci olarak, malzemelerin fotoğrafını çekersiniz.

  • İlk iş akışını kullanacağım. Bu akışta malzemeleri gireceğim.

  • Buzdolabımda bulabildiğim tek şey buydu.

  • Tarif oluşturulurken birkaç noktaya değinmek istiyorum.

  • Arka planda Gemini modellerini çağırıyoruz.

  • Bu kullanım alanında üç Gemini 3.8 Flash modelini çağırıyoruz.

  • Üstteki resim, Gemini Nano Banana modelinin en yeni sürümü olan 2.1 Nano Banana ile oluşturuldu.

  • Koda geçmeden önce Firebase AI Logic'in sunduğu değer teklifini pekiştirmek istiyorum.

  • İlk olarak sunucusuz SDK'lar var.

  • Yapay zeka özelliği eklemek istiyorsunuz ancak arka uç oluşturmak istemiyorsunuz.

  • İstemci tarafı SDK'larımız bu noktada devreye girer.

  • Android uygulamanızdan doğrudan Gemini'ı arayabilirsiniz.

  • İkincisi, güçlü yerleşik güvenlik özellikleridir.

  • Gemini'a yaptığınız çağrılarda Firebase Uygulama Kontrolü, sunucu istem şablonları ve diğer özelliklerden yararlanabilirsiniz. Bu güvenlik özelliklerinden biraz sonra daha ayrıntılı olarak bahsedeceğiz.

  • Üçüncü olarak, çok formatlı girişler ve akış gibi ileri seviye özellikler desteklenir.

  • Sihirli bir sırt çantasıyla ilgili hikaye oluşturmak için basit bir yapay zeka özelliği ekleyen bir uygulama geliştirmek istediğinizi varsayalım.

    import com.google.firebase.Firebase
    import com.google.firebase.ai.ai
    
    @Composable
    fun MagicBackpackGenerator() {
        var output by remember { mutableStateOf("") }
    
        LaunchedEffect(Unit) {
    
           val model=Firebase.ai.generativeModel("gemini-4-argon")
    
            val response = model.generateContent("Write a story about a magic backpack")
    
            output = response.text.toString()
    
        }
        MagicBackpackUI(output)
    }
  • Bu yapay zeka özelliğini eklemek ve üretime hazır hale getirmek için bu üç basit adımı uygulamanız yeterlidir.

  • Firebase AI Logic, uygulamanıza yapay zeka özellikleri eklemeyi bu kadar kolaylaştırdığına göre sormanız gereken ilk soru, bu özelliği nasıl güvence altına alacağınızdır.

Güvenlik ve istem yönetimi

  • Şimdi Firebase Uygulama Kontrolü'nden başlayarak güvenlik ayrıntılarına geçelim.

  • Firebase Uygulama Kontrolü, isteklerin uygulamanızdan geldiğini onaylayarak verilerinizi korumanıza, kullanıcılarınızın güvenliğini sağlamanıza ve API kaynaklarınıza kimlerin erişebileceğini kontrol etmenize yardımcı olur.

  • Bu, uygulamanızın kötüye kullanılmasını önlemeye yardımcı olan ek bir güvenlik katmanıdır.

  • Koda geçmeden önce Firebase konsolunda uygulamanız gereken birkaç adım vardır.

  • Firebase konsolundaki Uygulama Kontrolü bölümünde Android uygulamanızı kaydeder ve ilgili onay sağlayıcıları eklersiniz.

  • Play Integrity veya reCAPTCHA Enterprise gibi araçlar bu kapsamdadır.

  • Uygulama Kontrolü'nü ayarladıktan sonra zorunlu kılınmayan modda başlatmanız gerektiğini unutmayın.

  • Bu sayede, uygulamanızın telemetri sağlamasına izin vererek tüm uygulamalarınızın, yaptırım uygulamadan önce arka ucunuza başarılı API çağrıları aldığından emin olabilirsiniz.

  • Telemetrinin sorunsuz bir şekilde geldiğini gördüğünüzde Uygulama Kontrolü'nü zorunlu kılabilirsiniz. Bu noktada, geçerli ve donanım onaylı jetonu olmayan tüm istekler reddedilir.

  • Uygulama Kontrolü'nü uygulayan kodun görünümü bu şekilde.

    class FireTravelApp : Application() {
       lateinit var appContainer: AppContainer
           private set
       override fun onCreate() {
           super.onCreate()
           if (BuildConfig.DEBUG) {
               Firebase.appCheck.installAppCheckProviderFactory(
                   DebugAppCheckProviderFactory.getInstance()
               )
           } else {
               Firebase.appCheck.installAppCheckProviderFactory(
                   PlayIntegrityAppCheckProviderFactory.getInstance()
               )
           }
           appContainer = AppContainer(this)
       }
    }
  • Uygulama sınıfınızda Uygulama Kontrolü sağlayıcısını yüklersiniz.

  • Geliştirme aşamalarında hata ayıklama sağlayıcısını kullanmak isteyebilirsiniz. Ardından, üretime geçmeye hazır olduğunuzda Play Integrity veya reCAPTCHA Enterprise'a geçebilirsiniz.

  • Ancak diğer Firebase çağrılarını yapmadan önce Uygulama Kontrolü'nü yapılandırmanız gerektiğini unutmayın.

  • Geliştiriciler, yapay zeka özellikleri oluştururken istemleri genellikle doğrudan uygulama kodlarına sabit kodlar. Ancak bu durum iki büyük zorluğa neden olur.

  • Birincisi, istem için herhangi bir doğaçlama gerekiyorsa tam güncellemeyi göndermeniz gerekir.

  • İkinci olarak, uygulamanızı açan herkes tescilli istem mühendisliğinize erişebilir.

  • Firebase AI Logic, bu sorunu çözmek için sunucu istem şablonlarını kullanır.

  • İstemlerinizi cihazda tutmak yerine bulutta depolar.

  • Bu, sunucu istem şablonlarının Firebase konsolundaki görünümüdür.

  • Şablonları .prompt biçiminde yazarsınız.

    ---
    model: 'gemini-3-flash'
    input:
      schema:...
    tools:...
    ---
    {{role "system"}}
    You're a storyteller that tells nice and joyful stories with happy endings.
    
    {{role "user"}}
    Create a story about {{topic}} with the length of {{length}} words in the {{language}} language.
  • Model adını buradan ayarlayabilirsiniz.

  • Bu ayarı dilediğiniz zaman güncelleyebilirsiniz.

  • Uygulama güncellemesinin tamamını yayınlamanız gerekmez.

  • Sistem talimatlarını da güncelleyebilirsiniz. Ayrıca giriş ve çıkış için katı bir JSON şeması da kullanılır.

  • Yine, uygulama sürümü yayınlamanız gerekmez.

  • Bulutta yer aldığı için istemleri anında ayarlayabilir veya modelleri değiştirebilirsiniz.

  • Kodun Kotlin'deki görünümü de bu şekildedir.

    val generativeModel = Firebase.ai.templateGenerativeModel()
    
    val response = generativeModel.generateContent("storyteller-v1",
        mapOf(
            "topic" to topic,
            "length" to length,
            "language" to language
        )
    )
    
    output.value = response.text
  • Sunucu istem şablonlarının genel önizleme aşamasında olduğunu belirtmek isteriz.

  • Yalnızca kimlik doğrulama modunu da uygulayabilirsiniz.

  • Bu, isteği yetkilendirmek için Firebase Auth kullanıcı jetonlarını kullanır.

  • Güvenlik özelliklerimizi tamamlamak ve uygulamanızı tamamen kilitlemek için doğrudan Firebase konsolundan Yalnızca Şablon Modu'nu da kullanabilirsiniz.

Yapay zeka izleme ve telemetri kontrol paneli

  • Uygulamanız yayınlandıktan sonra nasıl davrandığını görmek isteyebilirsiniz.

  • Yapay Zeka Kullanım Takibi sekmesinde tek bir tıklamayla Yapay Zeka Kullanım Takibi'ni etkinleştirebilir ve örnekleme hızınızı yapılandırabilirsiniz.

  • Firebase, özel bir analiz kodu yazmanıza gerek kalmadan metrikleri, gecikmeleri ve jeton sayılarını otomatik olarak yakalar.

  • Az önce gördüğümüz iki modun aynı pencerede bulunduğunu belirtelim.

  • Firebase konsolunuzda yapay zeka kullanım takibini etkinleştirdiğinizde bu veriler doğrudan yapay zeka kullanım takibi kontrol paneline aktarılır.

  • %95'lik dilimdeki gecikme sürenizi gözlemleyebilir, ani hata artışlarını tespit edebilir ve metin, resim ve ses gibi farklı modalitelerdeki jeton tüketimini takip edebilirsiniz.

  • Belirli izleri görmek için İzleme Görüntüleyici'yi de inceleyebilirsiniz.

  • Bu durumda, kullandığımız modeli gösterdiği için gecikme süresini ve başarı oranını görebilirsiniz.

Gemini Nano ile karma çıkarım

  • Firebase konsolunda, yapay zeka özelliğinizin nasıl çalıştığına dair tüm telemetri ve görünürlük bilgilerini alabilirsiniz.

  • Örneğin, jeton kullanımında veya gecikme süresinde ani bir artış gördüğünüzde hibrit yaklaşım, bu maliyetleri veya gecikme süresini azaltmanın bir yoludur.

  • Üretken yapay zeka özellikleri uygulamalarımızın önemli bir parçası haline geldikçe yalnızca buluta %100 güvenmek muhtemelen doğru seçim olmayacaktır.

  • Android'deki cihaz üzerinde modeller olan Nano 4'ü kullanarak üç önemli avantajdan yararlanabilirsiniz. Bunları zaten biliyor olabilirsiniz.

  • Bunlardan ilki çevrimdışı moddur.

  • Yani büyük bir konferansta, uçakta veya metroda olsanız bile yapay zeka özelliğiniz çalışmaya devam eder.

  • Maliyet.

  • Çıkarım cihaz üzerinde çalıştığı için bu özellikleri ekleyebilirsiniz ve yapay zeka özelliğinizin maliyetlerinin artması konusunda endişelenmenize gerek kalmaz.

  • Üçüncüsü ise veri gizliliği.

  • Bu nedenle, hassas veriler söz konusu olduğunda kullanıcılarınıza çıkarımların hiçbirinin cihazınızdan ayrılmayacağını garanti edebilirsiniz.

  • Firebase AI Logic'i kullanarak bu çıkarım modlarını ayarlayabilir ve PREFER_ON_DEVICE, PREFER_IN_CLOUD veya ONLY_ON_DEVICE gibi net yönlendirme stratejileri belirleyebilirsiniz.

  • ONLY_ON_DEVICE seçeneğini belirlediğinizde SDK, bulutu tamamen atlayarak doğrudan cihaz üzerindeki modeli kullanır.

  • Telefona geçelim.

  • FriendlyMeals'e gidip cihaz üzerinde çalışan bazı özelliklere göz atalım.

  • İlk olarak, buzdolabımızda bulunabilecek bazı malzemelere göre bir tarif oluşturmayı deneyeceğiz.

  • Ankita'nın malzemeleri manuel olarak yazıp tarifi oluşturduğunu görmüştünüz.

  • Başka bir yöntem deneyelim.

  • Bu gerçek buzdolabını ele alalım. Kesinlikle yapay zekayla üretilmedi.

  • Bu buzdolabında çok fazla zeytin var. Bakalım nasıl bir tarif üreteceğiz.

  • Bu konuda birkaç noktaya değinmek istiyorum.

  • Bunlardan biri, görüntünün cihazdan hiçbir zaman dışarı çıkmamasıdır.

  • Görüntü, Nano by Gemma tarafından yerel olarak analiz edildi…

  • Nano 4.

  • İkinci olarak, yanıtın gelme hızı da önemli.

  • İçerik öğeleri oluşturuldu.

  • Böylece iki avantajdan da yararlanabilirsiniz.

  • Veriler cihazdan ayrılmaz ve gecikme süresinde önemli bir azalma olur.

  • Şimdi zeytin dolu buzdolabından hangi tarifi alacağımıza bakalım.

  • Bu kez bulutu kullanıyoruz.

  • Buzdolabında tespit edilen malzemeleri alıp buluta gönderiyoruz. Tüm bu işlemleri, yemek tarifi oluşturmak için Firebase AI Logic'i kullanarak yapıyoruz.

  • Buzdolabında somon görmedim ancak tarifte somon var.

  • Ancak bu, slaytlara geri dönelim lütfen.

  • Demoda gördüğümüz gibi, yerel model ile bulut modeli arasında geçiş yapmak oldukça kolay.

  • Firebase AI Logic, ağ kullanılabilirliğine göre temel yönlendirmeyi kullanarak çıkarım yapmayı sağlar.

  • Bu çıkarımı yönetmek için güvenlik önlemleri olarak düşünebileceğiniz

  • Bu nedenle mimari, çok formatlı ve giriş ve çıkış şemaları gibi özellikler için yerleşik destek ve Gemma ile tam entegrasyon içerir. Pardon, Gemini Nano 4 ile.

  • Şimdi bu önlemlerin pratikte nasıl uygulandığına bakalım.

  • Bu nedenle, karma yönlendirme için karmaşık ara katman yazılımları veya yedek mantıklar oluşturmanız gerekmez.

  • Kod açısından, bu yalnızca ek bir parametredir.

  • Tercih ettiğiniz modu ayarlamak için bir parametre ve onDeviceConfig iletirsiniz.

    import com.google.firebase.Firebase
    import com.google.firebase.ai.ai
    
    @Composable
    fun MagicBackpackGenerator() {
        var output by remember { mutableStateOf("") }
    
        LaunchedEffect(Unit) {
    
            val model = Firebase.ai.generativeModel(modelName = "gemini-3.8-flash",
    onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE))
    
           val response = model.generateContent("Write a story about a magic backpack")
    
            output = response.text.toString()
    
        }
        MagicBackpackUI(output)
    }
  • SDK, bu durumda önce yerel modeli dener ve model mevcut değilse otomatik olarak buluta geri döner.

Maliyet optimizasyonu ve AI Logic tetikleyicileri

  • Güvenli uygulamalar oluşturmayı ve cihaz üzerinde modellerden yararlanmayı ele aldığımıza göre şimdi maliyet optimizasyonundan bahsedelim.

  • Üretken özellikler hızla ölçeklenebilir ve bu nedenle Cloud Billing'iniz de artabilir.

  • Bu nedenle, bütçelerinizin öngörülebilir ve uygulamalarınızın finansal açıdan verimli olmasını sağlayacak doğru proaktif altyapı kontrollerine ve otomatik özelliklere sahip olduğumuzdan emin olmak için uygun önlemleri almamız gerekir.

  • Arthur, cihaz üzerinde çıkarımın tamamen ücretsiz olduğunu vurguladı. Ancak karmaşık akıl yürütme görevleri gerektiren ve yedekleme ile buluta yönlendirme gerektiren senaryolar her zaman olacaktır.

  • Bu bulut çağrıları gerçekleştiğinde bütçenizi öngörülebilir tutmak için önlemler almanız gerekir.

  • Firebase harcama sınırları tam da bu nedenle devreye girer.

  • Harcama sınırları sayesinde uygulamalarınızın maliyeti üzerinde daha ayrıntılı kontrol sahibi olabilirsiniz.

  • Bu sayede, proje genelinde geçerli olan genel bir bütçe ayarı ve yalnızca e-posta gönderen bütçe uyarıları yerine Firebase AI Logic gibi ayrı hizmetler için belirli bir bütçe sınırı belirleyebilirsiniz.

  • Harcamanız %100'e ulaştığında Firebase, beklenmedik faturaları önlemek için yapay zeka hizmetini otomatik olarak duraklatır.

  • Basit harcama sınırlarının ötesinde, çeşitli gelişmiş maliyet optimizasyonu stratejileri vardır.

  • Bugün vurgulamak istediğimiz özellik, Firebase AI Logic tetikleyicileri.

  • Peki ya arada özel bir mantığa ihtiyacınız varsa?

  • Bu, Firebase AI Logic tetikleyicileridir.

  • İçerik oluşturmadan önce veya sonra bir işlev çalıştırabilirsiniz.

  • Kullanıcıyı kontrol etmek, girişi filtrelemek, bağlam eklemek ve yanıtı ayarlamak için bu katmanı kullanabilirsiniz.

Gemini Live API ve model özellikleri

  • Maliyet optimizasyonu ve güvenlik konularını ele aldığımıza göre, şimdi model özelliklerine geçelim ve Firebase AI Logic'in neler sunduğuna bakalım.

  • Firebase AI Logic, bu çok formatlı deneyimleri desteklemek için üretime hazır modeller ve araçlardan oluşan kapsamlı bir katalog sunar.

  • Yüksek hızda akıl yürütme, metin, kod ve medya için Gemini 4 Argon, Gemini 3.1 Pro, Gemini 3.8 Flash ve diğer modelleri kullanabilirsiniz.

  • Ayrıca, Arama ve Haritalar Temellendirme'yi kullanarak bu modelleri gerçek dünya verilerine bağlayabilirsiniz.

  • Son olarak, ses için doğal metin okuma ve Gemini Live ses üretimi sunuyoruz.

  • Bir kez daha telefona geçelim.

  • Burada tatlı ve tuzlu yiyeceklerimiz var.

  • Pardon, o değil.

  • Tarifimiz için hızlı peynirli ketçaplı tostumuz hazır.

  • Kulağa lezzetli geliyor.

  • İlk olarak Live API'ye göz atalım.

  • Bu durumda, geri dönen videoyu kullanabiliriz ve "Hey Gemini, masada hangi malzemeler var?" diye sorabilirim.

  • Dizüstü bilgisayarınızın ekranındaki resme göre elinizdeki malzemeler ekmek, cheddar peyniri ve ketçap.

  • İşte böyle.

  • Tarifin ilk adımına başlayabilir miyim?

  • Evet.

  • İlk adım, mini fırınınızı veya ızgaranızı orta-yüksek ısıda önceden ısıtmaktır.

  • Teşekkür ederiz.

  • İşte böyle.

  • Bu durumda Live API kullanılıyordu ve ben kapatana kadar sohbet açık kalıyordu.

  • Göstermek istediğim diğer özellik ise sesle yazma, pardon, metin okuma.

  • Metin okuma özelliğiyle de bu örnekte yemek tarifi talimatlarını görüyoruz.

  • Bu nedenle, okumak yerine "Oluştur" veya "Konuş" düğmesine basabilirim. Böylece talimatların metni, metin okuma modeline gönderilir.

  • Ses üretilir ve cihaza geri gönderilir.

  • Oynatabilir, daha sonra kullanmak üzere önbelleğe alabilirim. Burada gördüğümüz gibi oynatılır.

  • 1.

  • Mini fırını veya ızgarayı orta-yüksek ısıda önceden ısıtın.

  • 2.

  • İki dilim ekmeği fırın tepsisine veya tost makinesi tepsisine yerleştirin.

  • Güzel.

  • Müthiş, değil mi?

  • Firebase AI Logic, bu tür harika özellikleri yalnızca birkaç satır kodla uygulamamıza olanak tanır.

  • Slaytlara geri dönelim.

  • Gemini Live API'nin nasıl çalıştığını gösterdik. Peki, ellerinizi kullanmadan yapay zeka destekli kampanya oluşturma deneyimi oluşturmak isterseniz ne yapmanız gerekir?

  • Gemini Live API, bu noktada devreye girerek çift yönlü sesli sohbetler oluşturmanıza olanak tanır.

  • Android uygulamanız, canlı mikrofon sesini ve kamera karelerini yukarı akış olarak yayınlayabilir ve doğal, düşük gecikmeli ve konuşma sesini gerçek zamanlı olarak geri alabilir.

  • Kotlin'de bu ayarı yapmak oldukça tanıdık gelecektir.

    val model = Firebase.ai.liveModel(
        modelName = "gemini-3.1-flash-live-preview",
        generationConfig = liveGenerationConfig {
            responseModality = ResponseModality.AUDIO
       },
       systemInstruction = "Your main job is to change the color...",
       tools = listOf(Tool.functionDeclarations(listOf(changeColorFunction)))
    )
    
    val session = model.connect(::handler)
    
    session.startAudioConversation(::handler)
    
    session.stopAudioConversation()
  • Sesli yanıtlar için yapılandırılmış bir canlı model örneği oluşturur ve bir akış işleyiciyle oturuma bağlanırsınız.

  • Burada vurgulamak istediğimiz en önemli nokta, SDK'nın tüm WebSocket işlemlerini ve akış protokollerini arka planda yönetmesidir.

  • Yani kodlamanız gerekmez, değil mi?

  • Satır yazmaya devam edin.

Firebase aracı becerileri ve önemli noktalar

  • Demolarımızı tamamlayıp uygulama geliştirmenin geleceğine bakarken iş akışınız için güçlü bir araç olan Firebase aracı becerilerini vurgulamak istiyoruz.

    # Execute to add agent capabilities to your workspace
    npx skills add firebase/agent-skills
  • Ayrıca Antigravity ve Android Studio kullananlar için Firebase AI Logic'i doğrudan ilk katılım akışına entegre ettik.

  • Özetlemek gerekirse, ilk olarak hemen geliştirmeye başlayın. İkinci olarak, bugün ele aldığımız güvenlik araçları gibi üretim araçlarından erken aşamalarda yararlanın. Üçüncü olarak, temsilci becerilerini mümkün olan her yerde kullanın.

  • Teşekkür ederiz.

Kod

Kod snippet'leri

"FriendlyMeals app demo" videosunda 05:14'teki Kotlin snippet'i
import com.google.firebase.Firebase
import com.google.firebase.ai.ai

@Composable
fun MagicBackpackGenerator() {
    var output by remember { mutableStateOf("") }

    LaunchedEffect(Unit) {

       val model=Firebase.ai.generativeModel("gemini-4-argon")

        val response = model.generateContent("Write a story about a magic backpack")

        output = response.text.toString()

    }
    MagicBackpackUI(output)
}
"Güvenlik ve istem yönetimi" videosunda 07:07'deki Kotlin snippet'i
class FireTravelApp : Application() {
   lateinit var appContainer: AppContainer
       private set
   override fun onCreate() {
       super.onCreate()
       if (BuildConfig.DEBUG) {
           Firebase.appCheck.installAppCheckProviderFactory(
               DebugAppCheckProviderFactory.getInstance()
           )
       } else {
           Firebase.appCheck.installAppCheckProviderFactory(
               PlayIntegrityAppCheckProviderFactory.getInstance()
           )
       }
       appContainer = AppContainer(this)
   }
}
"Güvenlik ve istem yönetimi" bölümünde 08:18'deki YAML snippet'i
---
model: 'gemini-3-flash'
input:
  schema:...
tools:...
---
{{role "system"}}
You're a storyteller that tells nice and joyful stories with happy endings.

{{role "user"}}
Create a story about {{topic}} with the length of {{length}} words in the {{language}} language.
"Güvenlik ve istem yönetimi" videosunda 08:54'teki Kotlin snippet'i
val generativeModel = Firebase.ai.templateGenerativeModel()

val response = generativeModel.generateContent("storyteller-v1",
    mapOf(
        "topic" to topic,
        "length" to length,
        "language" to language
    )
)

output.value = response.text
"Gemini Nano ile hibrit çıkarım" videosunda 15:09'daki Kotlin snippet'i
import com.google.firebase.Firebase
import com.google.firebase.ai.ai

@Composable
fun MagicBackpackGenerator() {
    var output by remember { mutableStateOf("") }

    LaunchedEffect(Unit) {

        val model = Firebase.ai.generativeModel(modelName = "gemini-3.8-flash",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE))

       val response = model.generateContent("Write a story about a magic backpack")

        output = response.text.toString()

    }
    MagicBackpackUI(output)
}
"Gemini Live API and model capabilities" videosunda 21:02'deki Kotlin snippet'i
val model = Firebase.ai.liveModel(
    modelName = "gemini-3.1-flash-live-preview",
    generationConfig = liveGenerationConfig {
        responseModality = ResponseModality.AUDIO
   },
   systemInstruction = "Your main job is to change the color...",
   tools = listOf(Tool.functionDeclarations(listOf(changeColorFunction)))
)

val session = model.connect(::handler)

session.startAudioConversation(::handler)

session.stopAudioConversation()
"Firebase aracı becerileri ve önemli çıkarımlar" videosunda 21:30'daki kabuk snippet'i
# Execute to add agent capabilities to your workspace
npx skills add firebase/agent-skills