A kiszolgáló megvalósítása iOS Push értesítések (python)

Írtam egy cikket a végrehajtás a Push Notification segítségével Urbanairship szolgáltatást. Ez a módszer számos előnye és hátránya. Előnyök írtam le a fenti cikkben, nedostaka szolgáltatást nyújt számának korlátozására a szabad üzeneteket és időszakos leállások a karbantartást.
Ma megnézzük végrehajtásának IOS Push Notification kezük Python programok.
IOS push értesítések két típusa van: a helyi és távoli. Helyi által kezdeményezett kérelem a kliens oldalon, és ebben a cikkben nem vesszük figyelembe. Távoli értesítést küld a szerver a kliens alkalmazás segítségével APNS szolgáltatás (Apple Push Notification Service). A folyamat a következő:

- Az alkalmazás regisztrált a APNS és megkapja Device Token;
- Az alkalmazás értesítést küld a készülék Token szerverünk;
- Most a szerver SSL-kapcsolat létrehozásához a APNS és küldje Push Notification;

Válassza ki az alkalmazást, és menj a Beállítások részben: konfigurálása.
Letöltés termelési és fejlesztési igazolások (* .cer). Lehet, hogy engedélyeznie kell push bejelentést megelőző az alkalmazások és hozza létre azokat.

További intézkedés jobban költeni egy számítógép OSX. Tanúsítványok importálásával és az export, hogy p12 formátumban. Valószínűleg szükség van egy fejlesztői kulcsot, amely hozta létre a CSR.

A kapott fájl formátumban kell konvertálni P12 PEM. Erre a feladatra, írtam egy egyszerű shell script.
Konvertálja a kapott segítséget az Apple Dev igazolást az előírt formátumban:
A folyamat során a rendszer kérni fogja a jelszót a tanúsítvány, ha ők hozták létre a jelszó megadása nélkül, csak nyomja meg az Entert. Az eredmény ez a művelet lesz PEM fájlokat az azonos nevű.
Ugyanez script lehet tesztelni, ami tovább kiküszöböli a sok probléma, amikor hibakeresés:
Ha a kapcsolat azonnal alaphelyzetbe vagy SSL-hiba jelenik meg, akkor valamit rosszul csinált.
A mi projektek, azt használja PyAPNs könyvtárban. Egyszerű fájl pántok körülötte munkagépek összes alapvető feladatok: push.py
Lehetséges, hogy a tokent az app fog jönni hozzád base64 formátumban. majd tárolása előtt a következő átváltási kell tenni.
Ha integrált Django projekt szükséges gondolni közötti váltás fejlesztő és gyártó, valamint egy aszinkron kérést a APNS.
Szinkronhibája érjük el Zeller.
Érdemes gondolkodni, hogyan lehet letiltani az inaktív eszközök: tasks.py:
Írja meg a funkció aszinkron broadcast üzeneteket küldeni több ügyfél arra ösztönzik, hogy saját írás, mint a házi feladatot.