Android 12 veya sonraki sürümlerin yüklü olduğu cihazlarda Android, 5G ağ dilimleme özelliğini destekler. Bu özellik, tek ağ bağlantılarını farklı trafik türlerine farklı miktarlarda kaynak sağlayan birden fazla ayrı sanal bağlantıya bölmek için ağ sanallaştırmanın kullanılmasını sağlar. 5G ağ dilimleme, ağ operatörlerinin ağın bir bölümünü belirli bir müşteri segmentine özel özellikler sağlamaya ayırmasına olanak tanır. Android 12, ağ operatörlerinin kurumsal müşterilerine sunabileceği aşağıdaki 5G kurumsal ağ dilimleme özelliklerini kullanıma sunar:
Tümüyle yönetilen cihazlar için kurumsal cihaz dilimleme
Çalışanlarına tümüyle yönetilen şirket cihazları sağlayan işletmeler için ağ sağlayıcılar, şirket cihazlarındaki trafiğin yönlendirildiği bir veya daha fazla etkin kurumsal ağ dilimi sağlayabilir. Android 12'den itibaren Android, operatörlerin APN'ler üzerinden dilim oluşturmak yerine URSP kuralları aracılığıyla kurumsal dilimler sağlamasına olanak tanır.
İş profili olan cihazlarda kurumsal işletme uygulaması dilimleme
İş profili çözümünü kullanan kuruluşlarda Android 12, cihazların iş profilindeki tüm uygulamalardan gelen trafiği bir kurumsal ağ dilimine yönlendirmesine olanak tanır. Kuruluşlar bu özelliği cihaz politikası denetleyicisi (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 bir kimlik doğrulama ve erişim denetimi düzeyi sunar. İş profilindeki uygulamaların, kurumsal ağ dilimini açıkça istemek için değiştirilmesi gerekmez.
AOSP'de 5G ağ dilimleme özelliğinin işleyiş şekli
Android 12, AOSP'deki telefon kodu tabanına ve Tethering modülüne yapılan eklemelerle 5G ağ dilimleme desteğini kullanıma sunuyor. Bu eklemeler, ağ dilimleme için gerekli olan mevcut bağlantı API'lerini içeriyor.
Android telefon platformu, temel ağ kodu tarafından gönderilen ağ isteklerine göre dilimlemeyi ve modemdeki 5G dilimleme özelliklerini 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 kategorileri için ağ isteklerini, URSP trafik eşleştirme 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
- İş profilindeki tüm uygulamalardan gelen trafiği ilgili bağlantıya yönlendirme
Kurumsal dilimlemeyi destekleme
- Cihazda iş profilinin olup olmadığını algılama
- Kuruluşun BT yöneticisi tarafından kullanılan DPC'den sağlanan izinler veya yönlendirme talimatları kontrol ediliyor.
Temel ağ hizmeti, Android 12'deki Tethering modülünde aşağıdaki değişiklikleri içerir:
android.net.*herkese açık veya sistem API sınıflarının çoğunu Tethering modülüne ekler.Tethering modülünün sınırlarını genişleterek şunları içerir:
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.javaf/b/services/core/java/com/android/server/TestNetworkService.java
VPN kodunu Tethering modülünden çıkarır.
Android 12, aşağıdaki özelliklerle ilgili kodu Tethering modülüne taşır:
- Uygulamalardan ağ bağlantısı istekleri alma
- Sistemden istek alma (ör. "Bu uygulamaları kurumsal dilime yerleştir"; Android 12'de kullanıma sunuldu)
- Sistemin, HAL API ve modem üzerinden ağ veya dilim oluşturmaya çalışan telefon kodu için istek göndermesi
- netd'ye trafiği uygulama bazında nasıl yönlendireceği hakkında bilgi verme (Android 12'de kullanıma sunuldu)
ConnectivityManager,NetworkCallback,getActiveNetwork,getNetworkCapabilitiesgibi API'ler aracılığıyla uygulamaları ağ trafiğinde neler olduğu konusunda bilgilendirme.
Uygulama
Bir cihazda 5G ağ dilimlemeyi desteklemek için cihazda setupDataCall_1_6 API'sine sahip IRadio 1.6 HAL'yi destekleyen bir modem bulunmalıdır. Bu API, bir veri bağlantısı oluşturur ve 5G ağ 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ğ dilimiyle ilgili bilgileri belirtir.matchAllRuleAllowed: Varsayılan bir "tümüyle eşleşen" URSP kuralının kullanılmasına izin verilip verilmeyeceğini belirtir. Telefonda bu, varsayılan ağlar için true (doğru) olarak ayarlanır ancak dilimler için ayarlanmaz. Tümünü eşleştir kuralı, varsayılan ağlara uygulanır. Bir uygulama, kullanılamayan belirli bir dilim istediğinde bu dilim kullanılamıyor olarak bildirilir. Kurumsal uygulamalarda, kurumsal ağ kullanılamıyorsa Telefon Çerçevesi varsayılan ağa geri dönebilir.
Modemler, getSlicingConfig API'si tarafından desteklenmediği bildirilmediği sürece bu API'yi de uygulamalıdır.getHalDeviceCapabilities
Enterprise koşulları
Aşağıda, işletmelerin Android Enterprise dağıtımındaki cihazlarda 5G ağ dilimlemeyi kullanması için gerekenler açıklanmaktadır.
- Tümüyle yönetilen veya iş profiliyle kurulmuş çalışan cihazlarının,
setupDataCall_1_6API'sini destekleyen modemlerle 5G SA özellikli olduğundan emin olun. - Dilim kurulumu ve performansı ya da hizmet düzeyi sözleşmesi özellikleriyle ilgili olarak operatör iş ortağıyla birlikte çalışın.
İş profili oluşturulmuş cihazlarda 5G ağ dilimlemeyi etkinleştirme
İş profilleriyle kurulan cihazlarda 5G ağ dilimleme, AOSP'de varsayılan olarak devre dışıdır. Ağ dilimlemeyi etkinleştirmek için kurumsal BT yöneticileri, EMM DPC aracılığıyla çalışan bazında iş profili uygulama trafiği yönlendirmeyi kurumsal ağ dilimine açabilir veya kapatabilir. EMM DPC, setPreferentialNetworkServiceEnabled yöntemini DevicePolicyManager (DPM) API'sinde (Android 12'de kullanıma sunulmuştur) kullanır.
Özel DPC'lere sahip EMM sağlayıcılar, kurumsal müşterileri desteklemek için DevicePolicyManager API'sini entegre etmelidir.
URSP kuralları
Bu bölümde, operatörlerin kurumsal, CBS, düşük gecikme ve yüksek bant genişliği trafiği gibi farklı dilim kategorileri için URSP kurallarını yapılandırmayla ilgili bilgiler yer alır. Farklı dilim kategorileri için URSP kurallarını yapılandırırken operatörler, Android'e özgü aşağıdaki değerleri kullanmalıdır.
| Kimlik | Değer | Açıklama |
|---|---|---|
| OSId | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
Android için OSId, ad alanı ISO OID ve "Android" adıyla oluşturulan 5. sürüm UUID'dir. |
Operatörler, trafik tanımlayıcı bileşeni "OS Id + OS App Id type" olacak şekilde her dilim trafiği için URSP kurallarını yapılandırmalıdır. Örneğin, "ENTERPRISE" diliminin değeri 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 olmalıdır.
Bu değer, OSId, OSAppId'nin uzunluğu (0x0A) ve OSAppId'nin birleştirilmiş halidir.
Trafik tanımlayıcı bileşen türü hakkında daha fazla bilgi için 3GPP TS 24.526 Tablo 5.2.1'i inceleyin.
Aşağıdaki tabloda, farklı dilim kategorileri için OSAppId değerleri açıklanmaktadır.
| Dilim kategorisi | OSAppId | Açıklama |
|---|---|---|
ENTERPRISE |
0x454E5445525052495345 |
OSAppId, ENTERPRISE dizesinin bayt dizisi gösterimidir. |
ENTERPRISE2 |
0x454E544552505249534532 |
OSAppId, ENTERPRISE2 dizesinin bayt dizisi gösterimidir. |
ENTERPRISE3 |
0x454E544552505249534533 |
OSAppId, ENTERPRISE3 dizesinin bayt dizisi gösterimidir. |
ENTERPRISE4 |
0x454E544552505249534534 |
OSAppId, ENTERPRISE4 dizesinin bayt dizisi gösterimidir. |
ENTERPRISE5 |
0x454E544552505249534535 |
OSAppId, ENTERPRISE5 dizesinin bayt dizisi gösterimidir. |
CBS |
0x434253 |
OSAppId, CBS dizesinin bayt dizisi gösterimidir. |
PRIORITIZE_LATENCY |
0x5052494f524954495a455f4c4154454e4359 |
OSAppId, PRIORITIZE_LATENCY dizesinin bayt dizisi gösterimidir. |
PRIORITIZE_BANDWIDTH |
0x5052494f524954495a455f42414e445749445448 |
OSAppId, PRIORITIZE_BANDWIDTH dizesinin bayt dizisi gösterimidir. |
PRIORITIZE_UNIFIED_COMMUNICATIONS |
0x5052494f524954495a455f554e49464945445f434f4d4d554e49434154494f4e53 |
OSAppId, PRIORITIZE_UNIFIED_COMMUNICATIONS dizesinin bayt dizisi gösterimidir. |
Örnek URSP kuralları
Aşağıdaki tablolarda kurumsal, CBS, düşük gecikme, yüksek bant genişliği ve varsayılan trafik için örnek URSP kuralları gösterilmektedir.
Enterprise 1
Enterprise 1 desteği, Android 12 ve sonraki sürümlerde kullanılabilir. Aşağıda, ENTERPRISE1 trafiği için örnek bir URSP kuralı verilmiştir:
| URSP kuralı #1 (enterprise1) | |
|---|---|
| Öncelik | 1 (0x01) |
| Trafik tanımlayıcı #1 | |
| İşletim sistemi kimliği + işletim sistemi uygulama kimliği türü | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | işletme |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | işletme |
Enterprise 2
Enterprise 2 desteği, Android 13 ve sonraki sürümlerde kullanılabilir. Aşağıda, ENTERPRISE2 trafiği için örnek bir URSP kuralı verilmiştir:
| URSP kuralı #2 (enterprise2) | |
|---|---|
| Öncelik | 2 (0x02) |
| Trafik tanımlayıcı #1 | |
| İşletim sistemi kimliği + işletim sistemi uygulama kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | enterprise2 |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | enterprise2 |
Enterprise 3
Enterprise 3 desteği, Android 13 ve sonraki sürümlerde kullanılabilir. Aşağıda, ENTERPRISE3 trafiği için örnek bir URSP kuralı verilmiştir:
| URSP kuralı #3 (enterprise3) | |
|---|---|
| Öncelik | 3 (0x03) |
| Trafik tanımlayıcı #1 | |
| İşletim sistemi kimliği + işletim sistemi uygulama kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | enterprise3 |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | enterprise3 |
Enterprise 4
Enterprise 4 desteği, Android 13 ve sonraki sürümlerde kullanılabilir. Aşağıda, ENTERPRISE4 trafiği için örnek bir URSP kuralı verilmiştir:
| URSP kuralı #4 (enterprise4) | |
|---|---|
| Öncelik | 4 (0x04) |
| Trafik tanımlayıcı #1 | |
| İşletim sistemi kimliği + işletim sistemi uygulama kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | enterprise4 |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | enterprise4 |
Enterprise 5
Enterprise 5 desteği, Android 13 ve sonraki sürümlerde kullanılabilir. Aşağıda, ENTERPRISE5 trafiği için örnek bir URSP kuralı verilmiştir:
| URSP kuralı #5 (enterprise5) | |
|---|---|
| Öncelik | 5 (0x05) |
| Trafik tanımlayıcı #1 | |
| İşletim sistemi kimliği + işletim sistemi uygulama kimliği türü | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | enterprise5 |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | enterprise5 |
CBS
CBS desteği, Android 13 ve sonraki sürümlerde kullanılabilir. CBS trafiği için örnek bir URSP kuralı aşağıda verilmiştir:
| URSP kuralı #6 (CBS) | |
|---|---|
| Öncelik | 6 (0x06) |
| Trafik tanımlayıcı #1 | |
| İşletim sistemi kimliği + işletim sistemi uygulama kimliği türü | 0x97A498E3FC925C9489860333D06E4E4703434253 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | cbs |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | cbs |
Düşük gecikme
Düşük gecikme desteği, Android 13 ve sonraki sürümlerde kullanılabilir. Aşağıda, LOW_LATENCY trafiği 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 + işletim sistemi uygulama kimliği türü | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | gecikme |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | gecikme |
Yüksek bant genişliği
Yüksek bant genişliği desteği, Android 13 ve sonraki sürümlerde kullanılabilir. Aşağıda, YÜKSEK_BANT GENİŞLİĞİ 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 + işletim sistemi uygulama kimliği türü | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
| 2. Bileşen: DNN | bant genişliği |
| Rota seçimi tanımlayıcısı #2 | |
| Öncelik | 2 (0x02) |
| 1. Bileşen: DNN | bant genişliği |
Varsayılan
| URSP kuralı #9 (varsayılan) | |
|---|---|
| Öncelik | 9 (0x09) |
| Trafik tanımlayıcı #1 | |
| tümüyle eşleşen | Yok |
| Rota seçimi tanımlayıcısı 1 | |
| Öncelik | 1 (0x01) |
| 1. Bileşen: S-NSSAI | SST:XX SD:YYYYYY |
Test
5G ağ dilimlemeyi test etmek için aşağıdaki manuel testi kullanın.
Test için bir cihaz ayarlamak üzere aşağıdakileri yapın:
URSP politikasının, kuruluş kategorisiyle eşleşen varsayılan olmayan bir kural ile yapılandırıldığından ve ilgili rota seçimi tanımlayıcısının kuruluş kategorisini kuruluş dilimiyle eşlediğinden, ayrıca trafiği varsayılan internet dilimine yönlendiren bir varsayılan kuralın bulunduğundan emin olun.
Cihazda iş profilinin yapılandırıldığından emin olun.
DPC aracılığıyla ağ dilimlemeyi kullanmayı etkinleştirme
5G ağ dilimleme davranışını test etmek için aşağıdakileri yapın:
- Kurumsal dilimle bir PDU oturumunun oluşturulduğunu (örneğin, belirli bir IP adresi kullanarak) ve iş profilindeki uygulamaların bu PDU oturumunu kullandığını doğrulayın.
- Varsayılan internet dilimiyle ayrı bir PDU oturumu oluşturulduğunu ve kişisel profildeki uygulamaların PDU oturumunu kullandığını doğrulayın.
5G ağ dilimleme hizmeti satışı
Android 14 QPR1'den itibaren kullanılabilen 5G dilimleme ile üst sürüme geçiş ö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ır.
5G ağ dilimleme üst satış özelliği, satın alma sürecini yönlendirmek için operatör yetkilendirme sunucusundan gelen TS.43 yanıtını kullanır. Operatörler, operatörün satın alma web görünümünün URL'sini belirtmek, web görünümüne ek veriler göndermek ve dilimin operatör ağında sağlanıp sağlanmadığını ve kullanılabilir olup olmadığını belirtmek için yanıttan yararlanabilir.
Operatörler, 5G ağ dilimleme üst satış özelliğinin davranışını özelleştirmek için operatör yapılandırmalarını kullanabilir. Bu yapılandırmalar, satın alma isteklerinin yapılıp yapılamayacağını, uygulamaların premium özellikler isteyebileceği zamanları ve Telephony çerçevesinin kullanıcıdan veya ağdan yanıt bekleme süresini kontrol eder.
5G ağ dilimleme upsell özelliği, Android ile operatör web görünümü arasında iletişime olanak tanıyan DataBoostWebServiceFlow adlı bir arayüz sağlar.
Şekil 2'de 5G ağ dilimleme için ek satış satın alma süreci gösterilmektedir:
Şekil 2. 5G ağ dilimleme ek ürün satın alma süreci.
TS.43 yetkilendirme süreci
Kullanıcı, gelişmiş ağ özellikleri için istekte bulunduğunda Telephony çerçevesi, istenen premium özellik için hizmet yetkilendirme yapılandırmasını ister. TS.43 yanıtı geçerliyse Telephony çerçevesi, satın alma isteğini yönlendirmek için HTTP yanıtındaki alanları kullanır.
Satın alma alanlarını dilimleme
TS.43 yetkilendirme yapılandırması aşağıdaki dilim satın alma alanlarını içerir:
- Yararlanma hakkı durumu
Tuş:
EntitlementStatusTür:
intDesteklenen değerler:
0(devre dışı),1(etkin),2(uyumsuz),3(sağlama),4(dahil)- Temel hazırlık durumu
Tuş:
ProvStatusTür:
intDesteklenen değerler:
0(sağlanmadı),1(sağlandı),2(kullanılamıyor),3(devam ediyor)
Telefoni çerçevesi, mevcut dilim satın alma durumunu belirlemek için hak durumu ve sağlama durumunun birleşimini kullanır. Sonuç aşağıdakilerden biri olabilir:
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASEDPURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESSPURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILEDPURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
Hak durumu 1 (etkin) ve sağlama durumu 0 (sağlanmadı) ise Telefon Çerçevesi, kullanıcıya operatör web görünümü üzerinden artırma satın alması için bir üst satış bildirimi gösterir. Aşağıdaki tabloda, farklı hazırlama ve hak durumu değerleri kombinasyonları için Telefon Çerçevesi'nin davranışı açıklanmaktadır.
| Temel hazırlık durumu | |||||
|---|---|---|---|---|---|
Sağlanmadı (0) |
Sağlandı (1) |
Kullanılamıyor (2) |
Devam ediyor (3) |
||
| Yararlanma hakkı durumu | Devre dışı (0) |
Başarısız | Başarısız | Başarısız | Başarısız |
Etkin (1) |
Web görünümünü göster | Zaten satın alındı | Zaten satın alındı | Devam ediyor | |
Uyumsuz (2) |
Başarısız | Başarısız | Başarısız | Başarısız | |
Sağlama (3) |
Taşıyıcı hatası | Taşıyıcı hatası | Devam ediyor | Devam ediyor | |
Dahil (4) |
Taşıyıcı hatası | Zaten satın alındı | Zaten satın alındı | Taşıyıcı hatası | |
Hizmet akışı alanları
TS.43 yanıtı, operatör 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 varsa URL'ye sorgu parametresi olarak eklenir (örneğin, https://www.android.com?encodedValue=Base64EncodedUserData). Kullanıcı verileri yoksa URL olduğu gibi kullanılır (örneğin, https://www.android.com).
İçerik türü JSON veya XML biçiminde belirtilmişse URL, POST isteği olarak yüklenir ve kullanıcı verileri (Base 64'te kodlanmışsa kodu çözülerek) POST isteğinin verileri olarak gönderilir.
- URL
Tuş:
ServiceFlow_URLTür:
StringÖrnek:
"https://www.android.com"- Kullanıcı verileri
Tuş:
ServiceFlow_UserDataTür:
StringÖrnek:
"encodedValue=Base64EncodedUserData"- İçerik türü
Tuş:
ServiceFlow_ContentsTypeTür:
StringDesteklenen değerler:
0(belirtilmemiş),1(JSON),2(XML)
Operatör yapılandırmaları
Aşağıda, 5G ağ dilimleme ile üst satış özelliğinin davranışını özelleştirmek için kullanabileceğiniz operatör yapılandırmaları verilmiştir.
KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAYDesteklenen premium özelliklerin listesi. Bu,
TelephonyManager.PremiumCapabilityboyutunda bir int dizisidir. Bu premium özellikler, ilgiliNetworkCapabilities.NetCapabilitysınıfıyla aynı değere sahiptir. Premium bir özellik istenirse ve bu yapılandırmaya dahil değilse satın alma isteğiCARRIER_DISABLEDsonucuyla başarısız olur.Android 14'te yalnızca
PREMIUM_CAPABILITY_PRIORITIZE_LATENCYdesteklenir.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INTSatın alma sırasında ek ürün teklifi bildiriminin kullanıcıya günlük olarak gösterilme sayısı üst sınırı. Günlük maksimum sayıya ulaşıldığında ek satış bildirimi gösterilmez ve satın alma istekleri (yetkilendirme sunucusu istekleri dahil) sonraki gün gece yarısına kadar sınırlandırılır. Günlük maksimum sayıya ulaşıldıktan sonra yapılan satın alma istekleri,
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLEDsonucuyla başarısız olur.KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INTSatın alma sırasında ek ürün teklifi bildiriminin kullanıcıya gösterilme sayısı için aylık maksimum sınır. Aylık maksimum sınıra ulaşıldığında, ek satış bildirimi gösterilmez ve satın alma istekleri (yetkilendirme sunucusu istekleri dahil) bir sonraki ayın ilk gününe kadar sınırlandırılır. Aylık maksimum değere ulaşıldıktan sonra yapılan satın alma istekleri
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLEDsonucuyla başarısız olur.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRINGKullanıcı, ek satış bildirimini tıkladığında gösterilecek yedek operatör satın alma URL'si. Satın alma URL'si, hak sunucudan gelen TS.43 yanıtında bulunamazsa bunun yerine bu değer kullanılır. TS.43 yanıtındaki URL veya operatör yapılandırması geçerli değilse satın alma isteği
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLEDsonucuyla başarısız olur.KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOLCihaz Uzun Süreli Evrim (LTE) bağlantısı kullanırken premium özelliklerin satın alınmasına izin verilip verilmeyeceği.
trueise satın alma istekleri hem LTE hem de Yeni Radyo (NR) üzerinden yapılabilir.falseise satın alma istekleri yalnızca NR üzerinden yapılabilir ve LTE üzerinden yapılan isteklerPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLEsonucuyla başarısız olur.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONGSatın alma sırasında ek ürün teklifi bildiriminin kullanıcıya otomatik olarak iptal edilmeden önce gösterileceği süre. Bildirim iptal edildiğinde sonraki isteklerin sıklığı sınırlandırılır ve
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLEDsonucuyla başarısız olur.KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONGZaman aşımı veya kullanıcı iptali nedeniyle oluşan bir hatadan sonra, sonraki satın alma isteklerinin ne kadar süreyle sınırlandırılması gerektiği. Kullanıcı,
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONGtarafından belirtilen zaman aşımı süresi içinde satın alma amaçlı ek satış bildirimini tıklamazsa veya bildirimi iptal eder ya da kapatırsa bu geri çekilme zamanlayıcısı başlar. Bu zamanlayıcı etkinken satın alma istekleriPURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLEDsonucuyla başarısız olur.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONGOperatör veya ağ nedeniyle oluşan bir hatadan sonra, sonraki satın alma isteklerinin ne kadar süreyle sınırlandırılması gerektiği. Yetkilendirme kontrolü başarısız olursa, URL kullanılamıyorsa veya operatör satın alma URL'si bir hatayı gösteriyorsa bu geri çekilme zamanlayıcısı başlar. Bu zamanlayıcı etkinken satın alma istekleri
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLEDsonucuyla başarısız olur.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONGAğın, satın alma premium özelliği için dilimleme yapılandırması oluşturması gereken süre. Bu süre zarfında, sonraki satın alma istekleri engellenir ve
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUPsonucu döndürülür. Ağ, dilimleme yapılandırmasını zamanında ayarlayamazsa uygulamalar premium özelliklerin satın alınmasını tekrar isteyebilir. Telefonda, kullanıcının operatöre ödeme yapıp yapmadığına bakılmaksızın, ilgili dilimleme yapılandırması gönderilene kadar satın alma işlemi tamamlanmış sayılmaz.
JavaScript arayüzü
Kullanıcı, ağ güçlendirme bildirimini tıkladığında kullanıcıya operatör satın alma URL'si içeren bir WebView nesnesi gösterilir. Operatörler, dilim satın alma uygulamasıyla iletişim kurmak için satın alma web sitelerindeki DataBoostWebServiceFlow JavaScript arayüzünde sağlanan API'leri kullanabilir.
Operatör web sitesi, istenen premium özelliği getRequestedCapability() yöntemiyle alabilir.
Satın alma işlemi başarılı olursa operatör web sitesi, notifyPurchaseSuccessful() veya notifyPurchaseSuccessful(duration) üzerinden dilim satın alma uygulamasına bildirim göndermelidir. Burada duration, dilimin amaçlanan süresini belirten isteğe bağlı bir parametredir.
Satın alma işlemi başarılı olmazsa operatör web sitesi, notifyPurchaseFailed(code, reason) yöntemiyle dilim satın alma uygulamasına bildirimde bulunmalıdır. Burada code, başarısızlığın nedenini belirten hata kodudur ve hata kodu bilinmiyorsa reason, başarısızlığın insan tarafından okunabilir nedenidir.
Bu yanıt yöntemlerinden biri çağrılmazsa satın alma işlemi tamamlanmış sayılmaz ve satın alma isteğinin süresi sonunda dolar.
Aşağıda, satın alma hatası için kargo şirketi web sitesinin döndürebileceği geçerli hata kodları verilmiştir:
FAILURE_CODE_UNKNOWNFAILURE_CODE_CARRIER_URL_UNAVAILABLEFAILURE_CODE_AUTHENTICATION_FAILEDFAILURE_CODE_PAYMENT_FAILEDFAILURE_CODE_NO_USER_DATA
Satın alma işlemi tamamlandığında operatör, PRIORITIZE_LATENCY dilimini kullanıcının cihazına ekleyerek URSP kurallarını güncellemelidir.
OTT ses ve video için 5G ağ dilimleme otomatik yönlendirme
Android 17, over-the-top (OTT) sesli ve görüntülü görüşmelerin premium ağ bağlantılarına otomatik olarak yönlendirilmesini destekler. Bu özellik, uygulamanın ağ yığınına değişiklik yapılmasına gerek kalmadan sistemin sesli ve görüntülü görüşmelerden gelen trafiği otomatik olarak özel bir premium ağ arayüzüne (ör. premium 5G dilimi veya premium 4G PDN bağlantısı) yönlendirmesine olanak tanır.
Bu platform düzeyindeki çözüm, uygulama geliştiricilerin ağ özelliklerini açıkça isteme ihtiyacını ortadan kaldırarak hem geliştiriciler hem de son kullanıcılar için sorunsuz bir deneyim sunar.
İşleyiş şekli
Android, bağlantı ve telekom çerçevelerine yapılan eklemelerle otomatik yönlendirme desteği içerir. Otomatik yönlendirme özelliği şu şekilde çalışır:
- Arama algılama: Sistem, sesli veya görüntülü aramaların başlangıcını ve bitişini algılamak için OTT uygulamaları tarafından kullanılan mevcut Telecom Jetpack API'lerinden yararlanır.
- Bağlantı yönetimi: Android, arama algılandığında birleşik iletişim dilimi gibi belirlenmiş bir premium ağ arayüzü açar.
- Trafik yönlendirme: Platform, görüşme sırasında uygulamayı UID'sine göre tanımlar ve trafiğini otomatik olarak premium ağ bağlantısına yönlendirir.
- Aramadan sonra geri dönüş: Arama sona erdiğinde platform, yönlendirme kuralını kaldırır ve uygulamanın trafiği, arama dışı trafik (ör. mesajlaşma) için sistemin varsayılan ağına geri döner.
Şartlar
OTT görüşmeleri için otomatik yönlendirmeyi desteklemek üzere aşağıdaki koşulların karşılanması gerekir:
- Operatörler: Uygun URSP kurallarını yapılandırarak birleşik iletişim dilimi sunmalıdır. Operatörler, birleşik iletişim trafiği için URSP'yi belirli bir
OSAppIDile doldurmalıdır. - Uygulamalar: Sistemin arama durumlarını algılamasına izin vermek için Android Telecom Jetpack API'lerini kullanmalıdır.
- Cihaz üreticileri: Android 17 veya sonraki bir sürüm gereklidir.