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

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ő:

A kiszolgáló megvalósítása iOS Push értesítések (python)
  1. Az alkalmazás regisztrált a APNS és megkapja Device Token;
  2. Az alkalmazás értesítést küld a készülék Token szerverünk;
  3. Most a szerver SSL-kapcsolat létrehozásához a APNS és küldje Push Notification;

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

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.

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

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 kiszolgáló megvalósítása iOS Push értesítések (python)

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.