Sendbird не получает push-уведомления

Я реализую Sendbird в приложении Xamarin.iOS и уже получаю сообщения в обработчике OnMessageReceived.

Но я не могу получать push-уведомления, GetPendingPushToken() всегда возвращает ноль, поэтому в методе RegisterAPNSPushTokenForCurrentUser() я просто передаю строку с маркером устройства. И регистрирует токен пользователя на панели инструментов SendBird следующим образом:

"05d0c16a 52328ef2 973b29bb 91556ed6 59dcb340 321dc3e6 b0842c20 6e5190d2".

Я заметил, что в .NET SDK у меня нет доступа к методу registerDevicePushToken(), который доступен в iOS SDK и в примерах реализован внутри метода didRegisterForRemoteNotificationsWithDeviceToken().

APNS правильно настроен на информационной панели SendBird, и я уже получаю push-уведомление на устройстве от другого API.

1 ответ

SendBird .NET SDK предоставляет два метода принудительной регистрации, поскольку его можно использовать как в Android, так и в iOS.

Android: Регистрация FCMPushTokenForCurrentUser

iOS: зарегистрировать APNSPushTokenForCurrentUser

SendBirdClient.Connect(userId, (User user, SendBirdException e) => {
    if (e != null) {
        // Error.
        return;
    }

    if (SendBirdClient.GetPendingPushToken() == null) return;

    // For Android
    SendBirdClient.RegisterFCMPushTokenForCurrentUser(SendBirdClient.GetPendingPushToken(), (SendBirdClient.PushTokenRegistrationStatus status, SendBirdException e1) => {
        if (e1 != null) {
            // Error.
            return;
        }

    if (status == SendBirdClient.PushTokenRegistrationStatus.PENDING) {
            // Try registration after connection is established.
        }    

    });

    // For iOS
    SendBirdClient.RegisterAPNSPushTokenForCurrentUser(SendBirdClient.GetPendingPushToken(), (SendBirdClient.PushTokenRegistrationStatus status, SendBirdException e1) => {
        if (e1 != null) {
            // Error.
            return;
        }

    if (status == SendBirdClient.PushTokenRegistrationStatus.PENDING) {
            // Try registration after connection is established.
        }

    });
});
Другие вопросы по тегам