SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Holger Wendel
Senior Consultant – Multitouch Development
Neonred Group GmbH
Gordon Breuer
Senior IT Consultant / Software Engineer
msg systems ag
Windows Phone
CSI: WP
Dem Windows Phone auf der Spur
GDR2-Internetspecial:
Data Sense
Demo Quick-Facts
Referenz Code-Beispiel
Data Sense
Demo
Data Sense
Data Sense
Quick-Facts
Data Sense
Data Sense
• Data Sense ist eine System-App
• Protokolliert den verbrauchten Traffic
aller Apps und Systemkomponenten
auf Windows Phone
• Unterscheidung zwischen Traffic über
W-LAN und Mobilfunk-Anbindung
• Warnt bei Erreichen eines eingestellten
Datenlimits und schaltet auf Wunsch
Features mit Onlineanbindung ab
Data Sense
 Data Sense kann für die serverseitige
Komprimierung des anfallenden
Datentraffics verwendet werden
 Die Verwendung innerhalb des
Internet Explorers muss explizit in den
erweiterten Einstellungen aktiviert werden
 Diese Funktion muss vom eigenen
Provider unterstützt werden
 Derzeit bietet keiner der drei großen Provider
in Deutschland das Feature an
 T-Mobile arbeitet nach eigener Aussage daran
Data Sense
• Die Installation der Data Sense-App ist für den Hersteller / Provider
optional, auch mit dem GDR2-Update!
• Ohne die App kann der Benutzer kein Datenlimit hinterlegen,
allerdings kann die nachfolgend beschriebene API von Entwicklern
dennoch verwendet werden um zwischen einer bestehenden Wi-Fi
und einer Mobilfunk-Verbindung zu unterscheiden, und ob der
Benutzer sich im Ausland befindet oder nicht (Roaming)
• Ist die Data Sense-App installiert kann man über die API außerdem
abfragen, ob man das hinterlegte Limit fast erreicht (<10%
verbleibend) oder auch bereits überschritten hat
Referenz
Data Sense
Data Sense
Erforderliche Capability in der WMAppManifest.xml
 ID_CAP_NETWORKING
Wann sollte das Datenlimit des Benutzers überprüft werden?
 Launching Event
 Starten der App
 Activated Event
 Reaktivierung nach Deaktivierung oder Tombstoning
 NetworkInformation.NetworkStatusChanged Event
 Wechsel der Verbindung zwischen Wi-Fi und Mobilfunk
 Beim Eintreten oder Verlassen einer Roaming-Zone
 Wenn die Eigenschaften ApproachingDataLimit oder OverDataLimit auf true
gesetzt werden
 Optional: Vor dem Starten eines Vorgangs der einen (potentiell) hohen
Datenverbrauch hat
Data Sense
NetworkInformation GetInternetConnectionProfile() ConnectionProfile
NetworkAdapterIanaInterfaceType
Internet
Assigned
Names
Authority71 = Wi-Fi
6 = Ethernet
ConnectionCost
NetworkCostType
GetConnectionCost()Unknown
Unrestricted
Fixed
Variable
1. Check
2. bei mobiler
Verbindung
ApproachingDataLimit
OverDataLimit
Roaming
1. Check
2. Wenn nicht
unbeschränkt
Data Sense
 Zunächst sollte man überprüfen, ob der Benutzer derzeit eine
Wi-Fi Verbindung verwendet (IanaInterfaceType ist 71) oder aber eine
Mobilfunk-Verbindung
 Im zweiten Fall kann – sofern die Data Sense App installiert ist – die Art der mobilen
Datenverbindung abgefragt werden:
 Unrestricted – Der Datenverbrauch muss, analog zu Wi-Fi, nicht eingeschränkt oder
überwacht werden
 Fixed – Der Benutzer hat ein einmaliges Daten-Kontingent hinterlegt
 Variable – Der Benutzer hat ein monatliches Frei-Kontingent hinterlegt
 Unknown – Data Sense wurde vom Benutzer nicht konfiguriert oder die App steht nicht zur
Verfügung
 Ist die Datenverbindung Fixed oder Variable so kann man
ApproachingDataLimit und OverDataLimit abfragen; ist eine der beiden
true, sollte man den Nutzer vor dem Verwenden der Datenverbindung um Erlaubnis
fragen und ihn auf das Limit hinweisen!
 Beim Typ Unknown sind beide Eigenschaften immer false, eine eigene Logik ist anzuraten
bei großen zu übertragenden Datenmengen (bsp. User um Erlaubnis fragen)
 Ist die Eigenschaft Roaming auf true sollte der Benutzer auf jeden Fall gefragt
