Diğer Unity API'leri

Önemli

Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.

Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.

Günlük düzeyini ayarlama

Konsoldaki App Center'dan görüntülenen günlük iletilerinin sayısını denetleyebilirsiniz. Hata ayıklama sırasında LogLevelek günlüğe kaydetmeyi etkinleştirmek için -API kullanın. Varsayılan olarak, App Store ortamları için olarak ayarlanır ASSERT ve WARN aksi takdirde.

Mümkün olduğunca çok günlük iletisi almak için App Center ayarlarında veya kodunuzun içinde etkinleştirin LogLevel.Verbose .

AppCenter.LogLevel = LogLevel.Verbose;

Yüklemeleri tanımlama

Uygulama yüklendikten sonra App Center SDK'sı her cihaz için bir UUID oluşturur. Bu tanımlayıcı, uygulama güncelleştirildiğinde cihaz için aynı kalır. Yeni tanımlayıcı yalnızca uygulama yeniden yüklendiğinde oluşturulur. Aşağıdaki API, hata ayıklama amacıyla yararlıdır.

System.Guid? installId = await AppCenter.GetInstallIdAsync();

Kullanıcıları tanımlama

App Center SDK'sı, kilitlenme raporlarını artırmak için kullanılan bir kullanıcı kimliği ayarlamayı destekler. Bu özelliği kullanmak için:

  1. App Center SDK'sını App Center SDK'sını Kullanmaya Başlama kılavuzunda açıklandığı gibi yapılandırın.
  2. Aşağıdaki kodu kullanarak SDK'da bir userID ayarlayın:
AppCenter.SetUserId("your-user-id");

Kullanıcı kimliği ayarladıktan sonra, kimliğin belirli kilitlenme raporlarını aramak için App Center'ın arama özelliğini kullanabilirsiniz. App Center'ın arama belgelerinde daha fazla bilgi edinin.

Not

Kullanıcı kimliği değeri 256 karakterle sınırlıdır. Kilitlenme raporlarınızla birlikte gösterilir, ancak etkilenen kullanıcıların toplama veya sayılarında kullanılmaz. Kullanıcı kimliğini birden çok kez ayarlamanız durumunda, yalnızca son kullanıcı kimliği kullanılır. Bu değer SDK tarafından başlatmalar arasında depolanmadığından, her uygulama başlatılmadan önce kullanıcı kimliğini kendiniz ayarlamanız gerekir.

Çalışma zamanında tüm hizmetleri devre dışı bırakma

Tüm App Center hizmetlerini aynı anda devre dışı bırakmak istiyorsanız özelliğini kullanın Enabled . Devre dışı bırakıldığında SDK, App Center'a herhangi bir bilgi iletmez.

AppCenter.SetEnabledAsync(false);

Tüm hizmetleri bir kerede etkinleştirmek için aynı API'yi kullanın ancak parametre olarak geçirin true .

AppCenter.SetEnabledAsync(true);

Diğer API çağrılarının (örneğin IsEnabledAsync) tutarlı olması için bu çağrıyı beklemeniz gerekmez.

Durum, uygulama başlatmaları arasında cihazın depolama alanında kalıcı hale getirilir.

Çalışma zamanında hizmetin durumunu değiştirme

Aşağıdaki kodla çalışma zamanında hizmeti etkinleştirebilir veya devre dışı bırakabilirsiniz:

Analytics.SetEnabledAsync(true);

Ağ isteklerine izin verme

App Center SDK'sında ağ isteklerine varsayılan olarak izin verilir. App Center SDK'sının kullanıcı endişesi tarafından topladığı verileri göndermek istiyorsanız, otomatik veri göndermeye izin verilmiyebilirsiniz.

AppCenter.IsNetworkRequestsAllowed = false;

Bu durumda App Center SDK'sı veri toplamaya devam eder ancak yalnızca ağ isteklerine izin verildiğinde gönderilir.

AppCenter.IsNetworkRequestsAllowed = true;

Not

Bu değer başlangıçlar arasında korunur.

İstediğiniz zaman App Center SDK'sında veri göndermeye izin verilip verilmeyeceğini de kontrol edebilirsiniz.

AppCenter.IsNetworkRequestsAllowed;

Not

Daha önce içinde SharedPreferences kaydedilen değer, Android platformunda başlatılana kadar AppCenter yoksayılır. AppCenter başlamadan önce değerin değiştirilmediği veya true kullanılarak AppCenter.IsNetworkRequestsAllowed = allowed son değer kümesini döndürür.

App Center'ın etkin olup olmadığını denetleyin

App Center'ın etkinleştirilip etkinleştirilmediğini de de de kontrol edebilirsiniz.

bool enabled = await AppCenter.IsEnabledAsync();

Çalışma zamanında App Center SDK sürümünü denetleme

Şu anda kullanmakta olduğunuz App Center SDK sürümünü alabilirsiniz.

AppCenter.SdkVersion;

App Center'ın başlatılmasını geciktirme

App Center'ın başlatılmasını AppCenterBehavior başlayana kadar geciktirmek istediğiniz durumlar olabilir. Örneğin, herhangi bir App Center hizmetini başlatmadan önce kullanıcı onayı istemek istiyorsanız.
Bunu yapmak için AppCenterBehaviorAdvanced öğesini oyun nesnesine ekleyin ve iOS/Android uygulamasından yerel SDK başlat onay kutularını işaretleyin. Bu, SDK'yı StartAppCenterBehavior yönteminde başlatır ve özel bir iletişim kutusu veya başka bir mantık eklemenize olanak tanır.

İpucu

Ayarları derleme zamanında oluşturursanız, başka bir yol da Player Ayarları>Diğer Ayarlar>Betik Oluşturma Simgeleri Tanımla seçeneğine gidip yapıştırmaktır APPCENTER_DONT_USE_NATIVE_STARTER.

Unity SDK'sında zaman uyumsuz API'ler

Zaman uyumsuz API'ler sonucu doğrudan döndürmek yerine bir AppCenterTask nesne döndürür ve eylemin bitmesi için beklemek yerine hemen döndürür.

Bu yöntemlerle etkileşim kurmanın üç yolu vardır.

Yöntem 1: ContinueWith

'nin etkinliği tamamlandıktan sonra AppCenterTaskbir eylem gerçekleştirmek için yöntemini kullanarak ContinueWith bir geri çağırma ekleyin.

Örnek:

AppCenter.IsEnabledAsync().ContinueWith(task =>
{
    // Do something with task.Result
});

Yöntemin gerçek bir dönüş değerine sahip olduğu durumlarda, döndürür AppCenterTask<{Return Type}> (yukarıdaki örnekte olduğu gibi). Bu gibi durumlarda, geri çağırmadaki görev parametresinin erişebileceğiniz bir Result özelliği olur.

Yöntem 2: Yerleşik dil özellikleri

.NET 4.6 veya sonraki sürümlerine erişimi olan bir kod yazıyorsanız, AppCenterTask zaman uyumsuz bir bağlamda edilebilir await.

Örnek:

bool isEnabled = await AppCenter.IsEnabledAsync();

Yöntem 3: Eş yordamlar

AppCenterTasks de eş yordamlarda kullanım için uygundur.

Örnek:

void SomeMethod()
{
    StartCoroutine(IsEnabledCoroutine());
}

IEnumerator IsEnabledCoroutine()
{
    var isEnabled = AppCenter.IsEnabledAsync();
    yield return isEnabled;

    // do something with the isEnabled
}