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. 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> |
Router sınıfını oluşturun:
Code Block |
---|
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.