聚合物铂 - 推送消息元素

时间:2016-07-28 19:07:23

标签: javascript push-notification polymer

我正试图弄清楚如何使用聚合物<platinum-push-messaging>元素,但没有运气。在元素的文档中,它表示您需要注册“gcm_sender_id”,然后定义元素本身,如下所示:

<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>

为了测试它,有一个名为testPush(message)的方法,但它总是返回以下错误:

  

platinum-push-messaging.html:437 Uncaught(in promise)TypeError:无法读取undefined(...)的属性“active”

我不知道我是否忘了什么,而Cat Push Notifications project根本没有帮助,我无法让它发挥作用......

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:4)

platinum-push-messaging元素可用于使用gcm_sender_id订阅推送通知(GCM代表Google Cloud Messaging)。

如果您在Firebase上托管项目,则可以在项目的Console中找到gcm_sender_id&gt;项目设置&gt;云消息传递。

否则,您可以在Google Developers Console中创建项目,并在设置中找到ID(项目编号)。

注意:由于Docs中的“要求”部分,推送消息目前仅适用于Google Chrome。

但让我们一步一步地演示(适用于MAC和UNIX的工作 - 这就是官方演示支持的内容):

  1. 创建一个新文件夹并在其中打开一个终端
  2. 运行bower init(针对bower.json
  3. 运行bower install PolymerElements/paper-elements(我们将使用的官方演示使用的元素)
  4. 运行bower install PolymerElements/platinum-push-messaging(您将获得bower_components文件夹,其中包含演示所需的所有内容)
  5. 获取platinum-push-messagingthe offical demo manifest.json(将这些文件复制到您刚刚创建的文件夹中)
  6. index.html中将6 rel="imports"更改为.html内相应元素的bower_components文件,并将网络组件添加到bower_components/webcomponentsjs/webcomponents-lite.min.js 。进口应该看起来像这样:

    <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">
    
  7. 转到Google Developers Console并创建一个项目。

  8. 选择&#34;管理所有项目&#34;,&#34;设置&#34;,选择您的项目并复制&#34;项目编号&#34;
  9. 打开manifest.json并将gcm_sender_id设置为复制的号码。
  10. 返回Google Developers Console并打开&#34; API Manager&#34; (左侧边栏),&#34;凭据&#34;
  11. 创建新的凭据服务器密钥并复制API 密钥(您将在稍后的步骤中使用它,因此请将其保存为.txt或类似内容)
  12. Open&#34; Library&#34;并点击&#34; Google Cloud Messaging&#34;然后点击启用(屏幕顶部)。
  13. 运行polymer serve --open
  14. 点击paper-toggle-button启用推送消息(如果当前订阅没有显示任何内容,请尝试禁用并重新启用它)
  15. 复制curl
  16. 底部的paper-material命令
  17. 将命令粘贴到终端,并将[YOUR_PUBLIC_API_KEY]替换为您在步骤11中复制的API密钥
  18. 运行命令时,您应该收到推送消息!
  19. 注意:如果您在Google Developers Console中查找内容时遇到问题,则会有great Tutorial