Android Uygulamalara Huawei Mobile Services Entegrasyonu

Hüseyin Serkan Özaydin
4 min readDec 30, 2020

Merhabalar, bu yazım da sıfırdan bir Android uygulamaya veya daha önce yazılmış bir uygulamaya hangi ihtiyaçlar doğrultusunda Huawei Mobile Services(HMS) entegrasyonu yapmanız gerektiğinden bahsedeceğim. Bu konudan sonra ilgili işlerimleri nasıl yapacağınızı anlatan yazıları ve kaynakları paylaşacağım.

Google ile Huawei arasında olan problemleri biliyorsunuz detaylandırmaya gerek yok. Bundan dolayı Huawei Android işletim sistemi olan bazı yeni telefonlara artık Google Play Services hizmeti veremiyor. Bundan dolayı Huawei kendi çözümlerini developerlar ile paylaşıyor. Sunduğu çözümler için Medium’da bulunan Huawei profilini takip etmenizi öneririm.

Peki hangi durumlarda Android uygulamalara Huawei servislerini eklemeliyiz?

Arkadaşlar bazı Google çözümlerinde Google Play Services kullanılmıyor. Bundan dolayı Google Play Services hizmeti gerektirmeyen Google çözümlerini Huawei telefonlarında kullanabilirsiniz.

Google Play Services Gerektirmeyen Çözümler (Versiyon numaralarına dikkat!!)

Google Play Services Gerektiren Çözümler (Versiyon numaralarına dikkat!!)

Görselleri aldığım link aşağıdadır;

Projelerimizde Google Play Services hizmeti gerektiren 2 Google çözümü kullandığımız için bu çözümlerde Huawei çözümlerinide kullanmamız gerekiyordu. Bunlar sırası ile şöyle;

  • Push Notification (FCM)
  • Google Maps

Bu iki servisinde Huawei’de çözümleri var. Sırası ile ilgili çözümler şunlar;

  • Push Kit
  • Map Kit

Peki ben Google Play Servislerini kullanan telefon ile HMS kullanan telefonları nasıl ayıracağım? Yada Huawei telefonlarda şu Google telefonlarda şu çalışsın gibi işlemi nasıl yapacağım?

Bunun için bir kaynak var onu paylaşayım. İlgili implementasyon detaylı şekilde yazılmış.

Push Kit

Bu özelliği projenize eklemek oldukça basit eğer projelerinizin backendide push notification gönderiyor ise backendinizinde Push Kit entegrasyonu yapması gerekiyor. Merak etmeyin Push Kit, Push Notification’ın sunduğu tüm çözümleri sunuyor. Örneğin topic, pns token vb.

Huawei’nin backend projelerinde Push Kit entegrasyonunu nasıl yapılacağını anlattığı örneklerin linki;

Android projelerin Push Kit entegrasyonunun nasıl yapılacağının anlatıldığı link;

Yok ben bunlarla uğraşamam derseniz bazı Push Notification kabuk hizmetleri mevcut. Bunlar birisi OneSignal. Backend ve client buraya bağlanır ve geri kalan herşeyi OneSignal halleder.

Google Maps

Projelerimizde Google Maps kullandığımız için Huawei telefonlarda Map Kit kullanmamız gerekiyordu. Aşağıdaki örnekte nasıl implement edeceğimiz mevcut;

Lakin böyle bir ayrıma gitmek yerine projelerimize Yandex Map entegrasyonu yapmaya kadar verdik. Hem Huawei hemde Google telefonlarında bu hizmet çalışıyor. İki hizmeti aynı anda yürüteceğimize tek hizmet kullanmak daha mantıklı geldi. Hemde daha ucuz. Yöneticilerinizi vurabileceğiniz taktiğide vermiş oldum :)

Buraya kadar herşey çok güzel ama şu var eskiden bir apk çıkarıp sadece Google Play’e yüklüyorduk ama şimdi 2 apk çıkarıp Google Play ve App Gallery’e yüklememiz gerekiyor. Bu çok basit gözüksede oldukça sıkıntılı bir süreç. Çünkü Google Play’e hangi versiyon yüklendi App Gallery’de ki son versiyon ne gibi bir sürece girmek bizi bayağı yoracaktır. Bunun için bazı CI/CD süreçleri var.

Huawei Telefon

Evet yukarıda neyi nasıl yapmanız gerektiğini öğrendiniz. Peki testi nasıl yapacaksınız? Android Studio emülatörünü kullanamazsınız. Huawei bunu da düşünmüş. Çözüm için link;

Not: App Gallery’de bir developer hesabınızın olması lazım

Huawei İle İlgili Akıldaki Sorular

Çok fazla soru oluyor bu konu ile ilgili bunun için ise şöyle bir yazı var;

CI/CD Süreçleri

App Center

Şuan bu servis App Gallery’e deploy hizmeti vermiyor. Bunun için bir istekte bulundum eğer sizde kullanıyorsanız bu hizmeti bu isteğime destek olarabilirsiniz.

Bitrise.io

Şuan adam akıllı deploy hizmeti veren tek servis bu. Eğer bir ci/cd süreci düşünüyorsanız tavsiye ederim. App Center bizi biraz yarı yolda bıraktı.

Fastlane

App Gallery için bir plugin yapmışlar ama kullanmadım

Şuan çalıştığım firmada çok fazla projemiz mevcut ve bundan dolayı yavaş yavaş projelerimize yukarıdaki entegrasyonu yapmaya başladık. Huawei telefon kullanan sayısı ülkemizde azımsanmayacak kadar fazla Android Developer olarak eninde sonunda bu entegrasyonları yapmanız gerekecektir.

Benden bu kadar eklememi istediğiniz başka bir bilgi var ise aşağıda belirtmeniz durumunda ekliyor olacağım :)

--

--