RMC’yi , push mesajlaşma için FCM kullanan diğer SDK'larla birlikte kullanabilirsiniz. Bunu yapmak için, servisler arasında eventleri dağıtmak için bir Router(Yönlendirici) servisi oluşturmalısınız.
İlk olarak AndroidManifest.xml dosyasına oluşturacağınız servisi ekleyin.
Note |
---|
Eklenecek router servisi manifest dosyası içerisinde diğer FCM servislerinin üstünde olmalıdır. |
AndroidManifest.xml
Code Block |
---|
<service
android:name=".RouterFCMService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service> |
MainApplication.java
sınıfı ile aynı dizinde yeni java sınıfı oluşturup,RouterFCMService
şeklinde isimlendirin. Bu şekilde Router sınıfını oluşturun:
android/app/src/main/java/com/yourappname/RouterFCMService.java
Code Block |
---|
import android.util.Log;
import java.util.Map;
import com.google.firebase.messaging.RemoteMessage;
import com.google.firebase.messaging.FirebaseMessagingService;
import euromsg.com.euromobileandroid.service.EuroMsgFCMHelper;
public class RouterFCMService extends FirebaseMessagingService {
private static final String TAG = "FCMService";
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Map<String, String> data = remoteMessage.getData();
String emPushSp = data.get("emPushSp");
if(emPushSp != null) {
EuroMsgFCMHelper.onMessageReceived(this,remoteMessage);
}
else {
dispatchNonRMCMessage(remoteMessage);
}
}
@Override
public void onNewToken(String token) {
Log.d(TAG, "Refreshed token: " + token);
EuroMsgFCMHelper.onNewToken(this,token);
}
private void dispatchNonRMCMessage(RemoteMessage remoteMessage) {
// RMC Harici Push işleme mantığınızı buraya uygulayın
}
} |
dispatchNonRMCMessage fonksiyonu içerisinde RMC dışındaki FCM servislerinden gelen push bildirimlerini işleyebilirsiniz.