@@ -11,23 +11,23 @@ const firebaseApp = initializeApp({
1111
1212function onDisconnectSimple ( ) {
1313 // [START rtdb_ondisconnect_simple]
14- const { getDatabase } = require ( "firebase/database" ) ;
14+ const { getDatabase, ref , onDisconnect } = require ( "firebase/database" ) ;
1515
1616 const db = getDatabase ( firebaseApp ) ;
17- const presenceRef = db . ref ( "disconnectmessage" ) ;
17+ const presenceRef = ref ( db , "disconnectmessage" ) ;
1818 // Write a string when this client loses connection
19- presenceRef . onDisconnect ( ) . set ( "I disconnected!" ) ;
19+ onDisconnect ( presenceRef ) . set ( "I disconnected!" ) ;
2020 // [END rtdb_ondisconnect_simple]
2121}
2222
2323function onDisconnectCallback ( ) {
24- const { getDatabase } = require ( "firebase/database" ) ;
24+ const { getDatabase, ref , onDisconnect } = require ( "firebase/database" ) ;
2525
2626 const db = getDatabase ( firebaseApp ) ;
27- const presenceRef = db . ref ( "disconnectmessage" ) ;
27+ const presenceRef = ref ( db , "disconnectmessage" ) ;
2828
2929 // [START rtdb_ondisconnect_callback]
30- presenceRef . onDisconnect ( ) . remove ( ( err ) => {
30+ onDisconnect ( presenceRef ) . remove ( ) . catch ( ( err ) => {
3131 if ( err ) {
3232 console . error ( "could not establish onDisconnect event" , err ) ;
3333 }
@@ -36,13 +36,13 @@ function onDisconnectCallback() {
3636}
3737
3838function onDisconnectCancel ( ) {
39- const { getDatabase } = require ( "firebase/database" ) ;
39+ const { getDatabase, ref , onDisconnect } = require ( "firebase/database" ) ;
4040
4141 const db = getDatabase ( firebaseApp ) ;
42- const presenceRef = db . ref ( "disconnectmessage" ) ;
42+ const presenceRef = ref ( db , "disconnectmessage" ) ;
4343
4444 // [START rtdb_ondisconnect_cancel]
45- const onDisconnectRef = presenceRef . onDisconnect ( ) ;
45+ const onDisconnectRef = onDisconnect ( presenceRef ) ;
4646 onDisconnectRef . set ( "I disconnected" ) ;
4747 // some time later when we change our minds
4848 onDisconnectRef . cancel ( ) ;
@@ -51,11 +51,11 @@ function onDisconnectCancel() {
5151
5252function detectConnectionState ( ) {
5353 // [START rtdb_detect_connection_state]
54- const { getDatabase } = require ( "firebase/database" ) ;
54+ const { getDatabase, ref , onValue } = require ( "firebase/database" ) ;
5555
5656 const db = getDatabase ( firebaseApp ) ;
57- const connectedRef = db . ref ( ".info/connected" ) ;
58- connectedRef . on ( "value" , ( snap ) => {
57+ const connectedRef = ref ( db , ".info/connected" ) ;
58+ onValue ( connectedRef , ( snap ) => {
5959 if ( snap . val ( ) === true ) {
6060 console . log ( "connected" ) ;
6161 } else {
@@ -67,21 +67,21 @@ function detectConnectionState() {
6767
6868function setServerTimestamp ( ) {
6969 // [START rtdb_set_server_timestamp]
70- const { getDatabase, ServerValue } = require ( "firebase/database" ) ;
70+ const { getDatabase, ref , onDisconnect , serverTimestamp } = require ( "firebase/database" ) ;
7171
7272 const db = getDatabase ( firebaseApp ) ;
73- const userLastOnlineRef = db . ref ( "users/joe/lastOnline" ) ;
74- userLastOnlineRef . onDisconnect ( ) . set ( ServerValue . TIMESTAMP ) ;
73+ const userLastOnlineRef = ref ( db , "users/joe/lastOnline" ) ;
74+ onDisconnect ( userLastOnlineRef ) . set ( serverTimestamp ( ) ) ;
7575 // [END rtdb_set_server_timestamp]
7676}
7777
7878function estimateClockSkew ( ) {
7979 // [START rtdb_estimate_clock_skew]
80- const { getDatabase } = require ( "firebase/database" ) ;
80+ const { getDatabase, ref , onValue } = require ( "firebase/database" ) ;
8181
8282 const db = getDatabase ( firebaseApp ) ;
83- const offsetRef = db . ref ( ".info/serverTimeOffset" ) ;
84- offsetRef . on ( "value" , ( snap ) => {
83+ const offsetRef = ref ( db , ".info/serverTimeOffset" ) ;
84+ onValue ( offsetRef , ( snap ) => {
8585 const offset = snap . val ( ) ;
8686 const estimatedServerTimeMs = new Date ( ) . getTime ( ) + offset ;
8787 } ) ;
@@ -90,31 +90,31 @@ function estimateClockSkew() {
9090
9191function samplePresenceApp ( ) {
9292 // [START rtdb_sample_presence_app]
93- const { getDatabase, ServerValue } = require ( "firebase/database" ) ;
93+ const { getDatabase, ref , onValue , push , onDisconnect , set , serverTimestamp } = require ( "firebase/database" ) ;
9494
9595 // Since I can connect from multiple devices or browser tabs, we store each connection instance separately
9696 // any time that connectionsRef's value is null (i.e. has no children) I am offline
9797 const db = getDatabase ( firebaseApp ) ;
98- const myConnectionsRef = db . ref ( 'users/joe/connections' ) ;
98+ const myConnectionsRef = ref ( db , 'users/joe/connections' ) ;
9999
100100 // stores the timestamp of my last disconnect (the last time I was seen online)
101- const lastOnlineRef = db . ref ( 'users/joe/lastOnline' ) ;
101+ const lastOnlineRef = ref ( db , 'users/joe/lastOnline' ) ;
102102
103- const connectedRef = db . ref ( '.info/connected' ) ;
104- connectedRef . on ( 'value' , ( snap ) => {
103+ const connectedRef = ref ( db , '.info/connected' ) ;
104+ onValue ( connectedRef , ( snap ) => {
105105 if ( snap . val ( ) === true ) {
106106 // We're connected (or reconnected)! Do anything here that should happen only if online (or on reconnect)
107- const con = myConnectionsRef . push ( ) ;
107+ const con = push ( myConnectionsRef ) ;
108108
109109 // When I disconnect, remove this device
110- con . onDisconnect ( ) . remove ( ) ;
110+ onDisconnect ( con ) . remove ( ) ;
111111
112112 // Add this device to my connections list
113113 // this value could contain info about the device or a timestamp too
114- con . set ( true ) ;
114+ set ( con , true ) ;
115115
116116 // When I disconnect, update the last time I was seen online
117- lastOnlineRef . onDisconnect ( ) . set ( ServerValue . TIMESTAMP ) ;
117+ onDisconnect ( lastOnlineRef ) . set ( serverTimestamp ( ) ) ;
118118 }
119119 } ) ;
120120 // [END rtdb_sample_presence_app]
0 commit comments