Universit - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Universit

Description:

App Literatur iPhone Entwicklung Push-Benachrichtigungen Universit t zu K ln Medien zwischen Technologie und Gesellschaft Prof. Dr. Manfred Thaller – PowerPoint PPT presentation

Number of Views:82
Avg rating:3.0/5.0
Slides: 24
Provided by: dominik
Category:

less

Transcript and Presenter's Notes

Title: Universit


1
App Literatur iPhone EntwicklungPush-Benachrichti
gungen
  • Universität zu Köln
  • Medien zwischen Technologie und Gesellschaft
  • Prof. Dr. Manfred Thaller
  • WS 2012/13
  • Dominik Finkenberger

2
Inhalt
  1. Was sind Push-Benachrichtigungen?
  2. Bedingungen und Funktion
  3. Unterstützung für mehrere Provider
  4. Sicherheitsaspekte
  5. Einschränkungen von Push-Benachrichtigungen
  6. Ein Push-System einrichten
  7. Die Benachrichtigung

3
1. Was sind Push-Benachrichtigungen?
  • Nachrichten eines externen Dienstes
  • Client/Server-System
  • Zustellung auf den Client ? iPhone Anwendung
  • Remote-Benachrichtigungssystem benötigt
  • Push-Nachricht löst ein Badge, einen Klang, oder
    eine Benachrichtigung aus, Aktualisierung möglich

4
1. Was sind Push-Benachrichtigungen?
Badge
Text
5
1. Was sind Push-Benachrichtigungen?
  • Vorteile
  • Nutzer muss die Anwendung nicht starten
  • Akkukapazität wird geschont
  • CPU-Ressourcen werden geschont
  • Kanal für Webdienste (Kalender, News)
  • Nutzer hat Entscheidungsfreiheit

6
2. Bedingungen und Funktion
  • Bedingungen
  • jeweilige Anwendung muss installiert sein
  • das iPhone muss online sein
  • Nutzer muss Remote-Nachrichten erlauben
  • Benachrichtigung darf 256 Bytes nicht
    überschreiten

7
2. Bedingungen und Funktion
  • Funktionsablauf
  • Server wird ausgelöst durch Ereignis
    (Mail,Termin) etc
  • Push-Provider stellt Nachricht dem zentralen
    Apple-Server zu
  • Server erstellt Benachrichtigungsdaten für ein
    bestimmtes Gerät, welches diese weitergibt

8
3. Unterstützung für mehrere Provider
  • APNS ist ausgelegt für viele Provider-Verbindungen
  • realisiert über Gateways
  • Provider kann sofort Kontakt aufnehmen

9
4. Sicherheit
  • Push-Provider benötigt SSL-Zertifikat (https)
  • Token (bezeichnet Gerät und Anwendung)
  • Ablauf
  • Eingang der authentifizierten Nachricht am APNS
  • Verbindungseinrichtung zwischen APNS und iPhone
  • online?Zustellung offline ? Warteschlange
  • Zertifikat und Token sind sensible Informationen
  • bei Missbrauch werden Zertifikate gesperrt
  • Folge Ausschluss der App aus dem App Store

10
5. Einschränkungen von Push-Benachrichtigungen
  • u.U. falsche Reihenfolge der Nachrichten
  • Nachrichten konkurrieren in der Warteschlange
  • möglicherweise gehen Nachrichten verloren
  • keine Mitteilung über verlorene Nachrichten
  • deswegen
  • keine wesentlichen Informationen senden
  • nur Hinweise, deren Ausbleiben keine Folgen hat

11
6. Ein Push-System einrichten
  • eindeutigen Anwendungsbezeichner erstellen
  • Bsp com.domänenname.anwendungsname
  • SSL-Zertifikat anfordern
  • SSL-Zertifikat mit der App ID bezeichnen
  • Push-spezifisches Profil anlegen
  • eine Anwendung registrieren
  • beim ersten Start meldet sich die App beim
    Remote-Benachrichtigungssystem an
  • dabei werden die möglichen Benachrichtigungskanäle
    festgelegt (Badge, Sound, Text)

12
6. Ein Push-System einrichten
  • das Geräte-Token abrufen
  • bezeichnet mit SSL-Zertifikat eindeutig ein
    iPhone
  • iPhone fordert Token von APNS an und übergibt es
    der Anwendung
  • diese gibt das Token zurück an die
    Providerkomponente
  • Erst wenn dem Push-Provider das Token vorliegt,
    kann dieser Benachrichtigungen senden

