Mobil Veri Planı Paylaşımını Kullanmaya Başlama

Terminoloji

  • GTAF: Google Trafik Uygulaması İşlevi. Veri Planı Paylaşım API'sini uygulayan ve Google uygulamaları adına DPA'larla etkileşime geçen Google hizmeti. Google uygulamaları, kullanıcının veri planı bilgileri için GTAF'ı sorgulayabilir. Alternatif olarak, Google uygulamaları GTAF'ya kaydolursa GTAF, kullanıcının veri planıyla ilgili güncellemeler gönderebilir.
  • MSISDN: Mobil Ağdaki aboneliği benzersiz şekilde tanımlayan bir numara olan Mobil İstasyonu Uluslararası Abone Dizin Numarasıdır. Yaygın olarak bilinen telefon numarası.
  • CPID Uç Noktası: Mobil ağ operatörleri tarafından uygulanan ve kullanıcının veri planı bilgilerini aramak için kullanılabilecek bir operatör planı tanımlayıcısı (CPID) oluşturan hizmet. CPID, bir uygulamanın kullanıcının MSISDN'sine erişmeden kullanıcının veri planıyla ilgili ayrıntıları sorgulamasını sağlar. Aşağıda, CPID oluşturmayla ilgili prosedür açıklanmaktadır.
  • Kullanıcı Anahtarı: Kullanıcı anahtarı, kullanıcının veri planını tanımlamak için kullanılabilecek bir dizedir. Bu, MSISDN'ye erişimi olan uygulamalar için CPID veya MSISDN olabilir.
  • DPA: Kullanıcı veri planı bilgilerini GTAF ile paylaşan, mobil ağ operatörleri tarafından uygulanan bir hizmet olan Veri Planı Aracı. DPA, GTAF ile bilgileri paylaşmak için Google Mobile Data Plan sharing API'sini kullanarak veri gönderme ve Data Plan Agent API'yi uygulama işlemlerini birlikte kullanır. DPA, isteğe bağlı olarak CPID uç noktası görevi de görebilir.
  • UE: Kullanıcı Ekipmanları, kullanıcı tarafından kullanılan cihaz.

Dil Gereksinimleri

Anahtar kelimeler "ZORUNLU" DEĞİL, "NEDEN", "OLDUĞU GİBİ" OLMAYACAKTIR.

Mobil Veri Planı Paylaşımı

Mobil Veri Planı Paylaşımı, üst düzeyde üç bölümden oluşur:

  1. Kullanıcı anahtarı olarak kullanılabilecek bir operatör planı tanımlayıcısı (CPID) oluşturma ve güncelleme mekanizması. MSISDN'e erişimi olan uygulamalar, MSISDN bunu kullanıcı anahtarı olarak kullanabilir.
  2. DPA'nın, kullanıcıların veri planlarıyla ilgili bilgileri Google'a göndermesine olanak tanıyan bir Google Mobil Veri Paylaşım API'sı. Örneğin DPA, kullanıcıyı bir teklifle ilgili olarak bilgilendirmek isterse GTAF'yi bilgilendirebilir. Bu da kullanıcıyı bilgilendirir.
  3. DPA tarafından uygulanan ve GTAF'nın kullanıcının veri planı hakkında bilgi almak için Veri İşlenmesine İlişkin Değişiklik sorgusu sorgulamasına olanak tanıyan bir Veri Planı Aracı API'sı. Örneğin, bir uygulama kullanıcıya geçerli veri planı bakiyesini göstermek istiyorsa GTAF'yi sorgulayabilir ve bu da DPA'yı sorgular.

Bu sayfanın geri kalanında veri planı terminolojisi tanıtılmakta ve CPID'nin nasıl oluşturulacağı ayrıntılı şekilde açıklanmaktadır. Ardından Google Mobil Veri Planı Paylaşım API'si ve Veri Planı Aracı API Spesifikasyonu geliyor.

Veri Planı Terminolojisi

