App Literatur iPhone Entwicklung Push-Benachrichtigungen

of 23 /23
Universität zu Köln Medien zwischen Technologie und Gesellschaft Prof. Dr. Manfred Thaller WS 2012/13 Dominik Finkenberger App Literatur iPhone Entwicklung Push-Benachrichtigungen

description

App Literatur iPhone Entwicklung Push-Benachrichtigungen. Universität zu Köln Medien zwischen Technologie und Gesellschaft Prof. Dr. Manfred Thaller WS 2012/13 Dominik Finkenberger. Inhalt. Was sind Push-Benachrichtigungen? Bedingungen und Funktion Unterstützung für mehrere Provider - PowerPoint PPT Presentation

Transcript of App Literatur iPhone Entwicklung Push-Benachrichtigungen

Page 1: App Literatur iPhone Entwicklung Push-Benachrichtigungen

Universität zu Köln Medien zwischen Technologie und Gesellschaft

Prof. Dr. Manfred ThallerWS 2012/13

Dominik Finkenberger

App Literatur iPhone Entwicklung

Push-Benachrichtigungen

Page 2: App Literatur iPhone Entwicklung Push-Benachrichtigungen

Inhalt

1. Was sind Push-Benachrichtigungen?2. Bedingungen und Funktion

3. Unterstützung für mehrere Provider4. Sicherheitsaspekte

5. Einschränkungen von Push-Benachrichtigungen

6. Ein Push-System einrichten7. Die Benachrichtigung

Page 3: App Literatur iPhone Entwicklung Push-Benachrichtigungen

1. Was sind Push-Benachrichtigungen?

Nachrichten eines externen DienstesClient/Server-SystemZustellung auf den Client iPhone

AnwendungRemote-Benachrichtigungssystem benötigtPush-Nachricht löst ein Badge, einen Klang,

oder eine Benachrichtigung aus, Aktualisierung möglich

Page 4: App Literatur iPhone Entwicklung Push-Benachrichtigungen

1. Was sind Push-Benachrichtigungen?

Badge

Text

Page 5: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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

Page 6: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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

Page 7: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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

Page 8: App Literatur iPhone Entwicklung Push-Benachrichtigungen

3. Unterstützung für mehrere Provider

APNS ist ausgelegt für viele Provider-Verbindungen

realisiert über GatewaysProvider kann sofort Kontakt aufnehmen

Page 9: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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 onlineZustellung | offline Warteschlange

Zertifikat und Token sind sensible Informationen bei Missbrauch werden Zertifikate gesperrt Folge: Ausschluss der App aus dem App Store

Page 10: App Literatur iPhone Entwicklung Push-Benachrichtigungen

5. Einschränkungen von Push-Benachrichtigungen

u.U. falsche Reihenfolge der NachrichtenNachrichten konkurrieren in der

Warteschlangemöglicherweise gehen Nachrichten verlorenkeine Mitteilung über verlorene Nachrichten

deswegen:keine wesentlichen Informationen sendennur Hinweise, deren Ausbleiben keine Folgen

hat

Page 11: App Literatur iPhone Entwicklung Push-Benachrichtigungen

6. Ein Push-System einrichten

1. eindeutigen Anwendungsbezeichner erstellen Bsp: com.domänenname.anwendungsname

2. SSL-Zertifikat anfordern3. SSL-Zertifikat mit der App ID bezeichnen4. Push-spezifisches Profil anlegen5. 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)

Page 12: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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

Page 13: App Literatur iPhone Entwicklung Push-Benachrichtigungen

6. Ein Push-System einrichten

Page 14: App Literatur iPhone Entwicklung Push-Benachrichtigungen

6. Ein Push-System einrichten

auf Nachrichten reagieren läuft die Anwendung , hat die Benachrichtigung keine

Auswirkung läuft nicht:

1. Badge wird angezeigt2. Nachricht wird angezeigt3. Klickt der Nutzer nicht auf „Abbrechen“, sondern auf

„Anzeigen“, so öffnet sich die betroffene Anwendung

Page 15: App Literatur iPhone Entwicklung Push-Benachrichtigungen

7. Die Benachrichtigung

Anwendung benötigt ein NSDictionary (aps)Benachrichtigung und Attribute in JSONGesamte 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)

Page 16: App Literatur iPhone Entwicklung Push-Benachrichtigungen

7. Die Benachrichtigung

Nutzlast Beispiel 1:

{ "aps" : { "alert" : "Message received from Bob" }}

Benachrichtigung wird angezeigt, außerdem erscheinen die Buttons „Anzeigen“ und „Abbrechen“

Page 17: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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 angezeigtBesonderheit: PLAY ist eine Lokalisierungs-Variable passt sich der Benutzersprache an

Page 18: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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" = "%@ and %@ have invited you to play Monopoly";

Page 19: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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.

Page 20: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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

Page 21: App Literatur iPhone Entwicklung Push-Benachrichtigungen

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

Page 22: App Literatur iPhone Entwicklung Push-Benachrichtigungen

Quellen

Sadun, Erica: Das große iPhone-Entwicklerbuch

https://developer.apple.com/library/ios/#documentation

Page 23: App Literatur iPhone Entwicklung Push-Benachrichtigungen

Vielen Dank!

Noch Fragen?