Android

AppGallery Connect Uzaktan Yapılandırma: Sorun yaşamadan uygulamanızı renklendirin

Bir uygulama geliştiricisi olarak uygulamanızın kullanıcıya yeni içerik sağlaması gerekebilir
ve ilgilerini çekecek ve uygulama deneyimini uygun hale getirecek işlevler
herkesin ihtiyacı, işte burada Uzaktan Yapılandırma devreye giriyor.

Sonuç olarak, AppGallery Connect Uzaktan Yapılandırma şunları yapabilir:

Parametreleri bulut üzerinden değiştirin, böylece cihazlara yüklenen uygulamalar, kullanıcıların uygulamayı güncellemesini gerektirmeden ve dolayısıyla uygulamanın kullanıma sunulmasını hızlandırarak, buluttan parametre güncellemelerini periyodik olarak alabilir.

Bu blog, uygulamayı değiştirmek için Uzaktan Yapılandırmayı nasıl kullanacağınızı gösterecektir.
uzaktan kuruluma dayalı özellikler. Huawei’nin AppGallery Connect’ini kullanarak
hızlı ve kolay bir şekilde kullanıcı özelliklerinden ve uzak koşullardan yararlanabilir
parametreleri buluttan değiştirin.

Android geliştiricisi olağan araç zinciriyle hızlı bir karşılaştırma olarak. AppGallery Connect’i (AGC) Firebase’in eşdeğeri olarak düşünebilirsiniz. Bu nedenle AGC konsolundan bahsettiğimde, bunu Firebase konsoluyla karşılaştırabilirsiniz. Her iki konsolda da analitik, kilitlenme analizi, uzaktan yapılandırma, derin bağlantı ile anında iletme bildirimleri, uygulama içi mesajlaşma ve çok daha fazlası gibi özelliklere erişebilirsiniz!.

Firebase Remote Config’i kullandıysanız, Huawei AGC Remote Configuration’ın kullanımı da aynı derecede kolaydır. Firebase kullanmadıysanız önemli değil! AGC Uzaktan Yapılandırma, sezgisel ve basit bir API’ye sahiptir. bu Bu blog yazısı için yazılmış örnek uygulama burada GitHub’da açık kaynak olarak mevcuttur.

Bununla .. hadi .. başlayalım .. başlayalım!

AppGallery Connect’te oturum açın/kaydolun

Yapılması gereken ilk şey sizin için kaydol ve/veya giriş yap AppGallery Connect’e gidin ve kimliğinizi doğrulayın (3 güne kadar sürebilir, bu nedenle bunun için plan yapın). Üzerinde çalışabileceğiniz bir Proje ve Uygulama oluşturduğunuzdan emin olun. Bunu daha önce yapmadıysanız, daha fazlasını buradan okuyabilirsiniz.

Bu yapıldıktan sonra, şuna benzeyen konsola erişebileceksiniz:

Uzaktan Yapılandırma kullanan Uygulama Oluşturun

Kullanıcı Arayüzünün nasıl düzenleneceğine karar vermek için Uzaktan Yapılandırma kullanan bir uygulama oluşturacağız. bu AGC Academy’nin burada bir video açıklaması var. Bu tipik bir Uzaktan Yapılandırma kullanım durumudur, belki de daha genel olarak tüm özellikleri değiştirirsiniz veya özellikleri açıp kapatmak için gezinme yollarını değiştirirsiniz, ancak burada öğreticiyi basit tutmak için bazı metinleri ve arka plan rengini değiştireceğiz.

Remote Config kullanan uygulama tamamlandığında.

Vasıtasıyla Uzaktan Yapılandırma çeşitli filtreler, geçmiş sürüm yönetimi ve gerçek zamanlı güncellemeler gibi uygulanabilecek çeşitli işlevler vardır.

