Google Mobil Veri Planı Paylaşım API'sı

Motivasyon

Google Mobil Veri Planı Paylaşımı API'si, bir operatörün kullanıcının (kullanıcı anahtarı ile tanımlanır) veri planıyla ilgili bilgileri GTAF'ye göndermesine olanak tanır. Bu sayfada, bu güncellemelerin GTAF'ye ve dolayısıyla Google uygulamalarına nasıl gönderilebileceği açıklanmaktadır. API şu anda DPA'nın, Google istemcisi tarafından kullanılmak üzere GTAF'ye veri planı durumu göndermesine olanak tanımaktadır.

Kimlik doğrulama

GTAF'ye gönderilen tüm Data Plan Sharing API isteklerinin, Google Cloud OAuth2 sunucusu kullanılarak kimlik doğrulaması yapılması gerekir. İstekler, DPA'nın temsil ettiği ASN için ISP Portal'da beyaz listeye alınmış bir hizmet hesabı olarak kimliği doğrulanmış olmalıdır. Google Cloud hizmet hesaplarıyla OAuth'un nasıl kullanılacağıyla ilgili dokümanlar için Google Cloud OAuth 2.0 for Service Accounts (Google Cloud Hizmet Hesapları için OAuth 2.0) başlıklı makaleyi inceleyin.

Veri planı güncellemeleri

Google Mobile Data Plan Sharing API, şu anda operatörlerin kullanıcıların veri planlarıyla ilgili güncellemeleri paylaşmasına olanak tanır:

  • Veri planı durumu: Kullanıcının veri planının mevcut durumunu gösterir. Örneğin, bir kullanıcının verileri tükeniyorsa operatör, GTAF'a bir veri planı durumu güncellemesi gönderebilir. Bu güncelleme, GTAF tarafından kullanıcıya plan durumu bildirimi göndermek için kullanılabilir.

API Açıklaması

Şekil 3. DPA, veri planı durumunu GTAF ile paylaştığında GTAF-DPA etkileşimi.

Uygulamalar, GTAF ile paylaşılan veri planı durumu bilgilerini iki şekilde alabilir:

  1. UE, veri planı durumu bilgileri için GTAF'yi arar:
    1. Operatörün DPA'sı, kullanıcının veri planı durumunu GTAF'ye aktarmak için Veri Planı Paylaşımı API'sini kullanır. GTAF, plan durumunu ve ilişkili kullanıcı anahtarını operatör tarafından belirtilen geçerlilik bitiş zamanına kadar saklar.
    2. UE'de çalışan Google uygulaması, Google'a ait bir API kullanarak veri planı durumu bilgilerini ister. Uygulama, isteğine kullanıcı anahtarını ekler.
    3. Uygulama, önbelleğe alınmış veri planı durumunu kullanabiliyorsa GTAF, kullanıcının veri planı durumunu aramak için kullanıcı anahtarını kullanır. Ardından GTAF, bu durumu uygulamaya döndürür.
  2. GTAF, veri planı durumu bilgilerini UE'ye gönderir:
    1. İlgili durumlarda, operatörden alınan veri planı durumu doğrudan kullanıcı ekipmanına gönderilir. Özellikle, gönderilen plan durumu, Google Play Hizmetleri'ndeki Mobil Veri Planı modülünün cihazdaki önbelleğini güncellemek için kullanılır.

Veri Planı Durumunu Paylaşma

Veri işleme sözleşmesi, bir kullanıcının mevcut plan durumu girişini oluşturmak ve güncellemek için HTTPS POST'u kullanır. Bu giriş, bir istemci tarafından kullanılır. GTAF şu anda geçerli istemci tanımlayıcıları olarak mobiledataplan ve youtube'u desteklemektedir. İşte youtube istemcisi için GTAF ile plan bilgilerini paylaşan, asn'si 12345 olan ve abcdef kullanıcı anahtarına sahip bir operatörün örnek isteği:

POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/youtube/users/abcdef/planStatus

İstek metni, PlanStatus öğesinin bir örneğidir.

{
  "plans": [{
    "planName": "ACME1",
    "planId": "1",
    "planCategory": "PREPAID",
    "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
    "planModules": [{
      "moduleName": "Giga Plan", // req.
      "trafficCategories": ["GENERIC"],
      "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
      "overUsagePolicy": "BLOCKED",
      "maxRateKbps": "1500",
      "description": "1GB for a month", // req.
      "coarseBalanceLevel": "HIGH_QUOTA"
    }]
  }],
  "planInfoPerClient": {
    "youtube": {
      "rateLimitedStreaming": {
        "maxMediaRateKbps": 569
      }
    }
  },
  "languageCode": "en-US", // req.
  "expireTime": "2018-06-14T08:41:27-07:00", // req.
  "updateTime": "2018-06-07T07:41:22-07:00", // req.
  "title": "Prepaid Plan"
}

İstek başarılı olursa GTAF, HTTP yanıt kodu 200'ü ve kullanıcıya herhangi bir bildirim gönderildiyse bildirim girişiyle birlikte gönderilen planStatus girişini döndürür. GTAF, istekte bir sorun tespit ederse 400-499 aralığında bir HTTP durum kodu döndürür. GTAF, bir GTAF hatası nedeniyle isteği tamamlayamazsa 500-599 aralığında bir HTTP kodu döndürür. 500-599 aralığında yanıt alan istekler yeniden denenebilir, 400-499 aralığında yanıt alan istekler ise genellikle yeniden denenemez. Hata Durumları, GTAF'den gelen hata yanıtlarını ayrıntılı olarak açıklar.

Varsayılan İstemci İçin Plan Durumu Push'u

GTAF, plan durumunun operatör tarafından kullanılabileceği istemci belirtilmeden gönderildiği aşağıdaki görüşmeyi destekler. Bu durumda, plan durumunun mobiledataplan istemcisi için olduğu ve operatörün kullanıcıya bildirim göndermek istediği varsayılır. İstek metni, PlanStatus öğesinin bir örneğidir.

POST https://mobiledataplansharing.googleapis.com/v1/operators/12345/planStatuses?userKey=abcdef

Uluslararası hale getirme

Uluslararasılaştırmayı desteklemek için DPA, GTAF'den doğrudan istek gelmese bile kullanıcının tercih ettiği dili bilmelidir. Bu sorunu çözmek için, istemcilerin kullanıcı dili tercihlerine erişimine bağlı olarak CPID uç noktasına yapılan istekte bir Accept-Language üstbilgisi OLABİLİR. Üstbilgi eklenirse MDP API kullanılarak DPA'nın gönderdiği güncellemelerdeki insan tarafından okunabilir dizeler, CPID isteğinde sağlanan ayarları kullanmalıdır.

Sözleşme, GTAF'den Accept-Language üstbilgisi içeren bir istek aldığında kullanıcı dil tercihlerini GÜNCELLEYEBİLİR ve GTAF'ye gelecekteki isteklerde dil kodunu belirlemek için güncellenen kullanıcı tercihlerini kullanabilir.

Sözleşme, languageCode kullanılarak kullanıcı tarafından görülebilen dizeler için kullanılan dili BELİRTMEK ZORUNDADIR. GTAF, kullanıcılara gösterilen bildirimlerin başlığını ve gövdesini oluşturmak için bunu kullanır.