{ "message": { "webpush": { "notification": { "title": "Fish Photos 🐟", "body": "Thanks for signing up for Fish Photos! You now will receive fun daily photos of fish!", "icon": "firebase-logo.png", "image": "guppies.jpg", "data": { "notificationType": "fishPhoto", "photoId": "123456" }, "click_action": "https://example.com/fish_photos", "actions": [ { "title": "Like", "action": "like", "icon": "icons/heart.png" }, { "title": "Unsubscribe", "action": "unsubscribe", "icon": "icons/cross.png" } ] } }, "token": "<APP_INSTANCE_REGISTRATION_TOKEN>" } }
like”
unsubscribe
// Retrieve an instance of Firebase Messaging so that it can handle background messages. const messaging = firebase.messaging(); // Add an event listener to handle notification clicks self.addEventListener('notificationclick', function(event) { if (event.action === 'like') { // Like button was clicked const photoId = event.notification.data.photoId; like(photoId); } else if (event.action === 'unsubscribe') { // Unsubscribe button was clicked const notificationType = event.notification.data.notificationType; unsubscribe(notificationType); } event.notification.close(); });
fun Int.print() = println(this) 5.print() // prints 5
fun Context.toast(text: CharSequence, duration: Int = Toast.LENGTH_SHORT): Toast { return Toast.makeText(this, text, duration).apply { show() } } toast("Hello Toast")
class AquariumPlant( val color: String) fun AquariumPlant.print() = println("Pretty Aquarium Plant") val plant = AquariumPlant("green") plant.print() // prints -> Pretty Aquarium Plant
“Google Kubernetes Engine es como magia para nosotros. Es el mejor entorno de contención que existe. Sin él, no podríamos proporcionar el análisis financiero avanzado que hoy ofrecemos. El escalamiento sería dificultoso y extremadamente costoso”. - Michael Bishop, director de Tecnología y cofundador de Alpha Vertex
“Google Kubernetes Engine proporciona una infraestructura flexible y de alto rendimiento que nos permite ajustar componentes a escala de forma independiente para lograr la máxima eficiencia”. - George Yianni, director de Tecnología, Sistemas domésticos, Philips Lighting
“Kubernetes es nuestra solución de organización preferida para miles de nuestros servicios de backend gracias a las capacidades de resiliencia mejorada que ofrece, a las funciones como el ajuste de escala automático, y a la dinámica comunidad de código abierto. La VPC compartida en Kubernetes Engine es fundamental para que podamos usar Kubernetes Engine en todos nuestros proyectos de GCP”. - Matt Brown, ingeniero de Software, Spotify