Analitikte “Kullanıcı Nitelikleri” adı verilen bir şeye sahipsiniz, bunlar bir kullanıcı veya bir kullanıcı davranışı hakkında kullanıcı gruplarını ayırt etmenize ve ayırmanıza yardımcı olabilecek belirli ayrıntılardır. AGC Analitiği “Ülke/Bölge” adı verilen yerleşik bir Kullanıcı Özelliğine sahiptir ve bu, kullanıcılarınızı telefonlarının en son bağlandığı ağ donanımının IP adresine göre gruplandırmanıza olanak tanır.

Örneğin, bir futbol (futbol) uygulamanız olduğunu varsayalım, İskoçya’dan gelen taraftarlara kullanıcı arayüzünüzdeki İskoç bayrağını ana ekranda ve İngiltere’dekilere İngiliz bayrağını gösterebilirsiniz. Bunun İskoçya/İngiltere sınırı boyunca bazı IP uç durumları olabilir, bu bir sorundur, ancak daha büyük bir sorun, İskoçya’yı sadece tatil için ziyaret eden İspanyollar olacaktır! Bu sorunu özel Kullanıcı Nitelikleri adı verilen bir şeyle düzeltebiliriz.

“Ülke” için özel bir kullanıcı özniteliği oluşturmak, kişinin IP dışında bir şeye dayalı olarak nereli olduğunu belirlemenize olanak tanır. Demomuzda, ekranda bir EditText var ve bir ülke adı yazabilirsiniz (gerçek dünya senaryosunda bunu yazmazsınız, ancak belki aktif SIM ISO’dan veya Cihaz ayarı Yerel Ayarından çıkarsama yapabilirsiniz veya belki siz kullanıcının onu bir listeden seçmesini sağlayabilir.

Uzaktan Yapılandırma Konsolu Ayarlarını Yapılandırın

Bu özel kullanıcı özniteliğini oluşturmak için şuraya gidin: AppGallery Connect konsolu > Huawei Analytics > Kullanıcı Nitelikleri ve ‘oluştur’a basın. Daha sonra bir Kimlik, Ad ve Açıklama istenir. Ad ve Açıklama yalnızca insan amaçlıdır, bu kullanıcı özelliğini uygulamamızdan okuyabilmemiz/yazabilmemiz için kimlik anahtar olarak kullanılacaktır.

Aşağıdaki değerleri ayarlayın:

  • Kimlik = “ülke”
  • İsim = “Ülke”
  • Açıklama = “Şu anda bulundukları ülkeyi belirlediğimiz ülke.”

İşiniz bittiğinde şöyle bir şey görünecek:

Artık özel kullanıcı özniteliğimizi oluşturduğumuza göre. Remote Configuration’ımızdan filtreleme yapmak için kullanabiliriz.

Tekrar git AppGallery Connect konsolu > Büyüt > Uzaktan Yapılandırma, “Koşullar” sekmesini seçin ve ardından “Yeni koşul” düğmesine basın. Daha sonra bir Koşul ve Açıklama istenir, bunun altında filtre için kullanılacak koşulu seçebileceğiniz bir açılır menü bulunur. Aşağıdaki değerleri ayarlayın:

  • Koşul = “İngiltere Ülkesi”
  • Açıklama = “Ülkenin Kullanıcı Özelliği Birleşik Krallık olarak ayarlandığında geçerlidir.”
  • = “Kullanıcı Nitelikleri” > Ülke > Eşit > “İngiltere” öğesini seçin

İşiniz bittiğinde şöyle bir şey görünecek:

“Kaydet”e basın ve “Parametreler” sekmesine geri dönün.

İki parametre yapacağız, ilki konsolda doğru veya yanlış bir boole kümesi olacak standart bir uzaktan yapılandırma geçişi olacak. İkincisi de bir boole geçişi olacak, ancak doğru veya yanlış az önce yaptığımız koşula göre belirlenecek.

Bu değerleri oluşturmak için “yeni parametre” butonuna basınız. Ardından, uygulamamızda bu uzaktan yapılandırma parametresini referans almak için kullanacağımız anahtarın adı olan “Parametre” istenir. JSON veya herhangi bir ilkel değer türünü (String, Int vb.) alabilen bir “varsayılan değer”. Ve bu değerin ne için olduğunu hatırlamak için bir “açıklama”.

İlk özellik geçişi için aşağıdaki değerleri ayarlayın:

  • Parametre = “enable_feature_1234_cool” (ortak bir adlandırma şeması deneyin ve kullanın)
  • Varsayılan değer = “yanlış”
  • Açıklama = “1234 Özelliğini etkinleştirmek için doğru. Bu, bu harika yeni özelliği açacaktır.”

İkinci özellik geçişi için aşağıdaki değerleri ayarlayın:

  • Parametre = “enable_feature_1235_theme” (ortak bir adlandırma şeması kullanmayı deneyin)
  • Varsayılan değer = “yanlış”
  • Açıklama = “1235 Özelliğini etkinleştirmek için doğrudur. Bu, tema özelliğini açar.”
  • Koşullu Değer Ekle > Koşul = “Ülke Birleşik Krallık”, Değer = “doğru”

İşiniz bittiğinde şöyle bir şey görünecek:

Uygulamayı Kur ve Başlat

Artık tüm konsol yapılandırması tamamlandığında, Android uygulamasını oluşturmaya başlayabiliriz! AppGallery Connect hizmetlerini hala Android uygulamanıza eklemediyseniz (eklenti ve hizmetler json dosyasını ekleyerek), daha fazlasını buradan okuyabilirsiniz. Bu kalıbı tanıyabilirsiniz. Bu, Firebase’i projenize ilk eklediğinizde yapmanız gerekenle aynı işlemdir. bu örnek proje ayrıca, yapılandırmanızın json ayrıştırmasını yapmak için agconnect eklentisini ekleyerek bu şekilde kurulur.

/build.gradle:

buildscript { 
  repositories { 
    ...
    maven {url 'https://developer.huawei.com/repo/'} 
  } 
}

buildscript { 
  dependencies { 
    ...
    classpath 'com.huawei.agconnect:agcp:1.5.2.300'
  } 
}

/app/build.gradle:

dependencies {
  implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300'
  ...

Uygulamada Uzaktan Yapılandırma Oluştur

Kullanıcı Öznitelikleriyle Uzaktan Yapılandırmayı kullanmak için, uzaktan yapılandırma ve yüksek analitiklerin projenize bağımlılıklar olarak eklenmesi gerekir:

dependencies {
  ...
  implementation 'com.huawei.agconnect:agconnect-remoteconfig:1.5.2.300'
  implementation 'com.huawei.hms:hianalytics:6.0.0.300' 
  ...

Ardından, ‘ülke’ Kullanıcı Özelliğini göstermemize ve düzenlememize izin veren bir düzen oluşturuyoruz. 1234 özelliğimizin durumunu göstermek için bir TextView ve şu anda alınan uzak konfigürasyonun yenilenmesini zorlamak için bir Düğme ekledik. Kök görünümün bir kimliği olduğundan emin oluruz, böylece arka plan rengini değiştirebiliriz.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/content_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">

    <TextView
        android:id="@+id/text_explanation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This would usually be a value hidden from the user. But for the sake of the demo you can change it here. Refresh the config after changing the value. User country:"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="User country (try 'Spain' or 'UK'):"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@id/text_explanation">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/edit_text_one"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Spain" />

    </com.google.android.material.textfield.TextInputLayout>

    <TextView
        android:id="@+id/text_view_one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button_one"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onRefreshConfigClick"
        android:text="Refresh Remote Configuration"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Az önce oluşturduğumuz XML düzeni.

Uzaktan Yapılandırmayı kullanmak için bir örneğine ihtiyacımız var. AGConnectConfig (API belgesi) ve UserAttributes’ı almak/ayarlamak için bir örneğini kullanırız. HiAnalyticsInstance (API belgesi).

private lateinit var config: AGConnectConfig
private lateinit var analytics: HiAnalyticsInstance

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    config = AGConnectConfig.getInstance()
    analytics = HiAnalytics.getInstance(this)
    ...

UI yüklendiğinde, EditText’in mevcut Ülke Kullanıcı Niteliğini göstermesini istiyoruz ve yenileme düğmesine basıldığında, en son yazılan Ülkeyi kaydetmek istiyoruz. HiAnalyticsInstance API’sinde bir UserAttribute, UserProfile olarak adlandırılır.

val currentCountry = analytics.getUserProfiles(false)["country"] ?: "Spain"

val editTextOne: EditText = findViewById(R.id.edit_text_one)
val currentCountry = editTextOne.text.toString()
// This sets the custom UserAttribute 'country' we created in the console
analytics.setUserProfile("country", currentCountry)

Artık kullanıcıların ülkesini her değiştiğinde ayarlıyoruz, bu, “enable_feature_1235_theme” için uzaktan yapılandırmayı getirirsek, bize doğru veya yanlış gönderirken hangi ülkede olduklarını hesaba katacağı anlamına gelir. Karşılaştırıldığında, “enable_feature_1234_cool” öğesini getirirsek, bunu konsolda açıkça ayarladığımız için her zaman ‘false’ döndürür. Uzaktan Yapılandırma ile bu boolean değerlerin ikisini de şu şekilde alırsınız:

val enableFeature = config.getValueAsBoolean("enable_feature_1234_cool")
val textView: TextView = findViewById(R.id.text_view_one)
if (enableFeature) {
    textView.text = "Feature Enabled! (Go to the console to toggle this)"
} else {
    textView.text = "Feature Disabled! (Go to the console to toggle this)"
}

val enableFeature1235 = config.getValueAsBoolean("enable_feature_1235_theme")
val contentMain: ViewGroup = findViewById(R.id.content_main)
if (enableFeature1235) {
 contentMain.setBackgroundColor(Color.parseColor("#22FF0000"))
 Toast.makeText(this, "Welcome to the UK!", Toast.LENGTH_SHORT).show()
} else {
 contentMain.setBackgroundColor(Color.parseColor("#2200FF00"))
 Toast.makeText(this, "Goodbye!", Toast.LENGTH_SHORT).show()
}

Son olarak, düğmeye basıldığında uzak konfigürasyonun yenilenmesini zorlayacağız. Bu genellikle bir üretim uygulamasında gerekli değildir, çünkü makul bir yenileme süresine sahip olursunuz ve kitaplık sizin için otomatik olarak bu yapılandırmadaki güncellemeleri kontrol eder. Ancak demo amacıyla, ülkeyi değiştirmenin nasıl bir etkisi olduğunu görebilmemiz için yenilemeyi zorlamak istiyoruz.

config.fetch(0) // a value of 0 here is for DEBUGGING ONLY, delete for prod (giving a 12 hour refresh period)
    .addOnSuccessListener {
        config.apply(it)
        Log.d(TAG, "Applied")
        updateUIBasedOnRemoteConfig()
    }

Çözüm

Bu kadar! Yukarıda gördüğünüz tüm kodlar GitHub’da burada mevcuttur. Özel Kullanıcı Niteliklerini dikkate alan bir Uzak Yapılandırma oluşturmak için AppGallery Connect konsolunu kullanabildiniz ve bunu uygulamanızdaki özellikleri açıp kapatmak için kullanabildiniz. Sadece birkaç kod satırı ile SDK entegrasyonunu destekler, servise kolayca erişebilirsiniz.

Dahası, AppGallery Connect hizmetleri Android, web,
ve Flutter dahil olmak üzere çapraz platform çerçevesine sahip hızlı uygulamalar,
Cordova ve React Native.

Tam açıklama notu: Bu yazıyı Huawei ile ortaklaşa yazdım ve duyurmaktan heyecan duyuyorlar AppGallery Connect Academy ve kullanımını teşvik etmek Uygulama Galerisi Bağlantısı.

Huawei AppGallery Connect’in bir Burada eğitim akademisi, bu harika özellikleri kavramanıza yardımcı olacak yazılı makaleler, belgeler ve video açıklamaları olarak sunulan materyallerle. AB Testi, Uygulama İçi Mesajlaşma, Uygulama Derin Bağlantısı ve Uzaktan Yapılandırmayı kullanmanın daha fazla yolu dahil çok daha fazlası var.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu