2016-06-16 28 views
1

Ich verwende die Pushpad.xyz-Bibliothek und habe meine Chrome-Benachrichtigungen aktiviert. Bei Firefox rufe ich Pushpad ('nicht unterstützt', CallbackFunction) auf und die CallbackFunction wird erfolgreich ausgeführt (ein weiterer Fehler, den ich separat ausfinde, da Firefox unterstützt werden sollte). Ich kann jedoch keine Safari-Benachrichtigungen erhalten. Ich habe die Zertifikate meines Apple-Entwicklers eingegeben, wie in https://pushpad.xyz/docs/pushpad_pro_requirements angefordert.Ich kann die Pushpad Safari-Benachrichtigungen nicht abonnieren

pushpad('init', projectID); 
pushpad('uid', signature); 
pushpad('subscribe', function(isSubscribed) { alert(isSubscribed); }); 

pushpad('unsupported', function() { alert('Unsupported browser'); }); 

Bei Safari bekomme ich den Rückruf nicht unterstützt und die Dokumente sagen, dass Safari unterstützt wird. Warum heißt es, dass der Benutzer (ich) Benachrichtigungen für diese Website blockiert hat? Der Rückruf zu "status" gibt immer false zurück. Gibt es eine Möglichkeit zu überprüfen, ob ich mein Apple-Zertifikat korrekt eingerichtet habe? Vielen Dank!

Antwort

0

Das Problem mit Safari hängt definitiv mit dem Download des Push-Pakets und seiner Signatur zusammen.

Wenn pushpad('subscribe') aufgerufen wird Safari versucht, ein Push-Paket von Pushpad-Servern herunterzuladen und seine Integrität und Signatur zu überprüfen. Wenn ein Fehler auftritt (z. B. wenn die Signaturprüfung fehlschlägt), wird der Benutzer nicht einmal nach der Berechtigung gefragt und die Berechtigung ist nicht granted (sein Wert bleibt default).

Sie sehen also diese seltsame Nachricht, die besagt, dass der Benutzer keine Berechtigung erteilt hat. In Wirklichkeit ist es nicht der Benutzer, der die Benachrichtigungen blockiert: Es ist Safari, der sich weigert, Push-Benachrichtigungen zu abonnieren, weil das Push-Paket ungültig ist.

Bitte versuchen Sie erneut zu generieren und beheben Sie den privaten APNS-Schlüssel und APNS-Zertifikat in den Einstellungen Ihres Absenders auf Pushpad. Dies sollte das Problem lösen.

Stellen Sie sicher, für APNS beschrieben hier genau die Schritte folgen: https://pushpad.xyz/docs/pushpad_pro_requirements

Wenn Sie Ihre Website lokal stellen Sie sicher, die Anweisungen testen zu folgen, wie in der "Working Locally" section beschrieben:

  • Pass Die hostname Option zu init
  • stellen Sie sicher, dass die Adresse genau http://localhost ist (wenn Sie fo verwenden r Beispiel http://127.0.0.1 Safari funktioniert nicht lokal)