firebase / firebase/firebase-admin-node

[FR]Use multiplexing over HTTP2 in sendEachForMulticast method for batch push.

Open
#2,488 22 comments 14 reactions 1 assignee Claimed by @jonathanedey View on GitHub
api: messaging type: feature request
Dominant language
TypeScript
Stars
1.7k
Forks
419
Avg merge
3d 10h
Merged PRs (30d)
16

Description

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.
When I upgrade fcm to Http V1, the speed will become very slow when using sendEachForMulticast in firebase-admin:9.2.0.
Isn't HTTP/2 used in the SDK?

**Describe the solution you'd like**
Convert bulk send in SDK to HTTP/2.

**Describe alternatives you've considered**
Keep the original sendMulticast method.

**Additional context**
According to the database conditions, users (hundreds of thousands) who meet the sending conditions are selected for message push.
If the current sendEachForMulticast is used, it will be a nightmare.
The following code took 15 seconds to execute.
```
List registrationTokens = new ArrayList<>();
for (int i = 1; i <= 500; i++) {
registrationTokens.add(TOKEN + i);
}

MulticastMessage message = MulticastMessage.builder()
.setNotification(Notification.builder().setTitle("test title").setBody("test body").build())
.addAllTokens(registrationTokens).build();
BatchResponse response = FirebaseMessaging.getInstance().sendEachForMulticast(message);
System.out.println(response.getSuccessCount() + " messages were sent successfully");
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.