Обработка уведомлений

Для получения уведомлений нужно реализовать сервисы отдельно для каждого провайдера пуш-уведомлений.

RuStore

Для обработки пуш-уведомлений от RuStore реализуйте сервис RuStorePushService.

import ru.rustore.sdk.universalpush.rustore.messaging.RemoteMessage
import ru.rustore.sdk.universalpush.rustore.services.RuStorePushService
 
class MyRuStoreMessagingService: RuStorePushService() {
    override fun onMessageReceived(message: RemoteMessage) {
        super.onMessageReceived(message)
    }
 
    override fun onNewToken(token: String) {
        super.onNewToken(token)
    }
}

FCM

Для обработки пуш-уведомлений от Firebase реализуйте сервис FirebasePushService.

import com.google.firebase.messaging.RemoteMessage
import ru.rustore.sdk.universalpush.firebase.services.FirebasePushService  
 
class MyFirebasePushService: FirebasePushService() {
    override fun onMessageReceived(message: RemoteMessage) {
        super.onMessageReceived(message)
        // process message
    }
 
    override fun onNewToken(token: String) {
        super.onNewToken(token)
        // process token
    }
}

В файл build.gradle на уровне app используйте следующий код:

dependencies {
    // ...
    
    // fcm
    implementation "com.google.firebase:firebase-messaging-ktx:23.1.2"
}

Сам сервис нужно указать в файле AndroidManifest.xml.

<application>
    <service
        android:name=".services.FirebasePushService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
        </intent-filter>
    </service>
</application>

HMS

Для обработки пуш-уведомлений от HMS реализуйте сервис FirebasePushService.

import com.huawei.hms.push.RemoteMessage
import ru.rustore.sdk.universalpush.hms.services.HmsPushService  
 
class MyHuaweiPushService: HmsPushService() {
    override fun onMessageReceived(message: RemoteMessage) {
        super.onMessageReceived(message)
        // process message
    }
 
    override fun onNewToken(token: String?) {
        super.onNewToken(token)
        // process token
    }
}

В файл build.gradle на уровне app используйте следующий код:

dependencies {
    // ...
    
    // hms
    implementation "com.huawei.hms:push:6.7.0.300"
}

Сам сервис нужно указать в файле AndroidManifest.xml.

<application>
    <service
        android:name=".services.MyHuaweiMessagingService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.huawei.push.action.MESSAGING_EVENT" />
        </intent-filter>
    </service>
</application>
Обновлено 27 апреля 2023 г.
Was this information helpful?