Recent searches


No recent searches

Unity SDK NullReferenceException in Zendesk.Runtime.UI.RecyclingScrollRect



Posted Nov 04, 2024

I am evaluating Zendesk Unity SDK, and after following the Getting Started guide and building for iOS and Android, the Zendesk messaging interface fails to open.

Here are the logs:

[ZendeskLog][ZMLocalisation:70] Localisation initialisation successful - SDK Language set to: English
Failed to query Zendesk message count: Operation failed with error: UnreadCountError.NoUser. See 'Error' property for details.
[ZendeskLog][ZendeskMessaging:192] Conversation Fields have been successfully set
[ZendeskLog][ComplexStorage:32] There is no stored data for the given key
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Opening...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Opened...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] ***************** CONNECTED
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Message sending...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Message sent...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message receiving...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message received...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Message sending...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Message sent...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Message sending...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] Message sent...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message receiving...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message received...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] Subscribed
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message receiving...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message received...
NullReferenceException: Object reference not set to an instance of an object.
Zendesk.Runtime.UI.RecyclingScrollRect.UpdateActiveWidgets () (at <00000000000000000000000000000000>:0)
Zendesk.Runtime.UI.RecyclingScrollRect.LateUpdate () (at <00000000000000000000000000000000>:0)
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message receiving...
[ZendeskLog][MessagingCoreEventsHandler:23] [RTC] [WebSocket] message received...
[ZendeskLog][MessagingKit:337] Activity not supported yet

It seems like everything is working up until it tries to actually show the UI, then it nullrefs and never recovers. Trying to open the messaging again causes all kinds of other exceptions, it clearly is in a broken state at this point.

Here is the code:

await ZendeskSdk.InitializeAsync(config => {
    config.ChannelId = "<my channel ID>";
    config.Language = ZendeskLanguage.English;
});

var result = await ZendeskSdk.Instance.Messaging.GetUnreadMessageCountAsync();
if (result.IsFailed)
    StudioDebug.LogError("Failed to query Zendesk message count: " + result.ErrorMessage);

ZendeskSdk.Instance.Messaging.ClearConversationTags();
ZendeskSdk.Instance.Messaging.ClearConversationFields();
var fields = new Dictionary<string, object>() { { "11125375686927", "<user id>" } };
await ZendeskSdk.Instance.Messaging.SetConversationFieldsAsync(fields);
await ZendeskSdk.Instance.Messaging.ShowMessagingAsync(RootCanvas.transform);

Where RootCanvas is our main UI canvas. Any help is much appreciated!


0

1

1 comment

I tried again in an empty project and had the same exception. The problem is that you can't pass a transform to ShowMessagingAsync(transform). Just using ShowMessagingAsync() fixes it.

0


Please sign in to leave a comment.

Didn't find what you're looking for?

New post