Android 12 veya üstünü çalıştıran cihazlar için Android, tek ağ bağlantılarını farklı trafik türlerine farklı miktarda kaynak sağlayan birden çok farklı sanal bağlantıya bölmek için ağ sanallaştırmanın kullanılması anlamına gelen 5G ağ dilimleme desteği sağlar. 5G ağ dilimleme, ağ operatörlerinin ağın bir kısmını belirli bir müşteri segmentine özel özellikler sağlamaya ayırmasına olanak tanır. Android 12, ağ operatörlerinin kurumsal müşterilerine sağlayabileceği aşağıdaki 5G kurumsal ağ dilimleme yeteneklerini sunar:
Tam olarak yönetilen cihazlar için kurumsal cihaz dilimleme
Çalışanlarına tam olarak yönetilen şirket cihazları sağlayan kuruluşlar için ağ sağlayıcıları, onlara şirket cihazlarındaki trafiğin yönlendirildiği bir veya daha fazla aktif kurumsal ağ dilimi sağlayabilir. Android 12'den itibaren Android, operatörlerin APN'ler aracılığıyla dilimler ayarlamak yerine URSP kuralları aracılığıyla kurumsal dilimler sağlamasına olanak tanıyor.
İş profillerine sahip cihazlar için kurumsal iş uygulaması dilimleme
İş profili çözümünü kullanan kuruluşlar için Android 12, cihazların iş profilindeki tüm uygulamalardan gelen trafiği kurumsal bir ağ dilimine yönlendirmesine olanak tanır. Kuruluşlar bu özelliği bir Device Policy Controller (DPC) aracılığıyla etkinleştirebilir.
İş profili çözümü, kuruluşların yalnızca iş profilindeki kurumsal uygulamalardan gelen trafiğin kurumsal ağ dilimine yönlendirilmesini sağlamak için ihtiyaç duyduğu otomatik düzeyde kimlik doğrulama ve erişim kontrolü sağlar. İş profilindeki uygulamaların, kurumsal ağ dilimini açıkça talep etmek için değiştirilmesine gerek yoktur.
AOSP'de 5G ağ dilimleme nasıl çalışır?
Android 12, ağ dilimleme için gerekli olan mevcut bağlantı API'lerini dahil etmek amacıyla AOSP'deki telefon kod tabanına ve Tethering modülüne yapılan eklemeler yoluyla 5G ağ dilimleme desteğini sunuyor.
Android telefon platformu, çekirdek ağ kodu tarafından gönderilen ağ isteklerine ve modemdeki 5G dilimleme özelliklerine göre dilimlemeyi desteklemek için HAL ve telefon API'leri sağlar. Şekil 1'de 5G ağ dilimleme özelliğinin bileşenleri açıklanmaktadır.
Şekil 1. AOSP'de 5G ağ dilimleme mimarisi.
Telefon ve bağlantı platformu şunları destekler:
- Dilim kategorilerine yönelik ağ isteklerini, daha sonra URSP trafik eşleştirmesi ve rota seçimi için modeme iletilen trafik tanımlayıcılarına dönüştürme
- Kurumsal ağ dilimi kullanılamıyorsa varsayılan ağa geri dönme
- İş profili altındaki tüm uygulamalardan gelen trafiği ilgili bağlantıya yönlendirme
Kurumsal dilimlemeyi destekleme
- Cihazda bir iş profilinin varlığının algılanması
- Kuruluşun BT yöneticisi tarafından kullanılan DPC'den sağlanan izinleri veya yönlendirme talimatlarını kontrol etme
Çekirdek ağ hizmeti, Android 12'deki Bağlantı modülünde aşağıdaki değişiklikleri içerir:
-
android.net.*
genel veya sistem API sınıflarının çoğunu Bağlantı modülüne ekler Bağlantı modülünün sınırlarını aşağıdakileri içerecek şekilde genişletir:
-
f/b/core/java/android/net/…
-
f/b/services/net/…
-
f/b/services/core/java/com/android/server/connectivity/…
-
f/b/services/core/java/com/android/server/ConnectivityService.java
-
f/b/services/core/java/com/android/server/TestNetworkService.java
-
VPN kodunu Bağlantı modülünün dışına taşır
Android 12, aşağıdaki özelliklere sahip kodu Bağlantı modülüne taşır:
- Ağ bağlantıları için uygulamalardan istek alma
- Sistemden istek alma (örneğin, "bu uygulamaları kurumsal bir dilime yerleştir"; Android 12'de tanıtıldı)
- HAL API ve modem üzerinden ağ veya dilim kurmaya çalışan telefon koduna sistemden istek gönderme
- Netd'e trafiğin uygulama bazında nasıl yönlendirileceğinin bildirilmesi (Android 12'de tanıtıldı)
-
NetworkCallback
,getActiveNetwork
,getNetworkCapabilities
gibiConnectivityManager
API'leri aracılığıyla uygulamalara ağ trafiğinde neler olduğu konusunda bilgi verme.
Uygulama
Bir cihazda 5G dilimlemeyi desteklemek için cihazın setupDataCall_1_6
API'sine sahip IRadio 1.6 HAL'yi destekleyen bir modeme sahip olması gerekir. Bu API bir veri bağlantısı kurar ve 5G dilimlemeyi desteklemek için aşağıdaki parametreleri içerir:
-
trafficDescriptor
: Modeme gönderilen trafik tanımlayıcısını belirtir -
sliceInfo
: EPDG'den 5G'ye geçiş durumunda kullanılacak ağ dilimine ilişkin bilgileri belirtir -
matchAllRuleAllowed
: Varsayılan tümünü eşleştir URSP kuralının kullanılmasına izin verilip verilmediğini belirtir. Telefon bunu varsayılan ağlar için doğru olarak ayarlar ancak dilimler için geçerli değildir. Tümünü eşleştir kuralı varsayılan ağlara uygulanır. Bir uygulama, mevcut olmayan belirli bir dilim talep ettiğinde, söz konusu dilim mevcut değil olarak raporlanır. Kurumsal uygulamalar için, kurumsal ağ mevcut değilse Telefon çerçevesi varsayılan ağa geri dönebilir.
getHalDeviceCapabilities
API'si tarafından desteklenmediği bildirilmediği sürece modemler ayrıca getSlicingConfig
API'sini de uygulamalıdır.
Kurumsal gereksinimler
Aşağıda kuruluşların Android kurumsal dağıtımındaki cihazlarda 5G ağ dilimlemeyi kullanma gereksinimleri açıklanmaktadır.
- Bir iş profiliyle kurulan, tam olarak yönetilen veya çalışan cihazlarının,
setupDataCall_1_6
API'sini destekleyen modemlerle 5G SA özellikli olduğundan emin olun. - Dilim kurulumu ve performansı veya SLA özellikleri konusunda taşıyıcı iş ortağıyla çalışın.
İş profiliyle ayarlanmış cihazlarda 5G dilimlemeyi etkinleştirme
İş profilleriyle ayarlanmış cihazlarda AOSP'de 5G ağ dilimleme varsayılan olarak kapalıdır. Ağ dilimlemeyi etkinleştirmek için kurumsal BT yöneticileri, DevicePolicyManager
(DPM) API'sinde (Android'de kullanıma sunulmuştur) setPreferentialNetworkServiceEnabled
yöntemini kullanan EMM DPC aracılığıyla iş profili uygulama trafiğinin kurumsal ağ dilimine yönlendirmesini çalışan başına ayrı ayrı açabilir veya kapatabilir. 12).
Özel DPC'lere sahip EMM satıcılarının, kurumsal istemcileri desteklemek için DevicePolicyManager
API'sini entegre etmesi gerekir.
URSP kuralları
Bu bölüm, kurumsal, CBS, düşük gecikme süresi ve yüksek bant genişliği trafiği dahil olmak üzere farklı dilim kategorileri için URSP kurallarını yapılandırma konusunda operatörlere yönelik bilgiler içerir. Operatörlerin, farklı dilim kategorileri için URSP kurallarını yapılandırırken aşağıdaki Android'e özgü değerleri kullanması gerekir.
İD | Değer | Tanım |
---|---|---|
OSI kimliği | 97a498e3-fc92-5c94-8986-0333d06e4e47 | Android için OSId, ISO OID ad alanı ve "Android" adıyla oluşturulan sürüm 5 UUID'dir. |
Taşıyıcıların, her dilim trafiği için URSP kurallarını trafik tanımlayıcı bileşeniyle "İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü" olarak yapılandırması gerekir. Örneğin, "ENTERPRISE" diliminin değeri 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
olmalıdır. Bu değer, OSId'nin, OSAppId uzunluğunun ( 0x0A
) ve OSAppId'nin birleşimidir. Trafik tanımlayıcı bileşen türü hakkında daha fazla bilgi için bkz. 3GPP TS 24.526 Tablo 5.2.1 .
Aşağıdaki tabloda farklı dilim kategorileri için OSAppId değerleri açıklanmaktadır.
Dilim kategorisi | OSAppID | Tanım |
---|---|---|
GİRİŞİM | 0x454E5445525052495345 | OSAppId, "ENTERPRISE" dizesinin bayt dizisi temsilidir |
KURUMSAL2 | 0x454E544552505249534532 | OSAppId, "ENTERPRISE2" dizesinin bayt dizisi temsilidir |
KURUMSAL3 | 0x454E544552505249534533 | OSAppId, "ENTERPRISE3" dizesinin bayt dizisi temsilidir |
KURUMSAL4 | 0x454E544552505249534534 | OSAppId, "ENTERPRISE4" dizesinin bayt dizisi temsilidir |
KURUMSAL5 | 0x454E544552505249534535 | OSAppId, "ENTERPRISE5" dizisinin bayt dizisi temsilidir |
CBS | 0x434253 | OSAppId, "CBS" dizisinin bayt dizisi temsilidir |
PRIORITIZE_LATENCY | 0x5052494f524954495a455f4c4154454e4359 | OSAppId, "PRIORITIZE_LATENCY" dizesinin bayt dizisi temsilidir |
PRIORITIZE_BANDWIDTH | 0x5052494f524954495a455f42414e445749445448 | OSAppId, "PRIORITIZE_BANDWIDTH" dizesinin bayt dizisi temsilidir |
Örnek URSP kuralları
Aşağıdaki tablolarda kurumsal, CBS, düşük gecikme süresi, yüksek bant genişliği ve varsayılan trafik için örnek URSP kuralları gösterilmektedir.
Kurumsal 1
Enterprise 1 desteği Android 12 ve üzeri sürümlerde mevcuttur. Aşağıda ENTERPRISE1 trafiği için örnek bir URSP kuralı verilmiştir:
URSP kuralı #1 (kurumsal1) | |
---|---|
Öncelik | 1 (0x01) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | girişim |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | girişim |
Kurumsal 2
Enterprise 2 desteği Android 13 ve üzeri sürümlerde mevcuttur. Aşağıda ENTERPRISE2 trafiği için örnek bir URSP kuralı verilmiştir:
URSP kuralı #2 (kurumsal2) | |
---|---|
Öncelik | 2 (0x02) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | işletme2 |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | işletme2 |
Kurumsal 3
Enterprise 3 desteği Android 13 ve üzeri sürümlerde mevcuttur. Aşağıda ENTERPRISE3 trafiği için örnek bir URSP kuralı verilmiştir:
URSP kuralı #3 (kurumsal3) | |
---|---|
Öncelik | 3 (0x03) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | işletme3 |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | işletme3 |
Kurumsal 4
Enterprise 4 desteği Android 13 ve üzeri sürümlerde mevcuttur. Aşağıda ENTERPRISE4 trafiği için örnek bir URSP kuralı verilmiştir:
URSP kuralı #4 (kurumsal4) | |
---|---|
Öncelik | 4 (0x04) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | işletme4 |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | işletme4 |
Kurumsal 5
Enterprise 5 desteği Android 13 ve üzeri sürümlerde mevcuttur. Aşağıda ENTERPRISE5 trafiği için örnek bir URSP kuralı verilmiştir:
URSP kuralı #5 (kurumsal5) | |
---|---|
Öncelik | 5 (0x05) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | işletme5 |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | kurumsal5 |
CBS
CBS desteği Android 13 ve üzeri sürümlerde mevcuttur. Aşağıda CBS trafiği için örnek bir URSP kuralı verilmiştir:
URSP kuralı #6 (CBS) | |
---|---|
Öncelik | 6 (0x06) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 0x97A498E3FC925C9489860333D06E4E4703434253 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | cbs |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | cbs |
Düşük gecikme süresi
Düşük Gecikme desteği Android 13 ve sonraki sürümlerde mevcuttur. Aşağıda LOW_LATENCY trafik için örnek bir URSP kuralı verilmiştir:
URSP kuralı #7 (düşük gecikme) | |
---|---|
Öncelik | 7 (0x07) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | gecikme |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | gecikme |
Yüksek bant genişliği
Yüksek Bant Genişliği desteği Android 13 ve sonraki sürümlerde mevcuttur. Aşağıda HIGH_BANDWIDTH trafiği için örnek bir URSP kuralı verilmiştir:
URSP kuralı #8 (yüksek bant genişliği) | |
---|---|
Öncelik | 8 (0x08) |
Trafik tanımlayıcı #1 | |
İşletim Sistemi Kimliği + İşletim Sistemi Uygulama Kimliği türü | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Bileşen #2: DNN | Bant genişliği |
Rota seçimi tanımlayıcısı #2 | |
Öncelik | 2 (0x02) |
Bileşen #1: DNN | Bant genişliği |
Varsayılan
URSP kuralı #9 (varsayılan) | |
---|---|
Öncelik | 9 (0x09) |
Trafik tanımlayıcı #1 | |
hepsini eşleştir | Yok |
Rota seçimi tanımlayıcısı #1 | |
Öncelik | 1 (0x01) |
Bileşen #1: S-NSSAI | SST:XX SD:YYYYYY |
Test yapmak
5G ağ dilimlemeyi test etmek için aşağıdaki manuel testi kullanın.
Bir cihazı test amacıyla ayarlamak için aşağıdakileri yapın:
URSP ilkesinin, kuruluş kategorisiyle eşleşen, varsayılan olmayan bir kuralla yapılandırıldığından ve karşılık gelen rota seçimi tanımlayıcısının kuruluş kategorisini kuruluş dilimiyle eşleştirdiğinden emin olun; ve trafiği varsayılan internet dilimine yönlendiren varsayılan bir kural.
Cihazda bir iş profilinin yapılandırıldığından emin olun.
DPC aracılığıyla ağ dilimlemeyi kullanmayı tercih edin
5G ağ dilimleme davranışını test etmek için aşağıdakileri yapın:
- Kurumsal dilimde bir PDU oturumunun oluşturulduğunu (örneğin, belirli bir IP adresi kullanılarak) ve iş profilindeki uygulamaların bu PDU oturumunu kullandığını doğrulayın.
- Varsayılan internet dilimiyle ayrı bir PDU oturumunun kurulduğunu ve kişisel profildeki uygulamaların PDU oturumunu kullandığını doğrulayın.
5G üst satış dilimleme
Android 14-QPR1'de sunulan 5G dilimleme üst satış özelliği, operatörlerin 5G ağ dilimleme aracılığıyla kullanıcılarına gelişmiş ağ özellikleri (gecikme ve bant genişliği) sunmasına olanak tanıyor.
5G dilimleme üst satış özelliği, satın alma akışını yönlendirmek için operatör yetkilendirme sunucusundan gelen TS.43 yanıtını kullanır. Operatörler, operatörün satın aldığı web görünümüne ilişkin URL'yi belirtmek, web görünümüne ek veriler göndermek ve dilimin operatör ağında hazırlanıp sunulmadığını ve kullanılabilir olup olmadığını belirtmek için yanıtı kullanabilir.
Operatörler, satın alma taleplerinin yapılıp yapılamayacağını, uygulamaların premium yetenekler talep etmesine izin verildiğini ve Telefon çerçevesinin kullanıcıdan veya ağdan gelen yanıtları ne kadar süre bekleyeceğini kontrol eden operatör yapılandırmalarını kullanarak 5G dilimleme ek satış özelliğinin davranışını özelleştirebilir.
5G dilimleme üst satış özelliği, Android ile operatörün web görünümü arasında iletişime izin vermek için DataBoostWebServiceFlow
adı verilen bir arayüz sağlar.
Şekil 2, 5G dilimlemeli üst satış satın alma akışını göstermektedir:
Şekil 2. 5G üst satış satın alma akışını dilimliyor.
TS.43 yetkilendirme süreci
Bir kullanıcı gelişmiş ağ yetenekleri için talepte bulunduğunda Telefon çerçevesi, talep edilen premium yetenek için hizmet yetkilendirme yapılandırmasını talep eder. TS.43 yanıtı geçerliyse Telefon çerçevesi, satın alma isteğini yönlendirmek için HTTP yanıtındaki alanları kullanır.
Satın alma alanlarını dilimle
TS.43 yetki yapılandırması aşağıdaki dilim satın alma alanlarını içerir:
- Yetki durumu
Anahtar:
EntitlementStatus
Tür:
int
Desteklenen değerler:
0
(devre dışı),1
(etkin),2
(uyumsuz),3
(temel hazırlık),4
(dahil)- Temel hazırlık durumu
Anahtar:
ProvStatus
Tür:
int
Desteklenen değerler:
0
(sağlanmadı),1
(sağlandı),2
(kullanılamıyor),3
(devam ediyor)
Telefon çerçevesi, geçerli dilim satın alma durumunu belirlemek için yetki durumu ve sağlama durumunun birleşimini kullanır. Sonuç aşağıdakilerden biri olabilir:
-
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASED
-
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESS
-
PURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILED
-
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
Yetki durumu 1
(etkin) ve temel hazırlık durumu 0
(sağlanmadı) ise Telefon çerçevesi, operatörün web görünümü aracılığıyla desteği satın alması için kullanıcıya bir üst satış bildirimi görüntüler. Aşağıdaki tabloda, telefon çerçevesinin, sağlama ve yetki durumu değerlerinin farklı kombinasyonları için davranışı açıklanmaktadır.
Temel hazırlık durumu | |||||
---|---|---|---|---|---|
Sağlanmadı ( 0 ) | Sağlandı ( 1 ) 1 ) | Mevcut değil ( 2 ) | Devam ediyor ( 3 ) | ||
Yetki durumu | Devre dışı ( 0 ) | Arızalı | Arızalı | Arızalı | Arızalı |
Etkin ( 1 ) | Web görünümünü göster | Zaten satın alındı | Zaten satın alındı | Devam etmekte | |
Uyumsuz ( 2 ) | Arızalı | Arızalı | Arızalı | Arızalı | |
Sağlama ( 3 ) | Operatör hatası | Operatör hatası | Devam etmekte | Devam etmekte | |
Dahil ( 4 ) | Operatör hatası | Zaten satın alındı | Zaten satın alındı | Operatör hatası |
Hizmet akışı alanları
TS.43 yanıtı, operatörün satın alma web görünümü davranışını özelleştirmek için URL'yi, kullanıcı verilerini ve içerik türünü belirtir. İçerik türü belirtilmemişse URL, GET isteği olarak yüklenir. Kullanıcı verileri mevcutsa URL'ye bir sorgu parametresi olarak eklenir (örneğin, https://www.android.com?encodedValue=Base64EncodedUserData
); ve mevcut değilse URL olduğu gibi kullanılır (örneğin, https://www.android.com
).
İçerik türü JSON veya XML biçiminde belirtilirse, URL bir POST isteği olarak yüklenir ve kullanıcı verileri (Base 64'te kodlanmışsa kodu çözülür) POST isteğine ilişkin veriler olarak gönderilir.
- URL'si
Anahtar:
ServiceFlow_URL
Tür:
String
Örnek:
"https://www.android.com"
- Kullanıcı bilgisi
Anahtar:
ServiceFlow_UserData
Tür:
String
Örnek:
"encodedValue=Base64EncodedUserData"
- İçerik türü
Anahtar:
ServiceFlow_ContentsType
Tür:
String
Desteklenen değerler:
0
(belirtilmemiş),1
(JSON),2
(XML)
Taşıyıcı yapılandırmaları
Aşağıda, 5G dilimleme üst satış özelliğinin davranışını özelleştirmek için kullanılabilen taşıyıcı yapılandırmaları yer almaktadır.
-
KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY
Desteklenen premium özelliklerin listesi. Bu
TelephonyManager.PremiumCapability
int dizisidir. Bu premium yetenekler, karşılık gelenNetworkCapabilities.NetCapability
sınıfıyla aynı değeri paylaşır. Premium yetenek isteniyorsa ve bu yapılandırmaya dahil değilse, satın alma isteğiCARRIER_DISABLED
sonucuyla başarısız olur.Android 14'te yalnızca
PREMIUM_CAPABILITY_PRIORITIZE_LATENCY
desteklenmektedir.-
KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT
Kullanıcıya günlük üst satış bildiriminin maksimum gösterilme sayısı. Günlük maksimum değer karşılanırsa, üst satış bildirimi gösterilmez ve satın alma talepleri (yetki sunucusu talepleri dahil) ertesi günün gece yarısına kadar kısıtlanır. Günlük maksimum seviyeye ulaşıldıktan sonra yapılan satın alma talepleri
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
sonucuyla başarısız olur.-
KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT
Üst düzey satın alma bildiriminin kullanıcıya aylık maksimum gösterilme sayısı. Aylık maksimum sayıya ulaşılırsa ek satış bildirimi gösterilmez ve satın alma talepleri (yetki sunucusu talepleri dahil) bir sonraki ayın ilk gününe kadar kısıtlanır. Aylık maksimum tutara ulaşıldıktan sonra yapılan satın alma talepleri
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
sonucuyla başarısız oluyor.-
KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING
Kullanıcı üst satış bildirimini tıkladığında görüntülenecek yedek taşıyıcı satın alma URL'si. Yetkilendirme sunucusundan gelen TS.43 yanıtında satın alma URL'si bulunamazsa bunun yerine bu değer kullanılır. TS.43 yanıtındaki URL veya taşıyıcı yapılandırması geçerli değilse, satın alma isteği
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED
sonucuyla başarısız olur.-
KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL
Cihaz Uzun Süreli Gelişime (LTE) bağlandığında premium özelliklerin satın alınmasına izin verilip verilmeyeceği.
true
ise satın alma talepleri hem LTE hem de Yeni Radyo (NR) üzerinden yapılabilir.false
, satın alma talepleri yalnızca NR'de yapılabilir ve LTE'de yapılan taleplerPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE
sonucuyla başarısız olur.-
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
Otomatik olarak iptal edilmeden önce kullanıcıya ek satış bildiriminin gösterilmesi için gereken süre. Bildirim iptal edildiğinde sonraki istekler kısıtlanır ve
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
sonucuyla başarısız olur.-
KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
Zaman aşımı veya kullanıcı iptali nedeniyle meydana gelen bir başarısızlıktan sonra sonraki satın alma isteklerinin kısaltılması gereken süre. Kullanıcı,
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
tarafından belirtilen zaman aşımı süresi içinde üst satın alma bildirimine tıklamazsa veya bildirimi iptal ederse veya reddederse bu geri çekilme zamanlayıcısı başlar. Bu zamanlayıcı etkinken, satın alma istekleriPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
sonucuyla başarısız oluyor.-
KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
Operatör veya ağdan kaynaklanan bir arıza sonrasında sonraki satın alma taleplerinin kısaltılması gereken süre. Yetki kontrolü başarısız olursa, URL kullanılamıyorsa veya operatörün satın alma URL'si bir arıza gösteriyorsa bu geri çekilme zamanlayıcısı başlar. Bu zamanlayıcı etkinken, satın alma istekleri
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
sonucuyla başarısız oluyor.-
KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG
Satın alma premium özelliği için ağın bir dilimleme yapılandırması oluşturması gereken süre. Bu süre boyunca sonraki satın alma istekleri engellenir ve
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP
sonucunu döndürür. Ağın dilimleme yapılandırmasını zamanında ayarlaması başarısız olursa uygulamalar tekrar premium özellikler satın almayı talep edebilir. Telefon, kullanıcının operatöre ödeme yapıp yapmadığına bakılmaksızın, ilgili dilimleme yapılandırması gönderilene kadar bir satın alma işlemini tamamlanmış olarak kabul etmez.
Javascript arayüzü
Kullanıcı ağ yükseltme bildirimine tıkladığında kullanıcıya operatörün satın alma URL'sini içeren bir WebView
nesnesi gösterilir. Taşıyıcılar, dilim satın alma uygulamasıyla iletişim kurmak için satın alma web sitelerinde DataBoostWebServiceFlow
Javascript arayüzünde sağlanan API'leri kullanabilir.
Operatör web sitesi, getRequestedCapability()
yöntemi aracılığıyla istenen premium özelliği alabilir.
Satın alma işlemi başarılı olursa, taşıyıcı web sitesi dilim satın alma uygulamasını notifyPurchaseSuccessful()
veya notifyPurchaseSuccessful(duration)
yoluyla bilgilendirmelidir; burada duration
, dilimin amaçlanan süresini belirten isteğe bağlı bir parametredir.
Satın alma işlemi başarılı olmazsa, taşıyıcı web sitesi notifyPurchaseFailed(code, reason)
yöntemi aracılığıyla dilim satın alma uygulamasına bildirimde bulunmalıdır; burada code
, hatanın nedenini belirten hata kodudur ve reason
ise, hatanın insan tarafından okunabilen nedenidir. arıza kodu bilinmiyor.
Bu yanıt yöntemlerinden herhangi biri çağrılmazsa satın alma işlemi tamamlanmış sayılmaz ve satın alma isteği zaman aşımına uğrar.
Aşağıda, operatör web sitesinin satın alma hatası durumunda döndürebileceği geçerli arıza kodları verilmiştir:
-
FAILURE_CODE_UNKNOWN
-
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
-
FAILURE_CODE_AUTHENTICATION_FAILED
-
FAILURE_CODE_PAYMENT_FAILED
-
FAILURE_CODE_NO_USER_DATA
Satın alma işlemi tamamlandığında operatörün URSP kurallarını PRIORITIZE_LATENCY
dilimiyle kullanıcının cihazına güncellemesi gerekir.