forked from NdoleStudio/httpsms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfcm_client.go
More file actions
28 lines (22 loc) · 824 Bytes
/
Copy pathfcm_client.go
File metadata and controls
28 lines (22 loc) · 824 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package services
import (
"context"
"firebase.google.com/go/messaging"
)
// FCMClient is the interface for sending Firebase Cloud Messaging notifications.
type FCMClient interface {
// Send sends a message via FCM and returns the message name on success.
Send(ctx context.Context, message *messaging.Message) (string, error)
}
// FirebaseFCMClient wraps the real Firebase messaging.Client.
type FirebaseFCMClient struct {
client *messaging.Client
}
// NewFirebaseFCMClient creates a new FirebaseFCMClient.
func NewFirebaseFCMClient(client *messaging.Client) *FirebaseFCMClient {
return &FirebaseFCMClient{client: client}
}
// Send sends a message via the real Firebase SDK.
func (c *FirebaseFCMClient) Send(ctx context.Context, message *messaging.Message) (string, error) {
return c.client.Send(ctx, message)
}