WWDC20: CarPlay Uygulamaları
Yenilenen CarPlay teknolojisine göre uygulamalar geliştirin ve uygulama geliştirirken dikkat edeceğiniz püf noktalarını öğrenin.
Merhaba sevgili TurkishKit okuyucuları!👋 Bu yazımızda sizlere WWDC konferansında CarPlay kütüphanesine eklenen yeniliklerden bahsedeceğiz. CarPlay, iOS 14'ün gelmesi ile birlikte ayrı bir seviyeye ulaşmış diyebiliriz. Artık araba kullanmak asla sıkıcı olmayacak!
WWDC 2020 Haftasını Yakından Takip Edin!
TurkishKit Medium sayfamızı takip ederek WWDC 2020 haftası boyunca tanıtılan yeniliklerden anında haberdar olun. WWDC 2020 serimizi keşfetmek için aşağıdaki linke tıklamanız yeterli.
CarPlay mühendisleri bu sene hem CarPlay’e yeni uygulamalar eklemiş hem de var olan uygulamalarda geliştirmeler yapmışlar. Oturum, yaptıkları tüm yenilikleri sıralamakla başladı. Yenilikleri açmadan önce bir CarPlay uygulaması tasarlarken dikkat edilmesi gereken tasarım prensiplerine dikkat çektiler. Biz de onları hatırlayarak makalemize başlayalım
CarPlay Tasarım Prensipleri
Bir CarPlay uygulaması tasarlanırken programcılar çok dikkatli olmalıdır. Sonuçta bu uygulamalar bir arabanın sisteminde çalışacaktır ve herhangi bir hata kazalara yol açabilir.
- CarPlay uygulamaları sürücü için tasarlanmıştır. CarPlay uygulamaları basit olmalıdır ve sürücünün dikkatini dağıtmamalıdır. Bu uygulamalar sürücüyü yol boyunca eğlendirmek değil, ona yardım etmek için tasarlanmıştır.
- CarPlay uygulamaları kullanışlı ve basittir. CarPlay uygulamaları tek bir amaca yönelik uygulamalardır ve bu uygulamaları kullanmak son derece basittir. Sürücü tek bir dokunuşla veya konuşarak işlem yapabilmelidir.
- Uygulamanın ilk denemeleri her zaman simülatör olarak kullanılan bir cihazda olmalıdır. İlk denemeler için iPhone ve iPad gibi cihazlar kullanılmalıdır ve gereken düzeltmeler oradan yapılmalıdır.
- İlk uygulamanızı sadece CarPlay’de kullanmanız önerilir. Uygulamanız sadece CarPlay için tasarlanmıştır ve iPhone uygulaması olacak kapasitede olmamalıdır.
- UIKit kullanmanız gerekir. CarPlay uygulamaları şimdilik sadece UIKit ile kodlanılabilir.
Tasarım prensiplerine dikkat edilmesi gerekir. Bu hem uygulamanızı arabayla uyumlu hale getirecektir hem de uygulamanızın sürücüye yardım etmesini sağlayacaktır. Tasarım prensiplerini hatırladıktan sonra hiç zaman kaybetmeden yeniliklere geçelim.
CarPlay Template
iOS 14 ile birlikte WWDC 2020 konferansında CarPlay’de daha önceden var olan “Template”lerin geliştirilmesiyle birlikte yepyeni “Template”ler de geldi. Hatta, CarPlay deneyimini ayrı bir seviyeye çıkarabilmek için artık kullanıcılar, kendi “Template”lerini tasarlayabiliyor.
Audio Template
Yeni gelen API’lar ile birlikte artık dinlemek istediğiniz şarkıları ve okumak istediğiniz kitapları CarPlay’e söylemeniz yeterli. O sizin için otomatik olarak bir liste hazırlayacak ve deneyimiz boyunca sizi destekleyecektir.
Artık Playable API kullanarak kodladığınız uygulamaları CarPlay ekranına geçirebileceksinizdir. Bunu aşağıdaki kodu yazarak yapabilirsiniz:
Template Oluşturmak
Bu sene kişiselleştirmenin en çok ele alındığı alanlardan biri de CarPlay oldu. Artık kullanıcılar rahatlıkla kendi “Template”lerini oluşturabilecek ve araba ekranına ekleyebilecektir. Üstelik bunu yapmak çok kolaylaşmıştır.
Aşağıdaki kodu yazarak CarPlay’iniz için bir “List Template” oluşturabilirsiniz:
Tab Bar Template
Yeni çıkan Tab Bar Template, araba ekranınızın üstünde uygulamalar arası geçişi kolaylaştıracaktır. Bu tasarımın bir benzeri Mac cihazlarında vardır. CarPlay uygulamalarına ve ayarlarına Tab Bar Template aracılığıyla rahatlıkla ulaşabileceksinizdir. Bu sene “Tab Bar Template”inizi kişiselleştirebilecek, var olan seçeneklerin resmini değiştirebilecek ve yeni seçenekler ekleyebileceksinizdir.
Bir “Tab Bar Template’i oluşturmak istiyorsanız yapacağınız tek şey aşağıdaki kodu yazmak ve kendinize göre uyarlamaktır:
“Tab Bar Template”ini sürekli olarak update edebilirsiniz. Bu şekilde sıraya giren şarkılarınız her zaman yenilenir, sırada bir şarkıyı değiştirmek istiyorsanız bunu rahatlıkla yapabilirsiniz.
CPListItem: Listenize eklemek istediğiniz herhangi bir unsuru CPListItem ile ekleyebilirsiniz. Bu size dinamik değişimleri yapabilmenizi sağlayacaktır.
CPListImageRowItem: Listenize resim ekleyebileceksiniz ve listenizi kişisel zevklerinize göre bu komutla düzenleyebileceksiniz. Mesela bir kitabın kapağını eklemek istiyorsanız ekranınıza, CPListImageRowItem kullanarak yapabilirsiniz.
Listenizi sürekli değiştirebilmek için CPListItem ve CPListImageRowItem özelliklerini oluşturup şu şekilde kullanabilirsiniz:
Hatırlatma: Uygulamanızın bir işlemi bitirdiğini belirtmek için completion handler kullanmayı unutmayın!
Now Playing Template
Now playing ekranını kendinize göre kişiselleştirebilirsiniz! Yeni iOS 14 ile beraber CarPlay mühendisleri Now Playing ekranındaki butonları değiştirebileceğinizi ve yeni butonlar ekleyebileceğinizi belirtti.
- “Now Playing Template”i bir “shared instance” olarak geçmektedir. Uygulamanızda sadece bir tane “shared instance” olmalıdır.
- Uygulamanızın başlangıcında hemen bu “Template”i ayarlamanız gerekir. Bunun nedeni sistemin sizin yerinize “Now Playing Template”ini açıyor olmasıdır.
- Eğer Now Playing moduna başka bir uygulama geçerse, yeni sistem otomatik olarak Now Playing bar butonunu değiştirecektir ve yerine geçen uygulamanın özelliklerini koyacaktır.
- “Template” “stack” sınırlamaları olacaktır. Şarkı sırası kullanıcının hangi şarkıların geleceğini görebilmesi için ekranda “stack view” şeklinde belirecektir.
Kendi “Now Playing Template”inizi oluşturabilmek için aşağıdaki kodu düzenleyebilirsiniz.
Yeni Uygulamalar
Communication Uygulaması
Bu uygulama daha önceden de vardı ancak iOS 14 ile bir sürü yenilikler eklendi. Daha önceden ses algılamak ve insanları aramak için SiriKit ve CallKit kullanarak çalışan bu uygulama artık kişilerinizi gösterebiliyor ve mesajları size okuyup sesinizi algılayarak yanıtlar verebiliyor.
CPMessageListItem: Artık mesajlarınızda, kişilerin yanında seçenekler bulunacaktır. Bu seçenekler o kişiden gelen mesajları sessize alabilmenizi, o kişiyi arayabilmenizi ve önemli kişiler listesine ekleyebilmenizi sağlar.
Contact Template: Communication uygulamasına yeni bir ekleme olan Contact Template ile birlikte kişilerinize eklediğiniz insanların bilgilerinizi araba ekranınızda görebileceksiniz. Kişilere resim de ekleyebileceksiniz.
EV Charging Uygulaması
Bu uygulama size elektrik arabanızı sarj edebileceğiniz yerleri gösterecektir. Size en yakın olan istasyonları bulabilecek ve sizi oraya yönlendirebilecektir.
Parking Uygulaması
Bu uygulama size arabanızı park edebileceğiniz alanları gösterecektir. Boş parkı olan yerlere sizi yönlendirecektir.
Quick Food Ordering Uygulaması
Bu uygulama sizin yemek sipariş etmenizi kolaylaştıracaktır. Uygulamayı kullanarak restorana daha varmadan önce yemeğinizi sipariş edebilecek, sonra restorana gidip alabileceksinizdir. Bu uygulama aynı zamanda Maps kullanarak sizin yakınlarınızdaki restoranları size gösterecek ve sizi oraya yönlendirebilecektir.
Point of Interest Template
“Point of Interest Template”i haritadan size yakın olan ve gitmek isteyebileceğiniz yerleri size önerecektir. Bu lokasyonlara etiket ekleyebileceksinizdir ve haritayı yakınlaştırabileceksinizdir. Gitmek isteyebileceğiniz yerleri size bir liste halinde önerecektir. Bu lokasyonların detaylarına (telefon numarası gibi), lokasyona tıklayıp ulaşabileceksinizdir.
Birbirlerine yakın olan lokasyonları gruplayan bir API bulunmaktadır. Bu size bir bölgede nerelere gidebileceğiniz konusunda bilgi sağlar.
Bu noktada iPhone ile CarPlay arasındaki fark iPhone’un size etrafınızdaki tüm olasılıkları göstereceğidir. Ancak CarPlay, sizin ilginize göre gidebileceğiniz yerleri seçecektir ve daha kısa bir liste sunacaktır. Bu sizin araba kullanırken dikkatinizin dağılmamasını sağlayacaktır.
CarPlay, bir lokasyona işaret koyduğunuzda gideceğiniz lokasyonu değiştirir. Hedef lokasyonunu değiştirebilmek için aşağıdaki kodu yazabilirsiniz:
“Point of Interest Template”ini kodlamak tıpkı diğer “Template”ler gibi kolaydır. Bu noktada kullanıcının yakınlaştırma işlemini yapmasına ve lokasyonlara etiket eklemesine dikkat etmelisinizdir.
Lokasyonların seçilebilmesini sağlamak için lokasyonların yanına “select” butonu eklemeniz gerekir.
Not: Her değişikliğin sonunda CarPlay anında sistemini update edecektir. Bu şekilde oluşturduğunuz “Template”ler anında kullanılabilir olacaktır.
Information Template
Bu Template, uygulamaları kullandıktan sonra yapılan işlemlere özetleyen bir sonuç ekranıdır. Mesela yemek söyledikten sonra siparişinizin özetlerini geçebilir, bir lokasyon seçtikten sonra o lokasyonun bilgilerini gösterebilir veya şarj istasyonuna gitmek istiyorsanız bu konu hakkında size kısa bilgiler verebilir.
CarPlay Uygulamalarının Sınıflandırılması
- Tasarladığınız her CarPlay uygulamasını bir sınıfın içine koymanız gerekir. Mesela Audio uygulaması tasarlıyorsanız bunu mutlaka belirtmeniz gerekir.
- Her uygulama için sadece bir kategori seçebilirsiniz. Hem müzik çalan hem de size lokasyon öneren bir uygulama yapmamalısınızdır.
- Geliştireceğiniz uygulamalar CarPlay’in desteklediği türden uygulamalar ile sınırlıdır. Aynı zamanda CarPlay’de daha önce hiç kullanılmayan bir Template kullanamazsınız.
Bir WWDC makalemizin daha sonuna geldik🎊. Bu makalede CarPlay kütüphanesine yeni tanıtılan özelliklerden bahsettik ve yapılan yenilikleri konuştuk. Artık CarPlay ile arabanız tıpkı bir telefon gibi çalışabilecek ve size gerekli olan tüm bilgileri sağlayabilecektir. Bir sonraki makalede görüşmek üzere, iyi eğlenceler!🤟
Swift Öğrenin. Uygulama Geliştirin. Sınırların Ötesine Geçin.
Hem kod yazmaya yeni başlayanların hem de profesyonellerin rahatlıkla takip edebilecekleri 40 saatlik videolu eğitim ile Swift programlama dilini derinlemesine keşfedin. Eğitim boyunca karşılaşacağınız problemleri birebir online görüşmelerde çözün.