@@ -119,6 +119,7 @@ public void unsubscribeFromTopic(String topic, final Callback callback) {
119
119
}
120
120
121
121
private void initMessageHandler () {
122
+ Log .d (TAG , "Firestack initMessageHandler called" );
122
123
getReactApplicationContext ().registerReceiver (new BroadcastReceiver () {
123
124
@ Override
124
125
public void onReceive (Context context , Intent intent ) {
@@ -154,10 +155,10 @@ public void onReceive(Context context, Intent intent) {
154
155
}
155
156
156
157
@ ReactMethod
157
- public void send (String senderId , Integer messageId , String messageType , ReadableMap params ) {
158
+ public void send (String senderId , String messageId , String messageType , ReadableMap params , final Callback callback ) {
158
159
FirebaseMessaging fm = FirebaseMessaging .getInstance ();
159
160
RemoteMessage .Builder remoteMessage = new RemoteMessage .Builder (senderId );
160
- remoteMessage .setMessageId (messageId . toString () );
161
+ remoteMessage .setMessageId (messageId );
161
162
remoteMessage .setMessageType (messageType );
162
163
ReadableMapKeySetIterator iterator = params .keySetIterator ();
163
164
while (iterator .hasNextKey ()) {
@@ -169,7 +170,18 @@ public void send(String senderId, Integer messageId, String messageType, Readabl
169
170
Log .d (TAG , "Firebase send: " + params .getString (key ));
170
171
}
171
172
}
172
- fm .send (remoteMessage .build ());
173
+ try {
174
+ fm .send (remoteMessage .build ());
175
+ WritableMap res = Arguments .createMap ();
176
+ res .putString ("status" , "success" );
177
+ callback .invoke (null , res );
178
+ } catch (Exception e ) {
179
+ Log .e (TAG , "Error sending message" , e );
180
+ WritableMap error = Arguments .createMap ();
181
+ error .putString ("code" , e .toString ());
182
+ error .putString ("message" , e .toString ());
183
+ callback .invoke (error );
184
+ }
173
185
}
174
186
175
187
private void initSendHandler () {
0 commit comments