1

我正在 Xamarin.iOS 应用程序上实现 Sendbird,并且我已经在 OnMessageReceived 处理程序上接收到消息

但是我无法接收推送通知,GetPendingPushToken()总是返回 null,所以在RegisterAPNSPushTokenForCurrentUser()方法中我只是传递了一个带有设备令牌的字符串。并像这样在 SendBird 仪表板上注册用户令牌:

“05d0c16a 52328ef2 973b29bb 91556ed6 59dcb340 321dc3e6 b0842c20 6e5190d2”。

我注意到在.NET SDK中我无权访问iOS SDK中可用的方法registerDevicePushToken() ,并且在示例中是在didRegisterForRemoteNotificationsWithDeviceToken()方法中实现的。

在 SendBird 仪表板上正确设置了 APNS,并且我已经在设备上收到了来自另一个 API 的推送通知。

4

1 回答 1

0

SendBird .NET SDK 提供了两种推送注册方法,因为它可以在 Android 和 iOS 中使用。

Android:RegisterFCMPushTokenForCurrentUser

iOS:RegisterAPNSPushTokenForCurrentUser

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.
        }

    });
});
于 2018-09-14T02:03:12.337 回答