werden, ob die Datenverbindung im Ausland verwendet werden soll!
 Wird auch korrekt gesetzt, wenn der Verbindungstyp Unknown ist
 Die hier vorgestellte API kann nicht mit dem Simulation Dashboard getestet werden!
Code-Beispiel
Data Sense
Data Sense
//Global
bool m_bDoNotSendData = false;
bool m_bSendLowResolutionImage = false;
private const int IANA_INTERFACE_TYPE_WIFI = 71;
NetworkStatusChangedEventHandler networkStatusCallback;
//Constructor
networkStatusCallback = new
NetworkStatusChangedEventHandler(OnNetworkStatusChange);
UpdateNetworkInformation();
//Event Handler
private async void OnNetworkStatusChange(object sender) {
UpdateNetworkInformation();
}
Data Sense
//Method UpdateNetworkInformation
private void UpdateNetworkInformation() {
ConnectionProfile internetConnectionProfile =
Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
if (internetConnectionProfile.NetworkAdapter.IanaInterfaceType != IANA_INTERFACE_TYPE_WIFI) {
if (internetConnectionProfile.GetConnectionCost().Roaming) {
m_bDoNotSendData = true;
}
if (internetConnectionProfile.GetConnectionCost().ApproachingDataLimit) {
m_bSendLowResolutionImage = true;
}
if (internetConnectionProfile.GetConnectionCost().OverDataLimit) {
m_bDoNotSendData = true;
}
} else {
m_bDoNotSendData = false;
m_bSendLowResolutionImage = false;
}
}
Afterglow
Holger WendelGordon Breuer
Vielen Dank!
Alle Informationen und Termine der Roadshow unter csi-wp.de und auf facebook.com/csiwp

Mais conteúdo relacionado

Destaque

Destaque (14)

St-Valentin
St-ValentinSt-Valentin
St-Valentin
 
Soir bleu
Soir bleuSoir bleu
Soir bleu
 
Ciencias del deporte
Ciencias del deporteCiencias del deporte
Ciencias del deporte
 
Informatica tarea2
Informatica tarea2Informatica tarea2
Informatica tarea2
 
Diseño en mediaciones en tic nueva
Diseño en mediaciones en tic nuevaDiseño en mediaciones en tic nueva
Diseño en mediaciones en tic nueva
 
Ejercicio algebra final
Ejercicio algebra finalEjercicio algebra final
Ejercicio algebra final
 
¿Que me gusta yulissa
¿Que me gusta  yulissa¿Que me gusta  yulissa
¿Que me gusta yulissa
 
Armado de p
Armado de pArmado de p
Armado de p
 
acidos y bases en la vida diaria
acidos y bases en la vida diariaacidos y bases en la vida diaria
acidos y bases en la vida diaria
 
Trab 08 transistores para slideshare
Trab 08 transistores para slideshareTrab 08 transistores para slideshare
Trab 08 transistores para slideshare
 
Wipp september
Wipp septemberWipp september
Wipp september
 
Seminario 8: Distribuciones de probabilidad de variables continuas y discretas.
Seminario 8: Distribuciones de probabilidad de variables continuas y discretas. Seminario 8: Distribuciones de probabilidad de variables continuas y discretas.
Seminario 8: Distribuciones de probabilidad de variables continuas y discretas.
 
Cuesionario unidad 1 reactivos enfermería a (1)
Cuesionario unidad 1 reactivos enfermería a (1)Cuesionario unidad 1 reactivos enfermería a (1)
Cuesionario unidad 1 reactivos enfermería a (1)
 
Design thinking (1)
Design thinking (1)Design thinking (1)
Design thinking (1)
 

Semelhante a CSI: WP - Dem Windows Phone auf der Spur, GDR2-Internetspecial: Data Sense

Mobile Device Management mit Windows Intune und SCMM, Part 2
Mobile Device Management mit Windows Intune und SCMM, Part 2Mobile Device Management mit Windows Intune und SCMM, Part 2
Mobile Device Management mit Windows Intune und SCMM, Part 2Digicomp Academy AG
 
Mobile-App-Risiken minimieren: Sichere und zuverlässige Bereitstellung
Mobile-App-Risiken minimieren: Sichere und zuverlässige BereitstellungMobile-App-Risiken minimieren: Sichere und zuverlässige Bereitstellung
Mobile-App-Risiken minimieren: Sichere und zuverlässige BereitstellungFlexera
 
