Android中的黑洞或虚拟设备

时间:2018-05-09 03:06:22

标签: android firebase push-notification firebase-cloud-messaging performance-testing

我正在编写一个向我们的Android应用用户发送推送通知的系统。我是通过XMPP protocol实现的。我想进行负载测试,并了解每秒可以发送多少通知。为此我想要很多虚拟设备ID,好像我使用2-3个设备ID来测试,我开始得到DEVICE_MESSAGE_RATE_EXCEEDED错误。所以我的问题是:

  1. 在进行此测试时,是否有某种方法可以避免DEVICE_MESSAGE_RATE_EXCEEDED,为此我可以将其设置为更高的值。
  2. 是否有某种方法可以获取虚拟设备ID,而不是实际用户,我可以在负载测试期间使用它们。我看到vitual devices的选项已付款,还有其他替代方案吗?
  3. 我无法向实际用户发送静默通知,因为如果我使用与生产相同的发件人ID,我也会开始向我的测试服务器进行生产回调。

1 个答案:

答案 0 :(得分:1)

  

在此测试中是否有某种方法可以避免DEVICE_MESSAGE_RATE_EXCEEDED,我可以将此值设置为更高的值。

当您向特定设备(在您的情况下,只有三个)发送大量消息时,会遇到

DeviceMessageRateExceeded。如果可以,请尝试添加更多注册令牌 - 这意味着您需要更多的测试设备。

目前无法更改此限制的设置。

  

是否有某种方法可以获取虚拟设备ID,而不是实际用户,我可以在负载测试期间使用它们。我看到一个虚拟设备的选项,付费,还有其他选择吗?

没有。来自我的answer here

  

如果通过测试GCM令牌表示注册令牌,则通常在应用安装时生成。话虽如此,您不仅在使用设备时接收它们,还可以在使用模拟器时获取它(我一直用它来进行测试)。