Cloud DB’nin Unityde HMS Unity eklentisinin 2.0 Sürümüyle Entegrasyonu 1/3

Alihan98ersoy
Huawei Developers - Türkiye
4 min readJun 11, 2021

Sizlere bugünki yazımda Huawei’in resmi unity eklentisini kullanarak unity’e nasıl Cloud DB’yi entegre edebileceğimizi göstereceğim.

Nelere İhtiyacımız Var

· Unity 2019 or 2020

· Android SDK min 21 Net 4.x

· Huawei geliştirici hesabı

· Account kit, Auth Service, Cloud DB

Hadi başlayalım,

Öncelikle oynumuzu 5 adımda Huawei Mobil servislere bağlamamız gerekiyor. Bunlar:

  1. Huawei geliştirici hesabı edinme
  2. Huawei geliştirici konsoluna oyunu oluştur (bağlantıdaki ilk 4 adım)
  3. Eklentiyi Unity’e yükle

a. Eklentiyi indir.

b. Unityde projeyi aç.

c. Assets > Import Package> Custom Package den eklentiyi projeye ekle.

d. Çıkan pencerede hepsini seçip import seçeneğine tıkla. (Demoları projeye yüklemek sizin tercihinize kalmış)

4. agconnect-service.json dosyasını güncelle

Eklentinin çalışması için agconnect-service.json dosyası gerekiyor. AppGallery Connect konsolundan oyunumuzun en güncel agconnect-service.json dosyasını indiriyoruz ve projemizdeki Assets/StreamingAssets klasörüne atıyoruz.

AppGallery Connect konsolundan projeler kısmından oyunumuzda gerekli servislerin aktif olduğuna emin olun ondan sonra en güncel agconnect-service.json dosyasını indirebilirsiniz. (Örnek olarak Auth service’i aktif etmek)

5. Eklentideki HMS kit managerları sahneye ekle

Eklentinin çalışması için gerekli kitleri Huawei > Kits Settings sekmesinden seçmeniz gerekiyor.

Bunu yaptığınız takdirde otomatik olarak GameObject oluşur ve DontDestroyOnLoad olduğu için bu obje, sahne geçişlerinde objenin kaybolması konusunda endişelenmenize gerek yok.

Servisleri aktif ederken Cloud DB’nin betada olduğunu ve özel izin gerektirdiğini fark etmişsinizdir. Öncelikle gerekli başvuruyu yapıyoruz. Başvurumuz onaylanınca servisi aktif ediyoruz.

Cloud DB’yi kullanmak için Account Kit ve Auth Service niye ihtiyacımız var?

Oyunlarımızdan ve uygulamalarımızdan Cloud DB’ye erişmek için yetkili bir hesaba ihtiyacımız var. Bunun için Auth service’i kullanarak giriş yapıyoruz. Ama ben Huawei hesabımla da giriş yapmak istiyorum. Bunun için Account Kit’e de ihtiyaç duyuyorum.

Cloud DB‘ye Nesne Türü Ekleme ve Dışa Aktarma

Aşağıdaki örnek, AppGallery Connect konsolunda nesne türlerinin nasıl oluşturulacağını ve nesne türü dosyasının Android uygulama geliştirme için Java biçiminde nasıl dışa aktarılacağını gösterir.

1. AppGallery Connect'te oturum açın ve My projects'e tıklayın.

2. Proje listesinden projeyi seçin sonra oyununuzu seçin.

3. Gezinti çubuğunda Build > Cloud DB'yi seçin.

4. Nesne türü oluşturma sayfasına gitmek için Add'e tıklayın.

5. Nesne Türü Adını BookInfo olarak ayarlayın ve Next'e tıklayın.

6. +Add Field'e tıklayın, aşağıdaki alanları ekleyin ve Next'e tıklayın.

7.+Add Field’e tıklayın, Index Name'i bookName ve Indexed Field'i bookName olarak ayarlayın ve Next'e tıklayın.

8. Rol izinlerini aşağıdaki gibi ayarlayın ve Next'e tıklayın.

9. OK'a tıklayın.

Oluşturulan nesne türleri, nesne türü listesinde görüntülenir.

10. Export'a tıklayın.

11. JAVA'ya aktarılacak dosyanın biçimini ayarlayın.

12. Java dosya türünü Android olarak ayarlayın.

13. Paket adını JAVA dosyasına girin.

14. Export’a tıklayın.

Cloud DB Zone Oluşturma

AppGallery Connect konsolunda bir Cloud DB Zone oluşturabilirsiniz. Cloud DB Zone Name’i QuickStartDemo olarak ayarlamak için aşağıdaki adımları gerçekleştirin.

1. AppGallery Connect’te oturum açın ve My projects’e tıklayın.

2. Proje listesinden projeyi seçin sonra oyununuzu seçin.

3. Gezinti çubuğunda Build > Cloud DB’yi seçin.

4. Cloud DB Zones sekmesine tıkla.

5. Cloud DB zone oluşturma sayfasına gitmek için Add’e tıklayın.

6. Cloud DB Zone Name metin kutusuna QuickStartDemo’yu girin.

7. OK’a tıklayın.

Oluşturulan Cloud DB Zone, Cloud DB Zonelistesinde görüntülenir.

Şimdi, Unity içinde, eklentinin bir Cloud DB demo sahnesi var. Demo için, sahneyi açmamız ve CloudDBDemo.cs içindeki modelin paket uzantısını paket adımızla değiştirmeniz gerekiyor.

Sonunda, demo sahneyi denemek için her şey hazır. Fakat farklı bir nesne türü adı istiyorsanız, örneğin Öğrenciler, yapacak birkaç işimiz daha var :)

  • Öğrenciler nesne türü için yukarıdaki “Cloud DB‘ye Nesne Türü Ekleme ve Dışa Aktarma” adımlarını tekrarlıyoruz. Dışa aktardığımız java dosyalarını UnitydePlugins > Android klasörüne atıyoruz. (Böylelikle klasör içerisinde bulunan ObjectTypeInfoHelper.java dosyasını değiştirmiş oluyoruz.)
  • Şimdi Öğrenciler için C# modeli oluşturmamız lazım. Bunun için projemizdeki Huawei>Scripts>CloudDB klasörünü açıyoruz. Bu klasörde önceden BookInfo için hazırlanmış C# modeli var. Ondan kopya çekerek Öğrenciler Nesne Türüne uygun olarak C# modeli oluşturuyoruz.

Son olarak, CloudDBDemo.cs ve HMSCloudDBManager.cs içindeki her BookInfo'yu Öğrenciler olarak değiştirmeliyiz.

(Yalnızca bu iki dosyada değişiklik yapın, yanlışlıkla tüm projede yapmamaya dikkat edin!)

Küçük Bir Tavsiye:

Öncelikle referansları dikkatlice incelemelisiniz. Ben bu makaleyi hepsini bir araya getirirken sizlere yardımcı olsun diye kaleme aldım. Umarımki yardımcı olabilmişimdir :)

Özet olarak, bu makalede sizlere Unity için hazırlanmış resmi HMS eklentisini kullanarak kısaca Cloud DB’yi nasıl kullanabileceğinizi anlattım. Daha detaylı kullanım için eklentinin içerisindeki demo sahneleri incelemenizi tavsiye ediyorum.

Sorunuz varsa sormaktan çekinmeyin.

Referanslar:

Part2: Unityde Cloud DB Kullanımı

Part3: Huawei Cloud DB ile Unityde Çok Oyunculu 3 Taş Oyunu

--

--