Wie finde ich die beste VPN Lösung für mein Unternehmen?
Wie finde ich die beste VPN Lösung für mein Unternehmen?Wie finde ich die beste VPN Lösung für mein Unternehmen?
Wie finde ich die beste VPN Lösung für mein Unternehmen?HOB
 
Herbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgerätenHerbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgerätenDigicomp Academy AG
 
BATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdfBATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdfBATbern
 
Mobile Device Management mit Windows Intune und SCMM, Part 1
Mobile Device Management mit Windows Intune und SCMM, Part 1Mobile Device Management mit Windows Intune und SCMM, Part 1
Mobile Device Management mit Windows Intune und SCMM, Part 1Digicomp Academy AG
 
LineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für BestandsgebäudeLineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für BestandsgebäudeLeonieDelphineReschr
 
It_management_saas_overview_presentation_(external-german)
It_management_saas_overview_presentation_(external-german)It_management_saas_overview_presentation_(external-german)
It_management_saas_overview_presentation_(external-german)Liane_Schmidt
 
BigData-Reporting und DasBoards ohne Lizenzkosten!
BigData-Reporting und DasBoards ohne Lizenzkosten!BigData-Reporting und DasBoards ohne Lizenzkosten!
BigData-Reporting und DasBoards ohne Lizenzkosten!WolfgangKress
 
Wissen für Entscheider: Das gehört in Ihre App-Strategie
Wissen für Entscheider: Das gehört in Ihre App-StrategieWissen für Entscheider: Das gehört in Ihre App-Strategie
Wissen für Entscheider: Das gehört in Ihre App-StrategieTWT
 
Citirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der PraxisCitirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der PraxisDigicomp Academy AG
 
Fachfrühstück iPhone Juni 2010
Fachfrühstück iPhone Juni 2010Fachfrühstück iPhone Juni 2010
Fachfrühstück iPhone Juni 2010go4mobile
 
Hybrid-Apps 2.0 - Status Quo & Performance
Hybrid-Apps 2.0 - Status Quo & PerformanceHybrid-Apps 2.0 - Status Quo & Performance
Hybrid-Apps 2.0 - Status Quo & PerformanceFLYACTS GmbH
 
App-Sicherheit am Arbeitsplatz - mTrust.io
App-Sicherheit am Arbeitsplatz - mTrust.io App-Sicherheit am Arbeitsplatz - mTrust.io
App-Sicherheit am Arbeitsplatz - mTrust.io M-Way Consulting
 
2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...
2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...
2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...Martin Merck
 
Digitale Geschäftsmodelle für Versorger
Digitale Geschäftsmodelle für VersorgerDigitale Geschäftsmodelle für Versorger
Digitale Geschäftsmodelle für VersorgerLemonbeat GmbH
 
Whitepaper ar-achieving application readiness maturity-de
Whitepaper ar-achieving application readiness maturity-deWhitepaper ar-achieving application readiness maturity-de
Whitepaper ar-achieving application readiness maturity-deFlexera
 
GWAVACon: ZENworks Mobile Management (deutsch)
GWAVACon: ZENworks Mobile Management (deutsch)GWAVACon: ZENworks Mobile Management (deutsch)
GWAVACon: ZENworks Mobile Management (deutsch)GWAVA
 
Flexera Software App Portal Datasheet
Flexera Software App Portal DatasheetFlexera Software App Portal Datasheet
Flexera Software App Portal DatasheetFlexera
 

Semelhante a CSI: WP - Dem Windows Phone auf der Spur, GDR2-Internetspecial: Data Sense (20)

Mobile Device Management mit Windows Intune und SCMM, Part 2
Mobile Device Management mit Windows Intune und SCMM, Part 2Mobile Device Management mit Windows Intune und SCMM, Part 2
Mobile Device Management mit Windows Intune und SCMM, Part 2
 
Mobile-App-Risiken minimieren: Sichere und zuverlässige Bereitstellung
Mobile-App-Risiken minimieren: Sichere und zuverlässige BereitstellungMobile-App-Risiken minimieren: Sichere und zuverlässige Bereitstellung
Mobile-App-Risiken minimieren: Sichere und zuverlässige Bereitstellung
 
Wie finde ich die beste VPN Lösung für mein Unternehmen?
Wie finde ich die beste VPN Lösung für mein Unternehmen?Wie finde ich die beste VPN Lösung für mein Unternehmen?
Wie finde ich die beste VPN Lösung für mein Unternehmen?
 
Herbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgerätenHerbert schwerzmann byod integration_von_modernen_endgeräten
Herbert schwerzmann byod integration_von_modernen_endgeräten
 
BATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdfBATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdf
 
