@@ -165,31 +165,42 @@ public void unsubscribeFromTopic(String topic, final Callback callback) {
165165 }
166166 }
167167
168+ // String senderId, String messageId, String messageType,
168169 @ ReactMethod
169- public void send (String senderId , String messageId , String messageType , ReadableMap params , final Callback callback ) {
170+ public void send (ReadableMap params , final Callback callback ) {
171+ ReadableMap data = params .getMap ("data" );
170172 FirebaseMessaging fm = FirebaseMessaging .getInstance ();
171- RemoteMessage .Builder remoteMessage = new RemoteMessage .Builder (senderId );
172- remoteMessage .setMessageId (messageId );
173- remoteMessage .setMessageType (messageType );
174- ReadableMapKeySetIterator iterator = params .keySetIterator ();
173+ RemoteMessage .Builder remoteMessage = new RemoteMessage .Builder (params .getString ("sender" ));
174+
175+ remoteMessage .setMessageId (params .getString ("id" ));
176+ remoteMessage .setMessageType (params .getString ("type" ));
177+
178+ if (params .hasKey ("ttl" )) {
179+ remoteMessage .setTtl (params .getInt ("ttl" ));
180+ }
181+
182+ if (params .hasKey ("collapseKey" )) {
183+ remoteMessage .setCollapseKey (params .getString ("collapseKey" ));
184+ }
185+
186+ ReadableMapKeySetIterator iterator = data .keySetIterator ();
175187
176188 while (iterator .hasNextKey ()) {
177189 String key = iterator .nextKey ();
178- ReadableType type = params .getType (key );
190+ ReadableType type = data .getType (key );
179191 if (type == ReadableType .String ) {
180- remoteMessage .addData (key , params .getString (key ));
181- Log .d (TAG , "Firebase send: " + key );
182- Log .d (TAG , "Firebase send: " + params .getString (key ));
192+ remoteMessage .addData (key , data .getString (key ));
183193 }
184194 }
185195
186196 try {
187197 fm .send (remoteMessage .build ());
188198 WritableMap res = Arguments .createMap ();
189199 res .putString ("status" , "success" );
200+ Log .d (TAG , "send: Message sent" );
190201 callback .invoke (null , res );
191202 } catch (Exception e ) {
192- Log .e (TAG , "Error sending message" , e );
203+ Log .e (TAG , "send: error sending message" , e );
193204 WritableMap error = Arguments .createMap ();
194205 error .putString ("code" , e .toString ());
195206 error .putString ("message" , e .toString ());
0 commit comments