Answered

Android SDK - Registration vs UserAttributes class


Hello,

 

I am not sure if I’m missing something but I encountered a bizzare behaviour using Intercom classes when trying to login an Identified user.

 

Preface: I’m using Qt for Android and integrating Intercom purely on the Android side.

 

In my login function, I get passed user attributes from downstream. These include base attributes as well as additional custom attributes.

 

In the end I end up with something like.

UserAttributes userAttributes = builder.build();

Log.i(TAG, "Intercom login userattributes: " + userAttributes.toString());

 

Which prints out: 

I MyIntercom: Intercom login userattributes: UserAttributes{attributes={name=Last, First, email=email@provider.com, userId=001abc}, customAttributes={attr1=value1}, companies=[]}

 

Then I tried to create a Registration class to perform login as:

Registration registration = Registration.create().withUserAttributes(userAttributes);

 

But this registration class does not have email nor userId populated? I already called the withEmail() and withUserId() methods on the user attributes object. Am I supposed to check the object and depending what’s inside call these methods again on the registration object? What is the purpose of doing this twice if the base user attributes just get ignored?

 

Please let me know what is the suggested workaround for this.

 

Best,

Stefan

icon

Best answer by bernice 12 June 2024, 16:27

View original

2 replies

Userlevel 4
Badge +4

Hi @Stekar01 👋 We don't officially support installations using Qt, we have a native Android SDK integration here that you may be able to take some pointers from 📌

Because we don't officially support this, we can't provide much support in case you run into issues. That said, you're welcome to give this a try, and I'll leave the discussion open for anyone that has integrated this!

Hi @bernice, the question above is actually part of the native implementation. The code lives fully inside native Android Java classes and is tied to Qt through separate binders.

 

What my original question alluded to is that is seems there is a bug with function call:

Registration.create().withUserAttributes(userAttributes);

As it seems to not copy over email from the userAttributes object into the Registration object.

Reply