Mobile Device Management mit Windows Intune und SCMM, Part 1
Mobile Device Management mit Windows Intune und SCMM, Part 1Mobile Device Management mit Windows Intune und SCMM, Part 1
Mobile Device Management mit Windows Intune und SCMM, Part 1
 
LineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für BestandsgebäudeLineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
LineMetrics Data-as-a-Service - Monitoring für Bestandsgebäude
 
It_management_saas_overview_presentation_(external-german)
It_management_saas_overview_presentation_(external-german)It_management_saas_overview_presentation_(external-german)
It_management_saas_overview_presentation_(external-german)
 
BigData-Reporting und DasBoards ohne Lizenzkosten!
BigData-Reporting und DasBoards ohne Lizenzkosten!BigData-Reporting und DasBoards ohne Lizenzkosten!
BigData-Reporting und DasBoards ohne Lizenzkosten!
 
Wissen für Entscheider: Das gehört in Ihre App-Strategie
Wissen für Entscheider: Das gehört in Ihre App-StrategieWissen für Entscheider: Das gehört in Ihre App-Strategie
Wissen für Entscheider: Das gehört in Ihre App-Strategie
 
Citirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der PraxisCitirx Day 2013: Enterprise mobility in der Praxis
Citirx Day 2013: Enterprise mobility in der Praxis
 
Fachfrühstück iPhone Juni 2010
Fachfrühstück iPhone Juni 2010Fachfrühstück iPhone Juni 2010
Fachfrühstück iPhone Juni 2010
 
Fs Mobile Insurance Ale
Fs Mobile Insurance AleFs Mobile Insurance Ale
Fs Mobile Insurance Ale
 
Hybrid-Apps 2.0 - Status Quo & Performance
Hybrid-Apps 2.0 - Status Quo & PerformanceHybrid-Apps 2.0 - Status Quo & Performance
Hybrid-Apps 2.0 - Status Quo & Performance
 
App-Sicherheit am Arbeitsplatz - mTrust.io
App-Sicherheit am Arbeitsplatz - mTrust.io App-Sicherheit am Arbeitsplatz - mTrust.io
App-Sicherheit am Arbeitsplatz - mTrust.io
 
2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...
2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...
2014-dev-martin_merck-eine_architektur_fuer_mobile_anwendungen_bei_der_bundes...
 
Digitale Geschäftsmodelle für Versorger
Digitale Geschäftsmodelle für VersorgerDigitale Geschäftsmodelle für Versorger
Digitale Geschäftsmodelle für Versorger
 
Whitepaper ar-achieving application readiness maturity-de
Whitepaper ar-achieving application readiness maturity-deWhitepaper ar-achieving application readiness maturity-de
Whitepaper ar-achieving application readiness maturity-de
 
GWAVACon: ZENworks Mobile Management (deutsch)
GWAVACon: ZENworks Mobile Management (deutsch)GWAVACon: ZENworks Mobile Management (deutsch)
GWAVACon: ZENworks Mobile Management (deutsch)
 
Flexera Software App Portal Datasheet
Flexera Software App Portal DatasheetFlexera Software App Portal Datasheet
Flexera Software App Portal Datasheet
 

