我试图弄清楚如何使用聚合物<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未捕获(已承诺)TypeError:无法读取未定义的属性“ active”(…)
我不知道我是否忘记了什么,而Cat Push Notifications project根本没有帮助,我无法使其正常工作...
谁能指出我正确的方向?
最佳答案
platinum-push-messaging
元素可用于使用gcm_sender_id
订阅推送通知(GCM表示Google Cloud Messaging)。
如果您将项目托管在Firebase上,则可以在项目的Console>项目设置> Cloud Messaging中找到gcm_sender_id
。
否则,您可以在Google Developers Console中创建一个Project,并在设置中找到ID(Project Number)。
注意:由于Docs中的“要求”部分,推送消息当前仅在Google Chrome中可用。
但是,让我们逐步进行演示(适用于MAC和UNIX-这就是官方演示所支持的内容):
创建一个新文件夹并在其中打开一个终端
运行bower init
(对于bower.json
)
运行bower install PolymerElements/paper-elements
(我们将使用的官方演示所使用的元素)
运行bower install PolymerElements/platinum-push-messaging
(您将获得bower_components
文件夹,其中包含演示所需的所有内容)
为platinum-push-messaging
和the offical demo获取manifest.json(将这些文件复制到刚创建的文件夹中)
在index.html
中,将6 rel="imports"
更改为.html
内相应元素的bower_components
文件,并将webcomponents包含为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">
转到Google Developers Console并创建一个项目。
选择“管理所有项目”,“设置”,选择您的项目并复制“项目编号”
打开
manifest.json
并将gcm_sender_id
设置为复制的号码。返回Google Developers Console并打开“ API Manager”(左侧栏)“ Credentials”
创建一个新的凭据服务器密钥并复制API密钥(在以后的步骤中将需要它,因此将其保存为.txt或类似名称)
打开“库”,然后单击“ Google Cloud Messaging”,然后单击“启用”(在屏幕顶部)。
运行
polymer serve --open
单击
paper-toggle-button
启用推式消息传递(如果当前订阅未显示任何内容,请尝试禁用并重新启用它)复制
curl
底部的paper-material
命令将命令粘贴到终端,并用在步骤11中复制的API密钥替换
[YOUR_PUBLIC_API_KEY]
当您运行命令时,您应该收到一条推送消息!
注意:如果您在Google Developers Console中找不到东西时遇到问题,请使用great Tutorial。