Ich versuche, Push-Benachrichtigungen in einem progressiven Web-Anwendungen zu implementieren und verwende die neue Payload-Unterstützung in Chrome.Schlüssel Eigenschaft existiert nicht auf meinem Objekt PushRegistration
Ich versuche, den Endpunkt und Schlüssel auf den Server zu senden, aber nicht sehen, die Tasten-Eigenschaft auf dem PushSubscription Objekt ...
Wie kann ich die Schlüssel, damit ich sie sende der Server?
Sie könnten etwas tun wie: 'btoa (String.fromCharCode.apply (null, neue Uint8Array (subscription.getKey ('p256dh'))));', wie https://serviceworke.rs/push-payload_index_doc. html. – Marco
Ich habe beide versucht und sie haben unterschiedliche Ergebnisse. In meinem Experiment führte der "btoa" -Ansatz zu "BIG/OUeTvBk0tfplr + eNOh ...", während "stringify" zu "BIG_OUeTvBk0tfplr-eNOh ..." führte. Diese sind offensichtlich verschieden und ich glaube, dass diese Unterscheidung mich Probleme mit der Web-Push-Bibliothek verursacht. Irgendwelche Gedanken über die Unterscheidung und eine mögliche Lösung? – owencm
Der Unterschied ist Standard base64 vs URL-safe base64. Mit der 'web-push'-Bibliothek sollten Sie beides unscharf verwenden können. – Marco