Skip to content

Commit 2c5eb7a

Browse files
authored
feat(fcm): Support for sending up to 500 messages in a batch (#263)
1 parent 65bcb22 commit 2c5eb7a

File tree

5 files changed

+9
-9
lines changed

5 files changed

+9
-9
lines changed

FirebaseAdmin/FirebaseAdmin.Snippets/FirebaseMessagingSnippets.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ internal static async Task SendAllAsync()
121121
{
122122
var registrationToken = "YOUR_REGISTRATION_TOKEN";
123123
// [START send_all]
124-
// Create a list containing up to 100 messages.
124+
// Create a list containing up to 500 messages.
125125
var messages = new List<Message>()
126126
{
127127
new Message()
@@ -154,7 +154,7 @@ internal static async Task SendAllAsync()
154154
internal static async Task SendMulticastAsync()
155155
{
156156
// [START send_multicast]
157-
// Create a list containing up to 100 registration tokens.
157+
// Create a list containing up to 500 registration tokens.
158158
// These registration tokens come from the client FCM SDKs.
159159
var registrationTokens = new List<string>()
160160
{

FirebaseAdmin/FirebaseAdmin.Tests/Messaging/FirebaseMessagingClientTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ public async Task SendAllAsyncWithTooManyMessages()
380380
{
381381
var factory = new MockHttpClientFactory(new MockMessageHandler());
382382
var client = this.CreateMessagingClient(factory);
383-
var messages = Enumerable.Range(0, 101).Select(_ => new Message { Topic = "test-topic" });
383+
var messages = Enumerable.Range(0, 501).Select(_ => new Message { Topic = "test-topic" });
384384
await Assert.ThrowsAsync<ArgumentException>(() => client.SendAllAsync(messages));
385385
}
386386

FirebaseAdmin/FirebaseAdmin.Tests/Messaging/MulticastMessageTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void GetMessageListTooManyTokens()
4949
{
5050
var message = new MulticastMessage
5151
{
52-
Tokens = Enumerable.Range(0, 101).Select(x => x.ToString()).ToList(),
52+
Tokens = Enumerable.Range(0, 501).Select(x => x.ToString()).ToList(),
5353
};
5454

5555
Assert.Throws<ArgumentException>(() => message.GetMessageList());

FirebaseAdmin/FirebaseAdmin/Messaging/FirebaseMessagingClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ public async Task<BatchResponse> SendAllAsync(
150150
throw new ArgumentException("At least one message is required.");
151151
}
152152

153-
if (copyOfMessages.Count > 100)
153+
if (copyOfMessages.Count > 500)
154154
{
155-
throw new ArgumentException("At most 100 messages are allowed.");
155+
throw new ArgumentException("At most 500 messages are allowed.");
156156
}
157157

158158
try

FirebaseAdmin/FirebaseAdmin/Messaging/MulticastMessage.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ namespace FirebaseAdmin.Messaging
2121
/// <summary>
2222
/// Represents a message that can be sent to multiple devices via Firebase Cloud Messaging (FCM).
2323
/// Contains payload information as well as the list of device registration tokens to which the
24-
/// message should be sent. A single <c>MulticastMessage</c> may contain up to 100 registration
24+
/// message should be sent. A single <c>MulticastMessage</c> may contain up to 500 registration
2525
/// tokens.
2626
/// </summary>
2727
public sealed class MulticastMessage
@@ -61,9 +61,9 @@ internal List<Message> GetMessageList()
6161
{
6262
var tokens = this.Tokens;
6363

64-
if (tokens == null || tokens.Count > 100)
64+
if (tokens == null || tokens.Count > 500)
6565
{
66-
throw new ArgumentException("Tokens must be non-null and contain at most 100 tokens.");
66+
throw new ArgumentException("Tokens must be non-null and contain at most 500 tokens.");
6767
}
6868

6969
var tokensCopy = new List<string>(tokens);

0 commit comments

Comments
 (0)