Использование с другими push-сервисами
AppMetrica Push SDK можно использовать одновременно с другими push-сервисами. Для этого необходимо создать свой push-сервис для FCM или HMS, который будет перенаправлять сообщения между интегрированными SDK.
Использование с другими Firebase push-сервисами
Шаг 1. Внесите изменения в AndroidManifest.xml
Внесите изменения в элемент application
файла AndroidManifest.xml
:
<service android:name=".FirebaseMessagingMainService"
android:enabled="true"
android:exported="false">
<intent-filter android:priority="100">
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<service android:name="io.appmetrica.analytics.push.provider.firebase.AppMetricaMessagingService" tools:node="remove"/>
Шаг 2. Добавьте обработку push-уведомлений
Объявите производный класс FirebaseMessagingMainService
от базового FirebaseMessagingService
для обработки push-уведомлений:
class FirebaseMessagingMainService : FirebaseMessagingService() {
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)
if (AppMetricaMessagingService.isNotificationRelatedToSDK(message)) {
AppMetricaMessagingService().processPush(this, message)
return
}
// Implement the logic for sending messages to other SDKs or handle own pushes.
}
}
public class FirebaseMessagingMainService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage message) {
super.onMessageReceived(message);
if (AppMetricaMessagingService.isNotificationRelatedToSDK(message)) {
new AppMetricaMessagingService().processPush(this, message);
return;
}
// Implement the logic for sending messages to other SDKs or handle own pushes.
}
}
Шаг 3. Добавьте обработку push-токенов
Дополните код класса FirebaseMessagingMainService
для обработки push-токенов:
class FirebaseMessagingMainService : FirebaseMessagingService() {
override fun onNewToken(token: String) {
super.onNewToken(token);
AppMetricaMessagingService().processToken(this, token)
// Implement the logic for sending tokens to other SDKs.
}
}
public class FirebaseMessagingMainService extends FirebaseMessagingService {
@Override
public void onNewToken(@NonNull String token) {
super.onNewToken(token);
new AppMetricaMessagingService().processToken(this, token);
// Implement the logic for sending tokens to other SDKs.
}
}
Использование с другими HMS push-сервисами
Шаг 1. Внесите изменения в AndroidManifest.xml
Внесите изменения в элемент application
файла AndroidManifest.xml
:
<service
android:name=".HmsMessagingMainService"
android:exported="true"
android:permission="${applicationId}.permission.PROCESS_PUSH_MSG">
<intent-filter android:priority="100">
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name="io.appmetrica.analytics.push.provider.hms.AppMetricaHmsMessagingService" tools:node="remove"/>
Шаг 2. Добавьте обработку push-уведомлений
Объявите производный класс HmsMessagingMainService
от базового HmsMessageService
для обработки push-уведомлений:
class HmsMessagingMainService : HmsMessageService() {
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)
if (AppMetricaHmsMessagingService.isNotificationRelatedToSDK(message) {
AppMetricaHmsMessagingService().processPush(this, message)
return
}
// Implement the logic for sending messages to other SDKs or handle own pushes.
}
}
public class HmsMessagingMainService extends HmsMessageService {
@Override
public void onMessageReceived(RemoteMessage message) {
super.onMessageReceived(message);
if (AppMetricaHmsMessagingService.isNotificationRelatedToSDK(message) {
new AppMetricaHmsMessagingService().processPush(this, message);
return;
}
// Implement the logic for sending messages to other SDKs or handle own pushes.
}
}
Шаг 3. Добавьте обработку push-токенов
Дополните код класса HmsMessagingMainService
для обработки push-токенов:
class HmsMessagingMainService : HmsMessageService() {
override fun onNewToken(token: String?) {
super.onNewToken(token);
AppMetricaHmsMessagingService().processToken(this, token)
// Implement the logic for sending tokens to other SDKs.
}
}
public class HmsMessagingMainService extends HmsMessageService {
@Override
public void onNewToken(@Nullable String token) {
super.onNewToken(token);
new AppMetricaHmsMessagingService().processToken(this, token);
// Implement the logic for sending tokens to other SDKs.
}
}
См. также
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.
Была ли статья полезна?
- Использование с другими Firebase push-сервисами
- Шаг 1. Внесите изменения в AndroidManifest.xml
- Шаг 2. Добавьте обработку push-уведомлений
- Шаг 3. Добавьте обработку push-токенов
- Использование с другими HMS push-сервисами
- Шаг 1. Внесите изменения в AndroidManifest.xml
- Шаг 2. Добавьте обработку push-уведомлений
- Шаг 3. Добавьте обработку push-токенов