2016-04-16 9 views
0

Ich wollte wissen, welche Technologie es verwendet, um Echtzeit-Nachrichten iOS unter Berücksichtigung aller os Einschränkungen zu liefern. Es gibt nur wenige von ihnen meiner Meinung nach kommt esWie PubNub veröffentlichen subscribe funktioniert intern in iOS (Client-Seite)

  • periodische Abfrage
  • persistente Verbindung zum Server wie websocket oder xmpp
  • Push Notification

Sie seine veröffentlichen Werke auch abonnieren, wenn App im Hintergrund?

Antwort

1

Ab Version 4.0 erhält das PubNub iOS SDK keine Abonnementereignisse, wenn die Anwendung, in der es ausgeführt wird, ausgesetzt ist. Sie können Push-Benachrichtigungen über den APNS-Gateway von PubNub einrichten, um Push-Ereignisse zu empfangen. Diese werden jedoch wie Standard-Push-Benachrichtigungen behandelt und nicht wie PubNub-Ereignisse.

Wenn Ihre App ausgeführt wird, scheint PubNub eine Websocket-Verbindung zu verwenden, um Benachrichtigungen zu senden und zu empfangen. Der von Ihnen erstellte Client empfängt Rückrufe, wenn Nachrichten auf den von Ihnen abonnierten Kanälen empfangen werden.

Ihr SDK ist Open Source, so dass Sie intern prüfen können, was passiert, wenn Sie interessiert sind.

+0

Danke Mathew! Ich habe die Quelle, aber ich wollte nur wissen, was es verwendet, dann werde ich bei Bedarf nach Quelle für Details suchen. Passiert das Gleiche auch bei Android? – hridayesh

+1

Publish/subscribe-Ereignisse funktionieren nicht, während die App gesperrt ist. Wenn die App jedoch im Hintergrund ausgeführt wird, funktionieren sie trotzdem, solange Sie einige Hintergrundmodi aktiviert haben (z. B. eine endliche Hintergrundtask, die Ihnen ungefähr entspricht) 3 Minuten Hintergrundzeit, damit der Code weiter ausgeführt werden kann – MikeG

1

PubNub und Hintergrund Connectivity

Staying im Hintergrund verbunden eine Fortsetzung erhalten Echtzeit-Nachrichten über subscribe ist keine Funktion des PubNub SDK und es spielt keine Rolle, ob Sie PubNub iOS 3.x SDK verwenden (bitte nicht, es hat EOL'ed) oder PubNub Objective-C for iOS 4.x SDK (bitte starten Sie dies oder migrieren Sie es so schnell wie möglich). Sie müssen Ihre App so konfigurieren und implementieren, dass sie im Hintergrund ausgeführt wird, und Apple muss Ihnen dazu (über die App-Überprüfung) die Erlaubnis geben, dies zu tun.

Ihre App hat der Typ sein, die Hintergrundaktivität rechtfertigt: see Apple dev docs for iPhone OS Programming Guide - Background Execution (table 3.1)

Es gibt ein großes Tutorial auf RayWunderlich.com auf Background Modes in iOS die einen tollen Job macht alle Optionen zu erklären.

Es gibt PubNub Swift for iOS SDK 4.x, ebenso.