问题标签 [android-push-notification]
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.
android - 有没有办法知道是否启用了数据保护程序?
Android 7.0 Nougat 添加了 Data Saver 功能,允许用户限制某些应用程序的后台数据(包括推送通知)。当流量节省程序开启时,只有列表中的应用程序在
设置 → 数据保护程序 → 不受限制的数据访问
允许接收推送通知并执行后台网络调用。如果数据保护程序关闭并且您的应用程序不在不受限制的列表中,这很像禁用推送通知。
我的应用程序中有一个用例,它正在等待推送通知的到来。
我想知道是否有办法查明数据保护程序是否已启用,以及我的应用程序是否在“不受限制的数据访问”列表中,以了解是否为我的应用程序启用了推送通知,因此是否有必要等待推送并有机会在应用程序在特定时间处于后台时执行任何网络调用。
android - 我没有在 MainActivity 的 onNewIntent 方法中获取我的包的数据
我在 FireBaseService 中收到推送通知,我想将其数据发送到 MainActivity,下面是我的代码:
onNewIntent()
被调用,但是当我解析它时,它给了我空数据。我做错什么了吗?
提前致谢。
编辑:我的 MainActivity 启动模式是 singleTop (获取它的相同实例)
android - 跟踪推送通知点击
我有一个处理应用程序推送通知的 android 库项目。我必须在收到通知后跟踪不同的用户操作。我收到收到通知、呈现通知等事件,但有什么方法可以跟踪 android 中的推送通知点击吗?
android - 如何从 onMessageReceived (of FirebaseMessagingService) 中找出当前 (top) Activity?
我一直在到处搜索,但不知道如何获取正在运行的 Android 应用程序的当前(顶级)活动。
好吧,我的场景是当应用程序在前台时我收到了一个 Firebase 云消息传递数据有效负载,并且调用了onMessageReceived(FirebaseMessagingService 的子类)。我需要找出用户正在查看的屏幕,然后决定关闭(finish())它或发送一些数据(通过 Extras / Bundle)并刷新视图。
那么,如何找出当前视图/活动是什么,并讨论或发送一些数据并导致视图刷新?
谢谢!
java - 如何获取运行在前台的 Android 应用的 Activity 实例?
如何获取正在运行的 Andoind 应用程序的当前顶级活动的实际 Activity实例?
原因:当我的应用程序在前台运行时,我从 Firebase 接收到 OnMessageReceived Data 有效负载,我需要完成()它。
注意:还有很多其他信息可以使用 getRunningTasks() 或 getAppTasks() 获取 ComponentName,但所有这些似乎都没有提供任何获取实际 Activity 实例的方法。
android - Firebase 通知暂时出现
我在我的应用程序中收到的(firebase 推送)通知存在这个问题。它们只出现一秒钟,然后消失。我真的不知道我做错了什么。这是我的代码:
这是我的 NotificationUtils 类:
{
}
php - 当我使用 curl 发送 fcm 通知时,php 脚本执行两次
我正在尝试使用 FCM 和 PHP 中的 curl 函数向多个用户发送通知。有时它发送完美,有时它重新执行整个页面并插入两次值并发送两次通知。
这是我的通知代码
android - 解析服务器(自托管)不使用 FCM 发送 android 通知
嗨,我在数字海洋上有自托管解析服务器,它在 iOS 上发送通知,但在 android 上不发送。我的 index.js 文件如下所示:
当我从解析仪表板(也是自托管的)发送推送时,这是我得到的详细响应:true:
当我从 FCM 发送 android 推送时,它可以工作。我真的迷失在这里与android push,有人可以指出我正确的方向。
这是日志的输出:
php - 如何使用 php 主机/服务器在两个 android 设备之间部署连接
我正在尝试将连续数据(如位置)从 android 设备 A 发送到 android 设备 B 。
现在android设备A向服务器发送数据,服务器将数据保存在数据库中,然后设备B不断地从服务器读取数据。
1- 有什么方法可以直接连接这些设备,或者以一种减轻服务器负载的方式连接?
2 或者告诉设备B等到服务器上有新数据的方法?
3 如果我应该对第二个问题使用推送通知,我可以制作自己的推送通知服务器而不使用谷歌云消息吗?
4 Whatsapp 和电报等消息应用程序如何处理从一部手机向另一部手机发送数据?
android - GCM 通知在几周后停止到达
我们有一个 Android 应用程序,用于向使用 GCM 的用户发送内容(技术文章、演练指南等)。我们使用对某些服务的 REST 调用在两个点监视发送:
- 在我们的服务器发送通知后立即。
- 一旦我们的应用程序收到它,立即。
我们感兴趣的是到达应用程序的通知数量与已发送通知的比率。最近我们注意到,从 2017 年 3 月开始,报告收到的通知似乎减少了,而且这个比率下降了。显然,我们主要担心的是通知根本无法到达 Android 设备。
几点注意事项:
- 我们平均每 7 天发送一次通知。
- 除了打开通知和阅读内容之外,我们的大多数用户很可能不会定期使用或启动该应用程序。
- 看起来这种下降是从 Android N 的推出开始的,并且在应用程序首次安装后的前两周后变得更加重要。
这意味着将 Android M 与 N 进行比较,在前两周,两个操作系统版本的接收通知比率相同,但之后 Android N 的比率下降得更快。
起初我们认为用户正在为我们的应用程序“阻止所有通知”(在 Android N 上更容易做到),但使用NotificationManagerCompat.areNotificationsEnabled()
我们发现情况并非如此。
然后,我们在打盹和待机模式下测试了我们的应用程序行为,但我们找不到证据表明它们是导致我们问题的原因。
一些技术信息:
- 我们使用 GCM(不是 FCM)。我们使用具有正常优先级的数据类型通知,并且我们在通知托盘中手动显示通知。
- 我们使用PushSharp从我们的服务器发送通知。如果我们收到“设备订阅已过期”,我们将不再向该设备发送通知。
- 在我们的 Android 应用程序中,我们根据 Google 的指南实施了 GCM 令牌刷新。
- 我们
GcmBroadcastReceiver
是一个WakefulBroadcastReceiver
用于在接收到通知意图时startWakefulService
启动的。GcmIntentService
GcmIntentService
处理通知意图(以及其他东西使我上面提到的监控 REST 调用)和一旦完成调用GcmBroadcastReceiver.completeWakefulIntent
。
不共享代码,因为它非常直接,如果相关,将很乐意分享。
我会很感激有人可以分享的任何见解或想法。