@@ -119,6 +119,7 @@ public void unsubscribeFromTopic(String topic, final Callback callback) {
119119 }
120120
121121 private void initMessageHandler () {
122+ Log .d (TAG , "Firestack initMessageHandler called" );
122123 getReactApplicationContext ().registerReceiver (new BroadcastReceiver () {
123124 @ Override
124125 public void onReceive (Context context , Intent intent ) {
@@ -154,10 +155,10 @@ public void onReceive(Context context, Intent intent) {
154155 }
155156
156157 @ 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 ) {
158159 FirebaseMessaging fm = FirebaseMessaging .getInstance ();
159160 RemoteMessage .Builder remoteMessage = new RemoteMessage .Builder (senderId );
160- remoteMessage .setMessageId (messageId . toString () );
161+ remoteMessage .setMessageId (messageId );
161162 remoteMessage .setMessageType (messageType );
162163 ReadableMapKeySetIterator iterator = params .keySetIterator ();
163164 while (iterator .hasNextKey ()) {
@@ -169,7 +170,18 @@ public void send(String senderId, Integer messageId, String messageType, Readabl
169170 Log .d (TAG , "Firebase send: " + params .getString (key ));
170171 }
171172 }
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+ }
173185 }
174186
175187 private void initSendHandler () {
0 commit comments