API'de tanımlanan bir planStatus şeması, kullanıcılara operatörler tarafından sunulan veri planlarını temsil ETMELİDİR. API, belirli bir URL'ler grubuna gelen tüm trafik için kullanıcılardan farklı bir ücret alan veri planlarının tanımlanmasını destekler (ör. *.acmefake.com'a gelen tüm trafik için farklı bir ücret alınır). API, bir uygulamadaki belirli işlem türleri için farklı ücretler sunan veri planlarını da destekler. Bunlara alt uygulama veri planları denir. Uygulamada video izlemek, abonenin veri bakiyesinden veri düşerken alt uygulama veri planına örnek olarak, ücretsiz (yani sıfır ücret) video göz atma deneyimi sunabilirsiniz. Daha sonra video uygulaması, veri planı bilgilerini sorgularken bu bilgileri öğrenebilmelidir.

Burada, veri planlarıyla ilgili bazı terimler sunulmaktadır. Şekil 1'de, yakalamak istediğimiz kavramları temsil eden veri planlarına örnekler verilmiştir.

Veri Planı: Abonenin satın aldığı üst düzey mobil hizmet paketi. Bu, 30 gün boyunca "10 GB mobil veri" kadar basit veya modül olarak da bilinen bir bileşen koleksiyonu olarak tanımlanabilir. Veri planında şunlar bulunur:

  • Veri Planı Adı (ör. "ACME Kırmızı").
  • Örneğin, satın alma işlemleri sırasında planı ifade etmek için kullanılan Veri Planı Tanımlayıcısı.
  • Geçerlilik süresi: Veri planının süresi dolar.
  • Plan Kategorisi: Plan ön ödemeli bir plan veya ücretli bir plan olabilir.

Plan Modülü: Bir veri planının bileşeni. Özellikle bir plan modülünde:

  • Modül Adı (ör. "Ücretsiz Video Gecesi")
  • Maksimum Ücret, bu modülün kullanıcıya sunduğu bant genişliği.
  • Esnek Zaman Pencereleri, kullanıcıya indirim sunulabilecek zaman aralıkları.
  • Plan Modülü Trafik Kategorisi (PMTC), bir modülün geçerli olduğu veri trafiğinin açıklamasıdır. PMTC, *tüm internet trafiği *en kadar genel olabilir ya da bir veya daha fazla uygulama, web sitesi ve hatta kullanıcı yolculuğu tarafından tek bir uygulamada oluşturulan/tüketilen trafik kadar spesifik olabilir. İkinci tür içeriklere örnek olarak "sınırsız müzik", "100 MB video veri paketi (VDP)" ve "sınırsız oyun verisi" ve "sınırsız video tarama" verilebilir. PMTC'lerin tanımını kolaylaştırmak için şu PMTC'leri tanımladık: GENERIC, VIDEO, VIDEO_BROWSING, VIDEO_OFFLINE1, MUSIC, GAMING, SOCIAL, MESSAGING ve PMTC_UNSPECIFIED.

  • Veri hacmi veya zaman sınırı, etkinleştirildikten sonra plan modülünün süresi, veri hacmi veya zaman sınırına ulaşıldığında (ör. zamana dayalı planlar için (Önümüzdeki 7 gün içinde 600 dakika olan internet erişimi) aşıldı. Aşağıdaki Şekil 1'de abone, "ACME Blue" kapsamında bir plan modülü satın alabilir. Bu modül, süresi dolmadan önce bir hafta içinde kullanılması gereken 1 GB genel kullanıcı trafiği sağlar.

Data Plan API Örnek Planı

Şekil 1. Örnek veri planları.

CPID oluşturuluyor

GTAF, DPA ile iletişim kurarken aboneyi tanımlamak için kullanıcı anahtarını kullanır. Kullanıcının MSISDN'sine erişimi olan uygulamalar bunu bir user_key olarak kullanabilir. Diğer yandan, MSISDN'ye erişimi olmayan uygulamalar için kullanıcının MSISDN'sini keşfetmeden bir operatör planı tanımlayıcısı (CPID) oluşturulması gerekir. Sonraki bölümde, bir SQLID'yi oluşturan mekanizma açıklanmaktadır.

CPID Arama Akışı

2. Şekil: CPID'yi oluşturmak için arama akışı.

  1. UE'deki bir Google uygulaması, CPID uç noktasının URL'sini GTAF'den almak için Google'ın dahili bir API'sini kullanır. Operatör, istemcinin genel IP adresi ve etkin SIM kartın MM+MNC'si kullanılarak tanımlanır. MVNO'lar söz konusu olduğunda, Google, MVNO'yu belirlemek için SPN ve GID1'i kullanır.
  2. İstemci, CPID uç noktasına bir HTTP GET isteği gönderir. Operatör, isteğin HTTPS üzerinden gönderilmesini destekleyebilir.
  3. Operatörün, isteği tanımlamak ve kullanıcının telefon numarasını isteğe bir HTTP üst bilgisi olarak eklemek için Derin Paket Denetleme işlevini çalıştırması GEREKEBİLİR.
  4. CPID uç noktası isteği alır, CPID'yi oluşturur ve CPID'yi, UE'nin bu CPID'yi ne kadar süreyle kullanabileceğini gösteren bir geçerlilik süresi (TTL) ile UE'ye döndürür.

Tercihen operatör, CPID uç nokta URL'sinde alan adları yerine IP adreslerini de tercih edebilir. IP adresleri özel adres alanında OLABİLİR ancak bu operatörlerin operatörlerinin ağındaki Google istemcileri tarafından erişilebilir olması gerekir.

İlk katılım sürecinin bir parçası olarak operatör Google'a aşağıdaki bilgileri SAĞLAR: 1. CPID'leri almak için uygulamaların iletişim kuracağı CPID_URL. Bir CPID_URL zorunludur ancak operatör, kullanılabilirliği artırmak için birden fazla URL sağlayabilir. 1. Operatörün sahip olduğu IP ön eklerinin ve operatörün, sağlanan CPID_URL'lerle eşleştirilmesini istediği Mobil Ülke Kodu (MM) ve Mobil Ağ Kodları (MNC) listesi. Operatör, ağında MVNO'ları ayırt etmek için SPN veya GID1 kullanıyorsa bu bilgileri de sağlayacaktır. Google, bu bilgileri, Şekil 2'nin 1. Adımında gösterildiği gibi, müşterileri karşılık gelen CPID uç noktalarıyla eşleştirmek için kullanır.

İsteğin biçimi: GET CPID_URL Eski nedenlerle, CPID uç noktası aşağıdaki gibi bir isteği desteklemelidir:

GET CPID_URL?app={app_id}

CPID uç noktası, CPID oluşturulurken {app_id} URL parametresini yok sayabilir. Ancak, parametreyi içeren bir isteği işleyebilmesi GEREKİR.

CPID uç noktasına yapılan istek Accept-Language üst bilgisini içermeyebilir. Üstbilgi dahil edilirse DPA'nın Mobil Veri Planı Paylaşımı API'sini kullanarak gönderdiği güncellemelerde gerçek kullanıcıların okuyabileceği dizeler bulunması, CPID isteğinde sağlanan ayarları kullanmalıdır.

İstemci GET CPID_URL isteği gönderdiğinde, yeni bir CPID alması GEREKİR. CPID oluşturma işlemi başarılı olursa CPID uç noktasının 200 OK yanıtı döndürmesi ZORUNLUDUR. Yanıt gövdesinin bir CPIDResponse örneği içermesi ZORUNLUDUR.

{
    "cpid": "<CPID_string>",
    "ttlSeconds": 2592000
}

Döndürülen CPID'nin ttlSeconds saniye boyunca geçerli olması ZORUNLUDUR. GTAF, DPA'ya sonraki çağrılarında RFC2396'ya göre CPID'yi kodlayacaktır.

Bir hata oluşursa CPID uç noktası, ErrorResponse örneğini içermesi GEREKEN bir yanıt gövdesine sahip HTTP hatası döndürmelidir. Olası neden değerlerinin ve HTTP hata kodlarının listesine buradan ulaşabilirsiniz.

{
    "errorMessage": "<error message>",
    "cause": "INVALID_NUMBER"
}

Özellikle, operatör ağına ait olmayan (ör. başka bir operatöre ait olan ancak bu CPID uç noktası tarafından sunulan ağda dolaşan bir kullanıcı) veya veri planı bilgilerini Google ile paylaşmayı seçmemiş bir kullanıcı için bir CPID isteği alınırsa CPID uç noktasının HTTP durum kodu 403'ü döndürmesi ZORUNLUDUR.

CPID oluşturma

CPID uç noktasının CPID oluşturması için ÖNERİLEN yöntem:

CPID_string = Base64(AES(MSISDN + TimeStamp + language, secret))

CPID uç noktası MSISDN'yi, istemcinin Kabul-Dil üstbilgisinde gönderdiği dili, yüksek çözünürlüklü bir zaman damgasını birleştirir ve secret tuşunu kullanarak AES aracılığıyla şifreler. Zaman damgası, CPID'nin sona erdiği zamana karşılık gelmelidir. Şifrelenmiş çıkış, Base64 olarak kodlanmıştır. Ayrıca, CPID bir URL'de kullanıldığında, Base64'te kullanılan özel karakterleri (/+=) işlemek için URL kodlamalı olmalıdır. Özellikle GTAF, DPA'yı veya mobil veri planı paylaşım API'sini çağırdığında CPID'nin URL kodlamalı olması ZORUNLUDUR. Bu yaklaşımı kullanarak bir CPID oluşturmanın bir avantajı, DPA ve CPID uç noktasının geçerli bir CPID ve MSISDN veritabanına sahip olmamasıdır.

Belirli bir operatör durumuna bağlı olarak, CPID uç noktasını uygulamak kolay olmayabilir. Sık karşılaşılan belirli bir zorluk, CPID uç noktasında MSISDN'ye erişmektir. Öğrenilen ilk katılım operatörlerini paylaşmaktan memnuniyet duyuyoruz. Herhangi bir zorlukla karşılaşırsanız lütfen bize ulaşın.

Güvenlik Şartları

Operatör, abonelerinin gizli bilgilerini korumak için gerekli önlemleri alır. Özel olarak, abonelerin telefon numaralarının açığa çıkmasını en aza indirmek için CPID uç noktasının güvenlik çevrenizde bulunması gerekir. Ayrıca, operatörün DPI kullandığı durumlarda, MSISDN'yi HTTP isteğine yerleştirmeden önce operatör şifrelemelidir. CPID uç noktası, güvenlik çevreniz değilse (ör. CPID uç noktası herkese açık bir buluta dağıtıldığında) operatör, MSISDN'yi açık bir şekilde herkese açık internet üzerinden iletmemelidir. Operatör, DPI ve CPID uç noktası arasında bir VPN oluşturabilir (Şekil 1'e bakın) veya MSISDN'yi başlığa eklemeden önce şifreleyebilir. İkinci yaklaşım, CPID'yi oluşturmadan önce CPID uç noktasının, MSISDN'yi kurtarmak için yerleştirilen başlığın şifresini çözebileceğini varsayar. Ayrıca operatör, CPID'yi oluşturmak için kullanılan gizli anahtarı KORUYABİLİR ve bu anahtarı, operatör güvenlik politikalarına göre dönüşümlü olarak yayınlar.

Kullanılabilirlik ve Kapasite Koşulları

CPID'yi alamayan müşteriler, Mobile Data Plan API'den hiçbir bilgiye erişemez. Bu nedenle operatör, CPID uç noktasının kullanılabilirliğini sağlamak için gerekli önlemleri alır. Bu önlemler arasında CPID uç noktası ve DPI işlevlerinin birden fazla kez bulunması ve her iki işlev için fiziksel, site ve ağ yedekliliğinin olması ve sistem kaynaklarının ve kapasitesinin yeterli olduğundan emin olunması vardır. Ayrıca, CPID uç noktasının yanı sıra üstbilgiyi yerleştiren DPI işlevi, CPID isteyen tüm Google istemcilerinin yükünü kaldırabilmek için yeterli kapasiteye sahip olmalıdır. CPID uç noktası, CPID oluşturma sıklığını azaltmak için ttlSeconds alanında daha büyük değerler kullanabilir. Google, 30 günlük bir TTL değeri kullanmanızı önerir.

Notlar


  1. VIDEO_OFFLINE premium FlexTime penceresinden bağımsızdır.