Implementarea serverului de notificări push ios (python)

Implementarea serverului de notificări push ios (python)

Am scris deja un articol despre implementarea notificărilor Push utilizând serviciul Urban. Această metodă are o serie de avantaje și dezavantaje. Avantajele pe care le-am descris în articolul de mai sus, lipsa de serviciu în limitele sale cu privire la numărul de mesaje gratuite și întreruperile periodice pentru întreținere.







Astăzi vom examina punerea în aplicare a notificărilor iOS Push cu mâinile mele pentru programele Python.

Notificările IOS Push sunt de două tipuri: locale și de la distanță. Local sunt inițiate de aplicație pe partea clientului și nu sunt luate în considerare în acest articol. Notificările de la distanță sunt trimise de la server la aplicația client utilizând serviciul APNS (Serviciul de notificare prin apăsarea Apple). Procesul este următorul:

Implementarea serverului de notificări push ios (python)
  1. Aplicația se înregistrează cu APNS și primește dispozitivul Token;
  2. Aplicația spune Device Token la serverul nostru;
  3. Acum, serverul poate stabili o conexiune SSL cu APNS și poate trimite o notificare Push;

Implementarea serverului de notificări push ios (python)






Selectați aplicația și accesați secțiunea de setări: Configurare.

Descărcați certificatele de producție și dezvoltare (* .cer). Este posibil să fie necesar să activați mai întâi notificările Push pentru aplicația dvs. și să le creați.

Implementarea serverului de notificări push ios (python)

Următorii pași sunt cel mai bine realizați pe un computer cu OSX. Importați certificatele primite și exportați-le în format p12. Probabil că veți avea nevoie de o cheie de dezvoltator cu care au fost create cereri de CSR.

Implementarea serverului de notificări push ios (python)

Fișierul rezultat în format p12 trebuie să fie convertit în pem. Pentru această sarcină, am scris un script shell simplu.

Conversați-l cu ajutorul certificatului primit de la Apple Dev în formatul de care avem nevoie:

În acest proces vi se va cere o parolă pentru certificate, dacă au fost create fără o parolă, apăsați Enter. Rezultatul acestei operațiuni va fi fișierele pem cu aceleași nume.

Același script poate fi testat, ceea ce în viitor vă va salva o mulțime de probleme atunci când depanați:

Dacă conexiunea este imediat abandonată sau erorile SSL sunt afișate, ați făcut ceva greșit.

În proiectele mele folosesc biblioteca PyAPNs. Un fișier simplu înfășurat în jurul acestuia implementează toate sarcinile principale: push.py

Este posibil ca tokenul din aplicație să vină la dvs. în formatul Base64. atunci înainte de salvare trebuie efectuate următoarele transformări.

Atunci când se integrează cu proiectul Django, trebuie să vă gândiți la schimbarea între dezvoltator și producție și despre interogările asincrone în APNS.

Asynchronia este realizată folosind Țelina.

Merită să ne gândim la dezactivarea dispozitivelor inactive: tasks.py:

Scrierea unei funcții pentru mesajele difuzate asincron către mai mulți clienți este oferită pentru auto-scriere ca temă.







Trimiteți-le prietenilor: