Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Store analiz API'sini kullanarak sizin veya kuruluşunuzun Windows İş Ortağı Merkezi hesabına kayıtlı uygulamaların analiz verilerini program aracılığıyla alın. Bu API, uygulama ve eklenti (uygulama içi ürün veya IAP olarak da bilinir) alımları, hataları, uygulama derecelendirmeleri ve incelemeleri için veri almanızı sağlar. Bu API, uygulama veya hizmetinizden gelen çağrıların kimliğini doğrulamak için Microsoft Entra kullanır.
Aşağıdaki adımlar uçtan uca işlemi açıklar:
- Tüm önkoşullarıtamamladığınızdan emin olun.
- Microsoft Store analiz API'sinde bir yöntem çağırmadan önce bir Microsoft Entra erişim belirteci edinin. Belirteci aldıktan sonra, belirtecin süresi dolmadan önce Microsoft Store analiz API'sine yapılan çağrılarda bu belirteci kullanmak için 60 dakikanız vardır. Belirtecin süresi dolduktan sonra yeni bir belirteç oluşturabilirsiniz.
- Microsoft Store analiz API'siniçağırın.
1. Adım: Microsoft Store analiz API'sini kullanmak için önkoşulları tamamlayın
Microsoft Store analiz API'sini çağırmak için kod yazmaya başlamadan önce aşağıdaki önkoşulları tamamladığınızdan emin olun.
Sizin (veya kuruluşunuzun) bir Microsoft Entra dizinine sahip olması ve dizin için Genel yönetici izniniz olması gerekir. Microsoft 365 veya Microsoft'un diğer iş hizmetlerini zaten kullanıyorsanız, zaten bir Microsoft Entra dizininiz vardır. Aksi takdirde, ek ücret ödemeden Partner Center'da yeni bir tane oluşturabilirsiniz.
Bir Microsoft Entra uygulamasını İş Ortağı Merkezi hesabınızla ilişkilendirmeniz, uygulamanın kiracı kimliğini ve istemci kimliğini almanız ve bir anahtar oluşturmanız gerekir. Microsoft Entra uygulaması, Microsoft Store analiz API'sini çağırmak istediğiniz uygulamayı veya hizmeti temsil eder. API'ye geçirdiğiniz bir Microsoft Entra erişim belirtecini almak için kiracı kimliğine, istemci kimliğine ve anahtara ihtiyacınız vardır.
Not
Bu görevi yalnızca bir kez gerçekleştirmeniz gerekir. Kiracı kimliğiniz, istemci kimliğiniz ve anahtarınız olduktan sonra, yeni bir Microsoft Entra erişim belirteci oluşturmanız gerektiğinde bunları yeniden kullanabilirsiniz.
Bir Microsoft Entra uygulamasını İş Ortağı Merkezi hesabınızla ilişkilendirmek ve gerekli değerleri almak için:
- İş Ortağı Merkezi'nde kuruluşunuzun İş Ortağı Merkezi hesabını kuruluşunuzun Microsoft Entra diziniile ilişkilendirin.
- Ardından, İş Ortağı Merkezi'nin Hesap ayarları bölümündeki Kullanıcılar sayfasından İş Ortağı Merkezi hesabınızın analiz verilerine erişmek için kullanacağınız uygulama veya hizmeti temsil eden Microsoft Entra uygulama ekleyin. Bu uygulamaya Yöneticisi rolü atadığınızdan emin olun. Uygulama henüz Microsoft Entra dizininizde yoksa, İş Ortağı Merkezi'nde yeni bir Microsoft Entra uygulamasıoluşturabilirsiniz.
- Kullanıcılar Yönetimi sayfasına dönün ve Microsoft Entra uygulamaları sekmesine gidin, uygulama ayarlarına gitmek için Microsoft Entra uygulamanızın adına tıklayın ve Kiracı Kimliği ve İstemci Kimliği değerlerini kopyalayın.
- Yeni anahtar ekletıklayın. Aşağıdaki ekranda Anahtarı değerini kopyalayın. Bu sayfadan ayrıldıktan sonra bu bilgilere yeniden erişemezsiniz. Daha fazla bilgi için bkz. Microsoft Entra uygulaması için anahtarları yönetme.
2. Adım: Microsoft Entra erişim belirtecini alma
Microsoft Store analiz API'sindeki yöntemlerden herhangi birini çağırmadan önce, API'deki her yöntemin Yetkilendirme üst bilgisine geçirdiğiniz bir Microsoft Entra erişim belirteci edinmeniz gerekir. Erişim belirtecini aldıktan sonra süresi dolmadan önce kullanmak için 60 dakikanız olur. Belirtecin süresi dolduktan sonra, belirteci yenileyebilir, böylece API'ye yapılan diğer çağrılarda kullanmaya devam edebilirsiniz.
Erişim belirtecini elde etmek için, İstemci Kimlik Bilgilerini Kullanarak Hizmetler Arası Çağrılar'deki yönergeleri takip edip https://login.microsoftonline.com/<tenant_id>/oauth2/token uç noktasına bir HTTP POST gönderin. Örnek bir istek aşağıda verilmiştir.
POST https://login.microsoftonline.com/<tenant_id>/oauth2/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
grant_type=client_credentials
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&resource=https://manage.devcenter.microsoft.com
POST URI'sindeki tenant_id değeri ile client_id ve client_secret parametreleri için, önceki bölümde İş Ortağı Merkezi'nden aldığınız kiracı kimliğini, istemci kimliğini ve uygulamanızın anahtarını belirtin.
kaynak parametresi için https://manage.devcenter.microsoft.combelirtmeniz gerekir.
Erişim belirtecinizin süresi dolduktan sonra, buradayönergelerini izleyerek erişim belirtecini yenileyebilirsiniz.
Not
ResourceType=Graph.windows.net Eylül 2023'te kullanım dışı bırakıldı. Lütfen ResourceType =Graph.microsoft.comöğesine geçin.
3. Adım: Microsoft Store analiz API'sini çağırma
Microsoft Entra erişim belirtecine sahip olduktan sonra Microsoft Store analiz API'sini çağırmaya hazırsınız. Erişim belirtecini her yöntemin Yetkilendirme üst bilgisine geçirmeniz gerekir.
UWP uygulamaları ve oyunları için yöntemler
Uygulama ve oyun alımları ile eklenti alımları için aşağıdaki yöntemler kullanılabilir:
- Oyunlarınız ve uygulamalarınız için alım verilerini alma
- Oyunlarınız ve uygulamalarınız için eklenti alım verilerini alma
UWP uygulamaları için yöntemler
aşağıdaki analiz yöntemleri İş Ortağı Merkezi'ndeki UWP uygulamaları için kullanılabilir.
| Senaryo | Yöntemler |
|---|---|
| Alımlar, dönüştürmeler, yüklemeler ve kullanım |
|
| Uygulama hataları | |
| Öngörüler | |
| Derecelendirmeler ve incelemeler | |
| Uygulama içi reklamlar ve reklam kampanyaları |
Masaüstü uygulamaları için yöntemler
Aşağıdaki analiz yöntemleri, Windows Masaüstü Uygulaması programına ait geliştirici hesapları tarafından kullanılabilir.
| Senaryo | Yöntemler |
|---|---|
| Yükler | |
| Bloklar | |
| Uygulama hataları | |
| Öngörüler |
Xbox Live hizmetleri için yöntemler
Aşağıdaki ek yöntemler, Xbox Live hizmetlerini kullanan oyunlarla geliştirici hesapları tarafından kullanılabilir. Xbox için Microsoft Store Analytics API'si artık kullanılamıyor. oyun/xbox-live/başlangıç/geliştirici-programına-katıl/geliştirici-programına-katıl_nav
| Senaryo | Yöntemler |
|---|---|
| Genel analiz |
|
Donanım ve sürücüler için yöntemler
Windows donanım panosu programına ait geliştirici hesapları donanım ve sürücüler için analiz verilerini almak için ek bir yöntem kümesine erişebilir. Daha fazla bilgi için bkz. Donanım kontrol paneli API.
Kod örneği
Aşağıdaki kod örneği, bir Microsoft Entra erişim belirtecinin nasıl alınacağını ve C# konsol uygulamasından Microsoft Store analiz API'sinin nasıl çağrılacağını açıklar. Bu kod örneğini kullanmak için tenantId, clientId, clientSecretve appID değişkenlerini senaryonuz için uygun değerlere atayın. Bu örnekte, Microsoft Store analiz API'si tarafından döndürülen JSON verilerinin seri durumdan çıkarılması için Newtonsoft'tan Json.NET paketi gerekir.
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
namespace TestAnalyticsAPI
{
class Program
{
static void Main(string[] args)
{
string tenantId = "<your tenant ID>";
string clientId = "<your client ID>";
string clientSecret = "<your secret>";
string scope = "https://manage.devcenter.microsoft.com";
// Retrieve an Azure AD access token
string accessToken = GetClientCredentialAccessToken(
tenantId,
clientId,
clientSecret,
scope).Result;
// This is your app's Store ID. This ID is available on
// the App identity page of the Dev Center dashboard.
string appID = "<your app's Store ID>";
DateTime startDate = DateTime.Parse("08-01-2015");
DateTime endDate = DateTime.Parse("11-01-2015");
int pageSize = 1000;
int startPageIndex = 0;
// Call the Windows Store analytics API
CallAnalyticsAPI(accessToken, appID, startDate, endDate, pageSize, startPageIndex);
Console.Read();
}
private static void CallAnalyticsAPI(string accessToken, string appID, DateTime startDate, DateTime endDate, int top, int skip)
{
string requestURI;
// Get app acquisitions
requestURI = string.Format(
"https://manage.devcenter.microsoft.com/v1.0/my/analytics/appacquisitions?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
appID, startDate, endDate, top, skip);
//// Get add-on acquisitions
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/inappacquisitions?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
//// Get app failures
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/failurehits?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
//// Get app ratings
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/ratings?applicationId={0}&startDate={1}&endDate={2}top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
//// Get app reviews
//requestURI = string.Format(
// "https://manage.devcenter.microsoft.com/v1.0/my/analytics/reviews?applicationId={0}&startDate={1}&endDate={2}&top={3}&skip={4}",
// appID, startDate, endDate, top, skip);
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, requestURI);
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
WebRequestHandler handler = new WebRequestHandler();
HttpClient httpClient = new HttpClient(handler);
HttpResponseMessage response = httpClient.SendAsync(requestMessage).Result;
Console.WriteLine(response);
Console.WriteLine(response.Content.ReadAsStringAsync().Result);
response.Dispose();
}
public static async Task<string> GetClientCredentialAccessToken(string tenantId, string clientId, string clientSecret, string scope)
{
string tokenEndpointFormat = "https://login.microsoftonline.com/{0}/oauth2/token";
string tokenEndpoint = string.Format(tokenEndpointFormat, tenantId);
dynamic result;
using (HttpClient client = new HttpClient())
{
string tokenUrl = tokenEndpoint;
using (
HttpRequestMessage request = new HttpRequestMessage(
HttpMethod.Post,
tokenUrl))
{
string content =
string.Format(
"grant_type=client_credentials&client_id={0}&client_secret={1}&resource={2}",
clientId,
clientSecret,
scope);
request.Content = new StringContent(content, Encoding.UTF8, "application/x-www-form-urlencoded");
using (HttpResponseMessage response = await client.SendAsync(request))
{
string responseContent = await response.Content.ReadAsStringAsync();
result = JsonConvert.DeserializeObject(responseContent);
}
}
}
return result.access_token;
}
}
}
Hata yanıtları
Microsoft Store analiz API'si, hata kodları ve iletiler içeren bir JSON nesnesinde hata yanıtları döndürür. Aşağıdaki örnekte, geçersiz bir parametrenin neden olduğu bir hata yanıtı gösterilmektedir.
{
"code":"BadRequest",
"data":[],
"details":[],
"innererror":{
"code":"InvalidQueryParameters",
"data":[
"top parameter cannot be more than 10000"
],
"details":[],
"message":"One or More Query Parameters has invalid values.",
"source":"AnalyticsAPI"
},
"message":"The calling client sent a bad request to the service.",
"source":"AnalyticsAPI"
}