@@ -165,31 +165,42 @@ public void unsubscribeFromTopic(String topic, final Callback callback) {
165
165
}
166
166
}
167
167
168
+ // String senderId, String messageId, String messageType,
168
169
@ 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" );
170
172
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 ();
175
187
176
188
while (iterator .hasNextKey ()) {
177
189
String key = iterator .nextKey ();
178
- ReadableType type = params .getType (key );
190
+ ReadableType type = data .getType (key );
179
191
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 ));
183
193
}
184
194
}
185
195
186
196
try {
187
197
fm .send (remoteMessage .build ());
188
198
WritableMap res = Arguments .createMap ();
189
199
res .putString ("status" , "success" );
200
+ Log .d (TAG , "send: Message sent" );
190
201
callback .invoke (null , res );
191
202
} catch (Exception e ) {
192
- Log .e (TAG , "Error sending message" , e );
203
+ Log .e (TAG , "send: error sending message" , e );
193
204
WritableMap error = Arguments .createMap ();
194
205
error .putString ("code" , e .toString ());
195
206
error .putString ("message" , e .toString ());
0 commit comments