2016-07-28 5 views
2

Ich versuche herauszufinden, wie das Polymer <platinum-push-messaging> Element verwenden, aber ohne Glück. In der Dokumentation für das Element, sagt es, dass Sie Ihre „gcm_sender_id“ müssen sich registrieren, und dann definieren das Element selbst, wie folgt aus:Polymer Platin-Push-Messaging-Element

<platinum-push-messaging 
    title="Application updated" 
    message="The application was updated in the background" 
    icon-url="icon.png" 
    click-url="notification.html"> 
</platinum-push-messaging> 

Um es zu testen gibt es ein Verfahren testPush(message) genannt, aber es mich immer wieder der folgende Fehler:

platinum-push-messaging.html:437 Uncaught (in promise) TypeError: Cannot read property 'active' of undefined(…)

ich weiß nicht, ob ich etwas vergessen, und die Cat Push Notifications project gar nicht helfen, ich es nicht funktioniert ...

kann jemand Punkt könnte mich in die richtige Richtung ??

Antwort

4

Das Element platinum-push-messaging kann verwendet werden, um Push-Benachrichtigungen unter Verwendung einer gcm_sender_id (GCM steht für Google Cloud Messaging) zu abonnieren. Wenn Sie Ihr Projekt auf Firebase hosten, finden Sie Ihre gcm_sender_id in der Console Ihres Projekts> Projekteinstellungen> Cloud Messaging.

Ansonsten können Sie ein Projekt im Google Developers Console erstellen und die ID in den Einstellungen (Projektnummer) finden.

Hinweis: Aufgrund des Abschnitts "Anforderungen" in der Docs ist Push-Messaging derzeit nur in Google Chrome verfügbar.

Aber lassen Sie uns Schritt Demo einen Schritt tun (Works für MAC und UNIX - das ist, was die offizielle Demo unterstützt):

  1. einen neuen Ordner erstellen und öffnen Sie ein Terminal im Inneren
  2. Run bower init (für die bower.json)
  3. Run bower install PolymerElements/paper-elements (Elemente von der offiziellen Demo verwendet werden wir verwenden)
  4. Run bower install PolymerElements/platinum-push-messaging (Sie werden die bower_components Ordner mit allem, was für die Demo)
  5. benötigt bekommen
  6. Get the offical demo für platinum-push-messaging und die manifest.json (kopieren Sie diese Dateien in den Ordner, den Sie gerade erstellt haben)
  7. In index.html Änderung des den 6 rel="imports" auf das entsprechende Element .html Datei in bower_components und die WebComponents gehören zu bower_components/webcomponentsjs/webcomponents-lite.min.js. Die Einfuhren sollte wie folgt aussehen etwas:

    <script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script> 
    <link rel="import" href="bower_components/paper-styles/paper-styles.html"> 
    <link rel="import" href="bower_components/paper-styles/classes/global.html"> 
    <link rel="import" href="bower_components/paper-item/paper-item.html"> 
    <link rel="import" href="bower_components/paper-material/paper-material.html"> 
    <link rel="import" href="bower_components/paper-toggle-button/paper-toggle-button.html"> 
    <link rel="import" href="bower_components/platinum-push-messaging/platinum-push-messaging.html"> 
    <link rel="manifest" href="manifest.json"> 
    
  8. Zum Google Developers Console und ein Projekt erstellen.

  9. Wählen Sie „Verwaltung aller Projekte“, „Einstellungen“, wählen Sie Ihr Projekt und kopieren Sie die „Projektnummer“
  10. öffnen manifest.json und setzen gcm_sender_id auf die kopierte Nummer.
  11. zum Google Developers Console Gehen Sie zurück und öffnen Sie die „API-Manager“ (linke Seitenleiste), „Credentials“
  12. Erstellen Sie ein neues Credential Server Schlüssel und kopieren Sie die API Schlüssel (Sie es in einem späteren Schritt benötigen Speichern Sie es in einer .txt oder ähnlichen Datei.
  13. Öffnen Sie "Bibliothek" und klicken Sie auf "Google Cloud Messaging" und klicken Sie auf Aktivieren Sie (oben auf dem Bildschirm).
  14. Run polymer serve --open
  15. Klicken Sie auf das paper-toggle-button Push-Messaging zu ermöglichen (wenn das aktuelle Abonnement nichts angezeigt, versuchen Sie es zu deaktivieren und zu reaktivieren)
  16. Kopieren Sie die curl Befehl an der Unterseite des paper-material
  17. Fügen Sie den Befehl in Ihr Terminal ein und ersetzen Sie [YOUR_PUBLIC_API_KEY] durch den in Schritt 11 kopierten API-Schlüssel
  18. Wenn Sie den Befehl ausführen, sollten Sie eine Push-Nachricht erhalten!

Hinweis: Wenn Sie Probleme zu finden Sachen in der Google Developers Console haben, gibt es eine great Tutorial.

+0

Super !!! Das ist besser als die Dokumentation, die es in der Polymer-Website gibt, vielen Dank ... – RoO