13
6. Ein Push-System einrichten
14
6. Ein Push-System einrichten
  • auf Nachrichten reagieren
  • läuft die Anwendung , hat die Benachrichtigung
    keine Auswirkung
  • läuft nicht
  • Badge wird angezeigt
  • Nachricht wird angezeigt
  • Klickt der Nutzer nicht auf Abbrechen, sondern
    auf Anzeigen,
  • so öffnet sich die betroffene Anwendung

15
7. Die Benachrichtigung
  • Anwendung benötigt ein NSDictionary (aps)
  • Benachrichtigung und Attribute in JSON
  • Gesamte Nutzlast beträgt 256 Bytes
  • Darin enthalten
  • - Nachrichtentext (string, Dictionary)
  • - Buttonfunktion bei Bedarf Beschriftung
    (string, Dictionary)
  • - Sounddatei-Namen (Dateien müssen vorhanden
    sein)
  • - Art des Badges (number)

16
7. Die Benachrichtigung
  • Nutzlast Beispiel 1
  • "aps" "alert" "Message received from
    Bob"
  • Benachrichtigung wird angezeigt, außerdem
    erscheinen die Buttons Anzeigen und Abbrechen

17
7. Die Benachrichtigung
  • Nutzlast Beispiel 2
  • "aps" "alert" "body" "Bob wants to
    play poker", "action-loc-key" "PLAY" ,
    "badge" 5,
  • Nachricht wird angezeigt, statt Anzeigen
    erscheint auf dem Button Spielen, Badge mit
    einer 5 wird angezeigt
  • Besonderheit PLAY ist eine Lokalisierungs-Variabl
    e ?passt sich der Benutzersprache an

18
7. Die Benachrichtigung
  • Nutzlast Beispiel 3
  • aps "alert" "loc-key"
    "GAME_PLAY_REQUEST
  • _FORMAT", "loc-args" "Jenna", "Frank" ,
  • sound play.aiff
  • Localizable.strings im .lproj Ordner der
    aktuellen Sprache
  • "GAME_PLAY_REQUEST_FORMAT" "_at_ and _at_ have
    invited you to play Monopoly"

19
7. Die Benachrichtigung
  • Nutzlast Beispiel 3
  • lproj-Ordner enthält für jede Sprache einen
    Unterordner
  • Localizable.strings enthält wiederum
    Schlüssel-Wert-Paare
  • Nachricht Jenna and Frank have invited you to
    play monopoly.

20
7. Die Benachrichtigung
  • Die mit iOS 4.0 neu-eingeführte Eigenschaft
    launch-image ermöglicht Darstellung eines
    Bildes
  • App gelöscht, was nun?
  • ? Apple verfolgt alle Zustellversuche und gibt
    dem Benutzer passives Feedback
  • Ist eine App deinstalliert worden, kommt sie nach
    mehrmaligen fehlgeschlagenen Versuchen auf eine
    Liste
  • Entwickler muss eigenständig die betroffenen
    Geräte-Token von seiner Push-Liste nehmen

21
7. Die Benachrichtigung
  • Hinweise an Entwickler
  • Der Push-Dienst wird über APNS verteilt, ABER die
    Kommunikation zum APNS ist Sache des Entwicklers
  • Größe des Kundenstamms ist zu berücksichtigen, da
    die Dienstschicht ebenso vom Entwickler
    bereitzustellen ist
  • Bei 10.000 Nutzern und 15-minütigen Updates
    ergeben sich 1.000.000 Zugriffe über Push am Tag,
    der Zeitraum zwischen Aktualisierungen ist jedoch
    oft kleiner
  • ? große Rechenlast, die schwer zu bewältigen ist
  • Gut überlegen, ob man Push wirklich braucht, da
    ein einmal angebotener Dienst vom Benutzer auf
    Dauer erwartet wird
  • System einrichten, dass mit dem Benutzerstamm
    wachsen kann

22
Quellen
  • Sadun, Erica Das große iPhone-Entwicklerbuch
  • https//developer.apple.com/library/ios/documenta
    tion

23
Noch Fragen?
  • Vielen Dank!
Write a Comment
User Comments (0)
About PowerShow.com