Senden Sie Push-Benachrichtigungen mit Python2 an iOS-Apps (mit Beispielcode).

Einführung

Ich habe letztes Mal einen ähnlichen Artikel geschrieben, Ich habe es geschrieben, ohne zu experimentieren, und da ich es tatsächlich ausprobiert habe und es nicht funktioniert hat, werde ich den Artikel erneut schreiben, einschließlich Korrekturen!

Push-Benachrichtigungen mit Python an iOS-Apps senden

Umgebung

Umweltzusammensetzung

Installieren Sie apns mit pip, nachdem Sie mit Virtualenv eine virtuelle Umgebung erstellt haben

$ pip install apns

Vorbereitung

Exportieren Sie eine PEM-Datei für Push-Benachrichtigungen aus dem Schlüsselbund.

スクリーンショット_2016-09-17_午前11_04_45.png

  1. Exportieren Sie die p12-Dateien für Entwicklung und Verteilung, einschließlich der öffentlichen und privaten Schlüssel.

Wenn Sie den privaten Schlüssel mit demselben Namen verwenden, können Sie ihn wiederverwenden. Behalten Sie ihn also mit demselben Namen bei. 2. Exportieren Sie auf die gleiche Weise für den privaten Schlüssel nur den ** privaten Schlüssel ** im p12-Format. 3. Konvertieren Sie jede der drei PEM-Dateien mit dem folgenden Befehl in eine PEM-Datei

$ openssl pkcs12 -in secret.p12 -out secret.pem -nodes -clcerts

Bitte ändern Sie den Namen, damit Sie ihn sehen können. Bitte beim Exportieren ohne Passwort einstellen.

Quellcode

An ein Terminal senden

Ich richte eine PEM-Datei für Developer ein.

single.py


# coding: utf-8

import time
from apns import APNs, Payload

apns = APNs(use_sandbox=True, cert_file='develop.pem', key_file='secret.pem')

token_hex = '45f9f318ac6506742a54a3b8bb6493c72cdad9afe2c154d5295e9db15cdf83a7'

content = "Prüfung!!"
content = content.decode('utf-8')

payload = Payload(alert=content, sound="default", badge=1)
apns.gateway_server.send_notification(token_hex, payload)

cert_file ist der öffentliche Schlüssel. key_file ist der private Schlüssel.

An mehrere Terminals senden

Dieses Mal habe ich die für DeployGate angegebene getestet und die PEM-Datei für die Verteilung festgelegt.

multi.py


# coding: utf-8

import time
from apns import APNs, Frame, Payload

apns = APNs(use_sandbox=False, cert_file='distribution.pem', key_file='secret.pem', enhanced=True)

token_hex = ['417a7b3329c86240b159b816313a3ae51ff9059b98ac29bc7cbcbd36dd41e2a9',
             '446d18e7a621d371a8683d0d33bf9080091efbf693f5b591f9ec307a1e627d46']

message = "Botschaft! !!"
message = message.decode('utf-8')

payload = Payload(alert=message, sound="default", badge=1, custom={'uri': 'https://nnsnodnb.moe'})

frame = Frame()
identifier = 1
expiry = time.time() + 3600
priority = 10

for token in token_hex:
    frame.add_item(token, payload, identifier, expiry, priority)

apns.gateway_server.send_notification_multiple(frame)

Beim Senden an mehrere Terminals scheint es wichtig zu sein, "erweitert" auf das Element "APNs" zu setzen. Ich habe vergessen, den Link zu verwenden, aber er wurde zum Thema GitHub im PyAPNs-Paket veröffentlicht.

Ist es auch möglich, Push mit Bildern von iOS10 zu unterstützen, indem "mutable_content = True" auf die gleiche Weise auf "Payload" gesetzt wird?

Ergebnis

IMG_0136.png

Ich kann die Symbole nicht anzeigen, da sie derzeit für den privaten Gebrauch entwickelt werden, aber ich habe eine solche Benachrichtigung erhalten! Sie können JSON anstelle von "custom" einbetten, so dass Sie so etwas anscheinend ganz einfach tun können!