CSI: WP - Dem Windows Phone auf der Spur, GDR2-Internetspecial: Data Sense

  • 1. Holger Wendel Senior Consultant – Multitouch Development Neonred Group GmbH Gordon Breuer Senior IT Consultant / Software Engineer msg systems ag Windows Phone CSI: WP Dem Windows Phone auf der Spur GDR2-Internetspecial: Data Sense
  • 6. Data Sense • Data Sense ist eine System-App • Protokolliert den verbrauchten Traffic aller Apps und Systemkomponenten auf Windows Phone • Unterscheidung zwischen Traffic über W-LAN und Mobilfunk-Anbindung • Warnt bei Erreichen eines eingestellten Datenlimits und schaltet auf Wunsch Features mit Onlineanbindung ab
  • 7. Data Sense  Data Sense kann für die serverseitige Komprimierung des anfallenden Datentraffics verwendet werden  Die Verwendung innerhalb des Internet Explorers muss explizit in den erweiterten Einstellungen aktiviert werden  Diese Funktion muss vom eigenen Provider unterstützt werden  Derzeit bietet keiner der drei großen Provider in Deutschland das Feature an  T-Mobile arbeitet nach eigener Aussage daran
  • 8. Data Sense • Die Installation der Data Sense-App ist für den Hersteller / Provider optional, auch mit dem GDR2-Update! • Ohne die App kann der Benutzer kein Datenlimit hinterlegen, allerdings kann die nachfolgend beschriebene API von Entwicklern dennoch verwendet werden um zwischen einer bestehenden Wi-Fi und einer Mobilfunk-Verbindung zu unterscheiden, und ob der Benutzer sich im Ausland befindet oder nicht (Roaming) • Ist die Data Sense-App installiert kann man über die API außerdem abfragen, ob man das hinterlegte Limit fast erreicht (<10% verbleibend) oder auch bereits überschritten hat
  • 10. Data Sense Erforderliche Capability in der WMAppManifest.xml  ID_CAP_NETWORKING Wann sollte das Datenlimit des Benutzers überprüft werden?  Launching Event  Starten der App  Activated Event  Reaktivierung nach Deaktivierung oder Tombstoning  NetworkInformation.NetworkStatusChanged Event  Wechsel der Verbindung zwischen Wi-Fi und Mobilfunk  Beim Eintreten oder Verlassen einer Roaming-Zone  Wenn die Eigenschaften ApproachingDataLimit oder OverDataLimit auf true gesetzt werden  Optional: Vor dem Starten eines Vorgangs der einen (potentiell) hohen Datenverbrauch hat
  • 11. Data Sense NetworkInformation GetInternetConnectionProfile() ConnectionProfile NetworkAdapterIanaInterfaceType Internet Assigned Names Authority71 = Wi-Fi 6 = Ethernet ConnectionCost NetworkCostType GetConnectionCost()Unknown Unrestricted Fixed Variable 1. Check 2. bei mobiler Verbindung ApproachingDataLimit OverDataLimit Roaming 1. Check 2. Wenn nicht unbeschränkt
  • 12. Data Sense  Zunächst sollte man überprüfen, ob der Benutzer derzeit eine Wi-Fi Verbindung verwendet (IanaInterfaceType ist 71) oder aber eine Mobilfunk-Verbindung  Im zweiten Fall kann – sofern die Data Sense App installiert ist – die Art der mobilen Datenverbindung abgefragt werden:  Unrestricted – Der Datenverbrauch muss, analog zu Wi-Fi, nicht eingeschränkt oder überwacht werden  Fixed – Der Benutzer hat ein einmaliges Daten-Kontingent hinterlegt  Variable – Der Benutzer hat ein monatliches Frei-Kontingent hinterlegt  Unknown – Data Sense wurde vom Benutzer nicht konfiguriert oder die App steht nicht zur Verfügung  Ist die Datenverbindung Fixed oder Variable so kann man ApproachingDataLimit und OverDataLimit abfragen; ist eine der beiden true, sollte man den Nutzer vor dem Verwenden der Datenverbindung um Erlaubnis fragen und ihn auf das Limit hinweisen!  Beim Typ Unknown sind beide Eigenschaften immer false, eine eigene Logik ist anzuraten bei großen zu übertragenden Datenmengen (bsp. User um Erlaubnis fragen)  Ist die Eigenschaft Roaming auf true sollte der Benutzer auf jeden Fall gefragt werden, ob die Datenverbindung im Ausland verwendet werden soll!  Wird auch korrekt gesetzt, wenn der Verbindungstyp Unknown ist  Die hier vorgestellte API kann nicht mit dem Simulation Dashboard getestet werden!
  • 14. Data Sense //Global bool m_bDoNotSendData = false; bool m_bSendLowResolutionImage = false; private const int IANA_INTERFACE_TYPE_WIFI = 71; NetworkStatusChangedEventHandler networkStatusCallback; //Constructor networkStatusCallback = new NetworkStatusChangedEventHandler(OnNetworkStatusChange); UpdateNetworkInformation(); //Event Handler private async void OnNetworkStatusChange(object sender) { UpdateNetworkInformation(); }
  • 15. Data Sense //Method UpdateNetworkInformation private void UpdateNetworkInformation() { ConnectionProfile internetConnectionProfile = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile(); if (internetConnectionProfile.NetworkAdapter.IanaInterfaceType != IANA_INTERFACE_TYPE_WIFI) { if (internetConnectionProfile.GetConnectionCost().Roaming) { m_bDoNotSendData = true; } if (internetConnectionProfile.GetConnectionCost().ApproachingDataLimit) { m_bSendLowResolutionImage = true; } if (internetConnectionProfile.GetConnectionCost().OverDataLimit) { m_bDoNotSendData = true; } } else { m_bDoNotSendData = false; m_bSendLowResolutionImage = false; } }
  • 16. Afterglow Holger WendelGordon Breuer Vielen Dank! Alle Informationen und Termine der Roadshow unter csi-wp.de und auf facebook.com/csiwp