1 / 23

App Literatur iPhone Entwicklung Push-Benachrichtigungen

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

genica
Download Presentation

App Literatur iPhone Entwicklung Push-Benachrichtigungen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Inhalt • Was sind Push-Benachrichtigungen? • Bedingungen und Funktion • Unterstützung für mehrere Provider • Sicherheitsaspekte • Einschränkungen von Push-Benachrichtigungen • Ein Push-System einrichten • 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-Variable 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" = "%@ and %@ 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/#documentation

  23. Noch Fragen? Vielen Dank!

More Related