Andere

GitHub-Repository.

nnsnodnb/APNs-Push-Notification

Paket diesmal verwendet

djacobs/PyAPNs

Anscheinend unterstützt es Python3 nicht, also muss ich selbst etwas dagegen tun. Auch wenn es 2to3 ist, ändert es sich aus irgendeinem Grund nicht! ??

Recommended Posts

Senden Sie Push-Benachrichtigungen mit Python2 an iOS-Apps (mit Beispielcode).
Senden Sie Push-Benachrichtigungen mit Python an iOS-Apps
Beispiel für eine Slack-Benachrichtigung mit Python Lambda
HTML-Mail mit Bild zum Senden mit Python
Beispiel für die Wavelet-Konvertierung von Bildern in Python
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
Senden Sie eine E-Mail mit Python an Spushis Adresse
Schreiben Sie Python2-Code in Python3 um (2to3)
Mail per Python senden
Python Ver. Einführung in WebPay mit ein wenig Code
Spezifischer Beispielcode für die Arbeit mit SQLite3 in Python
PUSH-Benachrichtigung von Python an Android mithilfe der Google-API
Beispielcode für den Einstieg in den GLSL-Shader in Processing (entweder Java oder Python)
Holen Sie sich den Ländercode mit Python
Mit Python erstellte Beispieldaten
Python mit VSCode (Windows 10)
Stellen Sie mit Python eine Verbindung zu BigQuery her
Senden Sie japanische Post mit Python3
Einstellungen beim Entwickeln von App Engine / Python-Apps mit VS-Code
So installieren Sie NPI + Senden Sie eine Nachricht an Python
Eine Python-Probe zum Lernen von XOR mit einem genetischen Algorithmus in einem neuronalen Netz
Ich habe verschiedene Methoden ausprobiert, um japanische Post mit Python zu senden
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Führen Sie den Python-Beispielcode BNO055 mit I2C (Raspberry Pi 3B) aus.
Debuggen Sie Python mit VS-Code
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
[Python] Beispielcode für die Python-Grammatik
Konvertieren Sie Python 3.x-Code in Python 2.x.
Senden Sie mit Python mit Google Mail
Führen Sie Jupyter mit der REST-API aus, um Python-Code zu extrahieren und zu speichern
Senden Sie Push-Benachrichtigungen von iOS-Apps über Firebase Cloud Messaging
Versuchen Sie, eine Python-Umgebung mit Visual Studio Code & WSL zu erstellen
Beispiel zur Verwendung nach OAuth-Authentifizierung der BOX-API mit Python
Herstellen einer Verbindung zum Cloud Firestore über Google Cloud-Funktionen mit Python-Code
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
So erstellen Sie eine Python- und Jupyter-Ausführungsumgebung mit VSCode
Python: So verwenden Sie Async mit
Link, um mit Python zu beginnen
[Python] Mit Python in eine CSV-Datei schreiben
Schön dich mit Python zu treffen
Versuchen Sie, Facebook mit Python zu betreiben
Ausgabe in eine CSV-Datei mit Python
[Automatisierung] Senden Sie Outlook-E-Mails mit Python
Überwachen Sie Python-Webanwendungen mit Prometheus
Konvertieren Sie die Liste mit Python in DataFrame
Erste Schritte mit Python
Implementierte iOS-Push-Benachrichtigungen in Firebase
Was tun mit PYTHON Release?
So berechnen Sie das Datum mit Python
Ich möchte mit Python debuggen
[Python] Mail mit Outlook senden
Senden Sie mehrteilige / Formulardaten mit Python-Anforderungen
Sende Bild mit Python und speichere mit PHP
Installieren Sie Python mit Mac vs Code
[Python] API zum Senden von Google Mail erstellen
Senden Sie E-Mails über Google Mail mit Python 3.4.3.
Was tun, wenn Sie mit Python keine E-Mail an Yahoo senden konnten?