问题标签 [pyfcm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
644 浏览

android - 确保在发送 FCM 数据消息时调用 onMessageReceived(),即使 App 已关闭

我正在尝试从我的服务器发送 FCM数据消息。这是消息请求的样子:

或者,当我使用PyFcm

我通过省略该notification部分来确保它是一条数据消息。这样,根据FCM 指南,当应用程序处于后台或前台时,将调用onMessageReceived()a 。FirebaseMessagingService

但是,当应用程序关闭时,有时onMessageReceived()会调用,有时不会。我有什么办法可以确保它始终被调用,即使应用程序关闭也是如此?

0 投票
1 回答
1924 浏览

javascript - 如何在pyfcm中设置registration_id

所以我有推送通知的项目,我有使用 Ionic 构建的应用程序(客户端 - 接收通知),我有服务器使用 pyfcm 推送通知。

在 pyfcm 中,如何获取 registration_id ?我尝试虚拟registration_id然后响应是:

我有一些教程来自这里https://github.com/olucurious/PyFCM和这里https://medium.com/@ankushaggarwal/push-notifications-in-ionic-2-658461108c59 并且有代码叫做:

如何检索注册 ID?

任何帮助将不胜感激..

0 投票
1 回答
1003 浏览

ios - 使用 FCM 的本地化通知 iOS 10

我们有一个 Django 后端服务器,它使用 pyfcm 通过 Firebase 云消息传递 (FCM) 传递通知。我刚刚更新到今天发布的 1.3.0 版。我想使用loc-keyloc-args参数发送通知,以便它可以以用户在手机上使用的语言显示。通知到达设备,它会振动并发出新通知的默认声音,但不会显示。除了声音和振动,它什么也没发生。

这是发送到 fcm 端点的服务器生成的有效负载:

在客户端,这是电话收到的内容:

在显示消息之前我需要做些什么吗?发送不带loc-keyloc-args但带message-body的消息会在设备上显示通知。也许有效载荷是错误的?做我想做的事应该是什么样子?在这种情况下,密钥以任何可用语言notification-follow在文件中列出和翻译。Localizable.strings

0 投票
1 回答
346 浏览

android - Firebase onMessageReceived() 未通过 pyfcm 调用

我正在尝试通过 FCM 传递“徽章”号码。我知道 onMessageReceived() 仅在以下情况下被调用:[有效负载仅包含“数据”,没有消息]

我在服务器端使用“com.google.firebase:firebase-messaging:11.0.2”和pyfcm来发送我的通知。

我的服务:

manifest.xml 中的我的服务:

我已阅读内容,但没有关闭应用程序(只需按 HOME),但 logcat(verbose) 仍然没有显示任何内容。有什么可能的原因吗?

0 投票
2 回答
2596 浏览

django - 使用 pyfcm 时出现导入错误

安装 pyfcm 使用:pip install pyfcm

在 python2.7 和 python3.5 中都出现此导入错误

0 投票
1 回答
942 浏览

python-3.x - FCM 中受限制的包名称使用示例

我目前正在开发两个不同的应用程序,但在单个硬件设备上测试它们(因为这是我的使用场景之一) - 我在StackOverflow 上看到了一个类似的问题,关于如何将通知发送到同一项目中的两个应用程序之一火力基地

但是,就我而言,我有两个不同的应用程序(具有不同的包名称)并且希望能够在使用 push_service.notify_single_device() 时进行区分。

从上一个问题我知道我可以使用restricted_package_name,但经过大量谷歌搜索,我还没有找到任何示例代码。我该如何使用它?

以下用法正确吗?

如果有人可以分享一些我可以查看并理解的示例/示例代码,那就太好了。

0 投票
1 回答
5072 浏览

python - 如何在 python 中使用 cURL

我想在(带有pycurl的python)中使用这个cURL命令:

我的源代码是这样的

0 投票
1 回答
715 浏览

android - FCM - 以不同用户身份登录后无法接收从同一设备发送的通知

我正在使用PyFCM从我的 Flask 服务器发送通知,并且正在单个 Android 设备上对其进行测试。测试是这样的:我以用户 A 的身份登录,我对用户 B 的帖子发表评论,一旦 B 登录,该帖子应显示推送通知。以下是我从服务器发送通知的方式:

这就是我在 Android 的 Firebase 消息服务中接收消息的方式:

如您所见,我有这个条件:senderId != currentUser.id在实际编写通知之前。这是因为我使用一台设备发送和接收通知,所以用户 A 和 B 只有一个注册 ID/令牌。如果我删除该条件,用户 A 将在评论 B 的帖子后立即收到通知。我想确保 B 是收到通知的人。但是,在以 A 身份注销并以 B 身份登录后,我看不到任何推送通知。

0 投票
0 回答
145 浏览

python - 推送通知不适用于推送通知时间

当我在 python 中使用推送通知时,我无法按要求发送推送通知时间

示例:1m 或 60m 等

我在应用程序中使用https://github.com/olucurious/PyFCM这个。

请举例说明如何根据需要发送推送通知时间

我们需要在哪里发送此应用程序的推送通知类型当我设置时间时,会遇到很多问题,并且示例不会在整个示例中退出。

完整示例:

0 投票
2 回答
2413 浏览

javascript - Firebase 云消息传递 - Django - 我如何为工作人员提供服务?

从温和理解的地方更新:

我已经阅读了很多关于 Service Worker 的内容,并且推进了我正在从事的项目,远远超过了我写这篇文章时的水平。

我在这里探索的主要问题(firebase-messaging-sw.js从域的根目录获得服务)已通过ServiceWorkerView以下方式解决。

有趣的事实:事实证明,firebase-messaging-sw.js从域的根目录提供服务的原因是 Service Worker 的控制范围是由 URL 定义的。所以,虽然:

http://whatever.com/firebase-messaging-sw.js掌控一切,

http://whatever.com/static/firebase-messaging-sw.js只能控制下面的所有内容/static/(在这种情况下,只有 Django 提供的静态资源)。即使 JS 文件是静态的,它也需要控制该路径之外的页面。

了解 Service Worker 的良好起点

原始问题:

如何让 FCM 服务人员 ( firebase-messaging-sw.js) 在 Django 中工作?

我正在django使用fcm-django.

我如何firebase-messaging-sw.js从根本上服务?

Django 默认在路径“/static/”下提供静态资源。将 STATIC_URL 更改为“/”可以firebase-messaging-sw.js使用,但没有其他内容。

我尝试了将以下内容放入我的 urls.py 的建议:

url(r'^(?!/static/.*)(?P<path>.*\..*)$', RedirectView.as_view(url='/static/%(path)s'))

虽然显然是对正则表达式魔法的光荣使用,但事实证明服务工作者不能支持重定向。(我想这也与有趣的事实有关)

我在 urlconf 中写了一个由显式 URL 指向的视图。这样可行。

网址.py:

path('firebase-messaging-sw.js', views.ServiceWorkerView.as_view(), name='service_worker')

现在 urlhttp://localhost:8000/firebase-messaging-sw.js提供了 javascript;但是,Firebase 抱怨内容类型是text/plain

所以我将视图更改为:

我得到的错误是:

Uncaught (in promise) TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetch the script.

我的firebase-messaging-sw.js(注意没有任何 console.log 语句打印):

最后,我的设备注册页面(我不确定如何运行 javascript 然后提交。form.submit() 不起作用,但这可能是因为其他事情不起作用..?(fcm/fcmtest/templates/fcmtest/device_registration.html):

我尝试manifest.json按照 https://firebase.google.com/docs/cloud-messaging/js/client上的说明添加一个

它目前由我的静态文件提供,并在注册和发送页面中链接

我的控制台中的错误:

Uncaught (in promise) TypeError: Failed to register a ServiceWorker: A bad HTTP response code (404) was received when fetch the script.

获取脚本时收到错误的 HTTP 响应代码 (404)。

加载资源失败:net::ERR_INVALID_RESPONSE

firebase-messaging-sw.js:3 未捕获

(匿名)@ firebase-messaging-sw.js:3

index.esm.js:1945 未捕获(承诺)

目的

浏览器错误消息:

“注册 ServiceWorker 失败:ServiceWorker 脚本评估失败”

代码:

“消息/失败的服务工作者注册”

信息:

“消息:我们无法注册默认服务工作者。无法注册服务工作者:服务工作者脚本评估失败(消息/失败的服务工作者注册)。”

堆:

“FirebaseError:消息:我们无法注册默认服务工作者。未能注册服务工作者:服务工作者脚本评估失败(消息/失败-服务工作者-注册)。↵在https://www.gstatic.com/firebasejs/5.2 .0/firebase-messaging.js:1:34104 "