Slide 1

Slide 1 text

Firebase Notifications wasabeef shibuya.apk #8 at Google Japan

Slide 2

Slide 2 text

About me Daichi Furiya wasabeef @wasabeef_jp CyberAgent, Inc.

Slide 3

Slide 3 text

Firebase

Slide 4

Slide 4 text

Firebase https://firebase.google.com/

Slide 5

Slide 5 text

Analytics

Slide 6

Slide 6 text

Crash Reporting

Slide 7

Slide 7 text

Notifications

Slide 8

Slide 8 text

Firebase Notifications

Slide 9

Slide 9 text

Why?

Slide 10

Slide 10 text

Create Android app

Slide 11

Slide 11 text

Create Android app

Slide 12

Slide 12 text

Create Android app

Slide 13

Slide 13 text

Dependencies dependencies { // ... compile 'com.google.firebase:firebase-messaging:9.0.2' }

Slide 14

Slide 14 text

FirebaseMessagingService public class MyMessagingService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage msg) { sendNotification(msg.getNotification().getBody()); } private void sendNotification(String body) { // NotificationManager#notify } }

Slide 15

Slide 15 text

FirebaseInstancedIdService public class MyIdService extends FirebaseInstanceIdService { @Override public void onTokenRefresh() { sendRegistrationToServer(refreshedToken); } private void sendRegistrationToServer(String token) { // send to your server } }

Slide 16

Slide 16 text

Topic findViewById(R.id.button).setOnClickListener(v -> { FirebaseMessaging.getInstance() .subscribeToTopic("mytopic"); // FirebaseMessaging.getInstance() .unsubscribeFromTopic("mytopic"); });

Slide 17

Slide 17 text

Compose message

Slide 18

Slide 18 text

Status

Slide 19

Slide 19 text

Conclusion

Slide 20

Slide 20 text

Thank you. twitter.com/wasabeef_jp wasabeef.jp github.com/wasabeef