- Firebase libs must only be included in non-FLOSS build
TODO
Example
import com.google.firebase.FirebaseOptions
import com.google.firebase.messaging.{FirebaseMessaging, Message}
import com.google.auth.oauth2.GoogleCredentials
import java.io.FileInputStream
// 1. Initialize (do this once on startup)
val serviceAccount = new FileInputStream("path/to/serviceAccountKey.json")
val options = FirebaseOptions.builder()
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
.build()
if (com.google.firebase.FirebaseApp.getApps.isEmpty) {
com.google.firebase.FirebaseApp.initializeApp(options)
}
// 2. Send a "High Priority" Wake Up Call
def wakeUpDevice(deviceToken: String): String = {
val message = Message.builder()
.putData("action", "WAKE_UP_GPS") // Your app reads this key
.setToken(deviceToken)
.setAndroidConfig(
com.google.firebase.messaging.AndroidConfig.builder()
.setPriority(com.google.firebase.messaging.AndroidConfig.Priority.HIGH) // Critical for waking Doze
.build()
)
.build()
FirebaseMessaging.getInstance().send(message)
}
TODO
'com.google.firebase:firebase-messaging:23.0.0'Firebasepush handler on the backend"com.google.firebase" % "firebase-admin" % "9.2.0"to serverExample