Mobil Geliştiricinin İsviçre Çakısı: HMS Core Toolkit

Sezer BOZKIR
Huawei Developers - Türkiye
6 min readJul 27, 2020

Merhabalar;

Android uygulamalar üzerine çalışırken debug yapmak, gereken kütüphaneleri projeye dahil etmek, dökümantasyon takip etmek ve daha birçok gereksinime ihtiyaç duyuyoruz. Bunları manuel olarak yapmak mümkün olsa da, bu konuda çok daha kullanışlı bir çözüm artık mümkün, “HMS Core Toolkit”.

HMS Core Toolkit Nedir?

Geliştiricilerin uygulamalarını geliştirmeleri esnasında, HMS entegrasyonu süresince ihtiyaç duyabilecekleri kod parçalarının, ek kütüphanelerin, debug ve test esnasındaki yardımcı servislerin toplandığı bir Android Studio eklentisidir.

HMS Core Toolkit’in Özellikleri Nelerdir?

  1. Sıfırdan oluşturulan bir uygulamaya HMS Core entegrasyonun nasıl yapıldığına dair kılavuz
  2. Geliştirmekte olduğunuz aplikasyon içerisine bağımlılıkları otomatik entegre edebilmeyi sağlayan araçlar
  3. Kitler hakkında örnek kodlar ile uygulamanız içerisinde uygulamalı ve hızlıca geliştirme sağlama
  4. GMS bağımlılıklarına sahip uygulamanız içerisinde G+H ya da direkt Huawei Core servisleri ile çalışabilecek şekilde entegrasyon
  5. Uygulamanın saf HMS cihazlarda test edilmesi çalıştırılabilmesi
  6. Uygulamaların saf HMS cihazlarda otomatik olarak testi ve bu test çıktılarını gözlemleme

Kurulum ve Başlangıç

Hadi incelemeye başlayalım…

Öncelikle plugin’i indirerek başlayalım. Plugin’i edinmenin 3yolu var,

ilki Android Studio market üzerinden yükleme,

ikincisi direkt olarak plugin’i Huawei’nin sitesi üzerinden indirerek kurulumunu yapma,

Son olarakta github üzerinden kaynak kodunu edinerek derleme.

Android Studio Üzerinden Yükleme:
Android Studio -> File -> Settings -> Plugins kısmında arama çubuğuna “HMS Core Toolkit” yazarak aratıyoruz:

Çıkan plugin’i kurduktan sonra Android Studio’yu yineden başlattığımızda “HMS” tabının geldiğini görüyoruz .

Huawei Resmi Sitesi Üzerinden Edinme:

Şu adres üzerinden HMS Core Toolkit sayfasına girip, “download now” diyoruz. Versionlar arasında en güncel olanı indirmenizi tavsiye ederim:

İndirme tamamlandıktan sonra,

Android Studio -> File -> Settings -> Plugins

kısmında “Install plugin from Disk” seçerek HMS Toolkit’i indirdiğiniz konumu göstermeniz yeterli:

Plugin kurulduktan sonra üst kısımda “HMS” sekmesinin oluşmuş olması gerekiyor:

Ayrıca plugin’in kaynak kodunu görmek, kendinize göre özelleştirmek isterseniz Github sayfasından detaylarına bakabilir, isterseniz kendiniz derleyip kullanabilirsiniz:

Giriş Yapmak

Plugin’i indirdikten sonra, kullanmaya başlayabilmek için Developer hesabınıza giriş yapmanız gerekmektedir:

Giriş yaptıktan sonra şu sayfayı gördüğünüzde plugin’i kullanmaya başlayabilirsiniz:

Configuration Wizard

HMS ekosistemi ile yeni tanışmış ve uygulama geliştirmeye karar vermiş kişiler düşünülerek oluşturulmuş bu panel sayesinde, sıfırdan bir uygulamanın nasıl oluşturulabileceğini adım adım takip edebilirsiniz:

Repository

Uygulamanız içerisinde kullanmak istediğiniz kitleri, arayüzden seçerek uygulamanıza entegre etmenize imkan veren bu kısım sayesinde sadece arayüzden seçim yapmanız yeterli.

