You'll need to decide on a way to interact with FCM servers: either using the Firebase Admin SDK or the raw protocols. Because of its support across popular programming languages and its convenience methods for handling authentication and authorization