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

Motivasyon

Google Mobil Veri Planı Paylaşım API'sı, operatörün kullanıcı planı (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'ya ve dolayısıyla Google uygulamalarına aktarılabilecek mekanizmaları ana hatlarıyla açıklıyoruz. API şu anda DPA'nın, bir Google istemcisi tarafından tüketmek üzere GTAF'a veri planı durumu göndermesine izin vermektedir.

Kimlik doğrulama

GTAF'ye gönderilen tüm Data Plan sharing API isteklerinin kimliği Google Cloud OAuth2 sunucusu kullanılarak doğrulanmalıdır. İsteklerin, DPA'nın temsil ettiği ASN için İSS Portalı'nda beyaz listeye eklenmiş bir hizmet hesabı olarak kimliği doğrulanmalıdır. OAuth'un Google Cloud hizmet hesaplarıyla nasıl kullanılacağıyla ilgili dokümanlar için Hizmet Hesapları için Google Cloud OAuth 2.0 sayfasına bakın.

Veri Planı Güncellemeleri

Google Mobil Veri Planı Paylaşım API'sı şu anda bir operatörün, kullanıcının veri planıyla ilgili güncellemeleri paylaşmasına izin vermektedir:

  • Veri Planı Durumu: Bir kullanıcının veri planının mevcut durumunu yakalar. Örneğin, kullanıcının verileri tükenirse operatör GTAF'a veri planı durumu güncellemesi aktarabilir. Bu güncelleme, daha sonra GTAF tarafından kullanıcıya bir 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ı durum bilgilerini aşağıdaki iki yöntemden biriyle 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 depolar.
    2. UE'de çalışan Google uygulaması, bir dahili Google API'si 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 aktarır:
    1. Alakalı olduğunda, operatörden alınan veri planı durumu doğrudan UE'ye aktarılır. Aktarılan plan durumu özellikle Google Play Hizmetleri'nde Mobil Veri Planı modülünün cihaz üzerinde önbelleğini güncellemek için kullanılır.

Veri Planı Durumunu Paylaşma

DPA, bir kullanıcının istemci tarafından kullanması için mevcut bir plan durumu girişi oluşturmak ve güncellemek üzere bir HTTPS POST'u kullanır. GTAF şu anda geçerli istemci tanımlayıcıları olarak mobiledataplan ve youtube'u desteklemektedir. Burada, youtube istemcisi için 12345 asn ve kullanıcı anahtarı abcdef plan bilgilerini GTAF ile paylaşan bir operatör için örnek bir istek verilmiştir:

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

İstek metni, PlanStatus'un 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şi içeren aktarılan planDurum girişini döndürür. GTAF, istekle ilgili bir sorun bulursa 400-499 aralığında bir HTTP durum kodu döndürür. GTAF, bir GTAF hatası nedeniyle bir isteği tamamlayamazsa GTAF, 500-599 aralığında bir HTTP kodu döndürür. 500-599 aralığında yanıt alan istekler yeniden denenebilir ve 400-499 aralığında yanıt alan istekler yeniden denenebilir. Error Cases (Hata Durumları) GTAF'dan gelen hata yanıtlarını ayrıntılı olarak açıklar.

Varsayılan İstemci İçin Plan Durumunu Aktarma

GTAF, plan durumunun kullanılabilecek istemciyi belirtmeden operatör tarafından aktarıldığı aşağıdaki çağrıyı destekler. Bu durumda, plan durumunun mobiledataplan istemcisine yönelik olduğunu ve operatörün kullanıcıya bildirim göndermeyi amaçladığını varsayarız. İstek gövdesi, PlanStatus'un 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'nın, GTAF'dan doğrudan bir istek almasa bile kullanıcının tercih ettiği dili bilmesi gerekir. Bu sorunu çözmek için, CPID uç noktasına yapılan istekte, istemcinin kullanıcı dil tercihlerine erişimine bağlı olarak bir Accept-Language üstbilgisi bulunabilir. Üstbilgi de dahilse DPA'nın MDP API'sini kullanarak gönderdiği güncellemelerde kullanıcıların okuyabileceği dizeler bulunur ve CPID isteğinde sağlanan ayarlar kullanılır.

DPA, GTAF'den Kabul-Dil başlığıyla istek aldığında kullanıcı dil tercihlerini güncelleyebilir ve güncellenen kullanıcı tercihlerini kullanarak gelecekte GTAF'den yapılacak isteklerde kullanılacak dil kodunu belirler.

DPA, languageCode kullanarak kullanıcı tarafından görülebilen dizeler için kullanılan dili belirtmelidir. GTAF, bunu başlığın ve kullanıcıya gösterilen bildirimlerin gövdesini oluşturmak için kullanır.