Mesela, “Account Kit”i seçip, apply dedikten sonra, otomatik olarak HMS Core kaynaklarının build.gradle eklenmiş proje seviyesinde gradle dosyasına da gereken eklemeler yapılmış olarak görebiliyoruz:

Coding Asistant

Uygulamanız içerisinde entegre etmek istediğiniz kitleri nasıl entegre edip kullanmaya başlayabileceğinize dair detayları barındıran bu özellik sayesinde, projenize dökümantasyona girmeye ihtiyaç duymadan kitleri entegre edebilirsiniz.

Ayrıca son adımdaki “Scenario Description” sekmesi sayesinde, yaygın olarak kullanılan ilgili kitteki birçok özelliğin nasıl kullanılabileceğini ve uygulamanıza nasıl entegre edilebileceğinizi interaktif şekilde öğrenebilirsiniz.

sürükle ve bırak özelliği sayesinde, örnekleri kodun içerisine direkt aktarmak mümkün:

Cloud Debugging

Uygulamalarımızı geliştirme sürecinde cihazda test etmek için HMS Core Toolkit’in sağladığı bir diğer özellik olan cloud debugging sayesinde, saf-HMS cihazlarda, aplikasyonunuzu gerçek zamanlı test edebiliriz.

Cloud Testing

Yazdığımız uygulamaların 4 farklı testini otomatik olarak yapma imkanına sahibiz. Bu türler:

  • Compatibility Test
  • Stability Test
  • Performance Test
  • Consumption Test

Testin tamamlanmasının ardından, yanındaki sonuçlar butonunu kullanarak sonuçları ve detayları görüntüleyebilirsiniz.

HMS Convertor

Aslında HMS Core Toolkit’in asıl geliştirilme amacı da olan bu özelliği sayesinde, GMS bağımlılıklarını birçok kit için otomatik olarak tespit edip, bunları isterseniz direkt HMS servislerine, isterseniz de hem HMS hem de GMS kullanabileceğiniz bir yapıya çevirmek mümkün.

Burada projenizin büyüklüğüne göre biraz beklemeniz gerekebilir:

Burada karşımıza 3 seçenek çıkmakta.

  1. Add HMS API (HMS API First): Eğer bu seçeneği belirlerseniz, uygulamanın kurulduğu cihazda hem GMS hem HMS var ise öncelikli olarak HMS tercih edilecek bir yapı kurulacaktır.
  2. Add HMS API (GMS API First): Eğer bu seçeneği belirlerseniz, uygulamanın kurulduğu cihazda hem GMS hem HMS var ise öncelikli olarak GMS tercih edilecek bir yapı kurulacaktır.
  3. To HMS API: Eğer bu seçeneği belirlerseniz, uygulamanızdaki tüm GMS bağımlılıkları kaldırılacak, yerine HMS kitleri ve servisleri entegre edilecektir.

Hangi servisi seçeceğinize emin olamadıysanız bu link üzerinden daha detaylı bilgi edinebilirsiniz.

Kodun, otomatik olarak dönüştürebilecek kısmı, size şu şekilde gösterilerek, kontrol etmeniz için yanındaki tik işaretlenmemiş olarak geliyor, kontrol ettikten sonra onay verdiğinizde otomatik olarak uygulanıyor:

Bazı kısımlar ise otomatik dönüşüme uygun olmadığı için, sizden kontrol edip manuel olarak dönüştürmeniz isteniyor:

Eklentinin yaptığı otomatik değişiklikleri görmek için, ilgili satıra çift tıkladığınızda, karşılaştırmalı olarak size yaptığı değişiklikleri yeni bir pencerede sunuyor:

Eğer projenizde birşeyler yanlış giderse ve önceki sürüme dönmek isterseniz de tek yapmanız gereken, panelden “restore project”i seçerek, backup aldığınız konumu göstermek:

Tüm bu özellikler sayesinde, geliştirme yaparken, HMS entegrasyonu için ihtiyacımız olan tüm döküman ve kodların bir eklenti üzerinden sağlanabilmiş olması, geliştirme esnasında konforu artıran etmenlerden oluyor.

Soru ve sorunlarınız için admin@sezerbozkir.com ya da Huawei developer forum üzerinden ulaşabilirsiniz…

Bir sonraki yazımda görüşmek dileğiyle :)

--

--