Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug]: How can we make use of external user Id in IAM (in app messages) ? #1107

Closed
1 task done
parvez-keeptruckin opened this issue Jun 30, 2022 · 9 comments
Closed
1 task done

Comments

@parvez-keeptruckin
Copy link

parvez-keeptruckin commented Jun 30, 2022

How can we help?

Is it possible to make use of external user ids to generate in app messages that can be sent to selected users and not to all ? I used Import User List csv template to upload a list of users with given external user ids. I used this segment in the in app message's Audience section. . I am able to set external user id from iOS Client app but the in app message is not showing up on UI though in Xcode console I can see the logs that in app message data is being received so I am wondering if this is the correct way to get in app messages for specific users based on external user ids ? if this is not the right way to do it, can anyone suggest how to achieve this functionality ?

Code of Conduct

  • I agree to follow this project's Code of Conduct
@jkasten2
Copy link
Member

jkasten2 commented Jul 1, 2022

@parvez-keeptruckin Thanks for your question. Using a Segment on your IAM with an "Import User List" filter should work as expected, that IAM should show to users in that list.

...Xcode console I can see the logs that in app message data is being received...

By this do you mean the IAM in the in_app_messages in the JSON payload in the log? Do you have any triggers on it that might be preventing it from showing? Are other IAMs showing in your app?

@parvez-keeptruckin
Copy link
Author

parvez-keeptruckin commented Jul 1, 2022

@jkasten2
Yes the Xcode console logs is showing in_app_messages information. There is a trigger present in that IAM. I have noticed that if I do not use the segment but keeping the trigger as it is then it works and IAM shows up on UI. When we Include the segment then it is not working.
In the CSV that I am uploading to OneSignal, I have only provided external_user_id and first_name columns with values. Here external_user_id is a numeric value. Also the player_id column is empty. Does this makes any difference ?

@jkasten2
Copy link
Member

jkasten2 commented Jul 1, 2022

@parvez-keeptruckin hmm, so how IAMs work is if the player is in the Segment it will be included in the in_app_messages list send to the SDK. In other words the Segment only effects the manifest of IAMs the SDK can see. The Triggers are only evaluated by the SDK.

So in other words if you see your specific IAM in the in_app_messages list in the Xcode log it already passed the Segment check.

@parvez-keeptruckin
Copy link
Author

@jkasten2
Is there a way to debug it to see what is restricting IAM to not show up on UI ?

@parvez-keeptruckin
Copy link
Author

@jkasten2
Also I observed that IAM is not coming on the OneSignal iOS app [git@github.com:OneSignal/OneSignal-iOS-SDK.git] even after making use of the same AppId, externalUserId and trigger that I am using in the other app.

Can you give a try creating an IAM having segment generated from CSV template and uploading it. Post that include that Segment under
Audience Show to Particular Segment(s) Show to users in segments
Also add a trigger.
On iOS app side set the externalUserId (used in uploaded CSV) and trigger.

@emawby
Copy link
Contributor

emawby commented Jul 1, 2022

@parvez-keeptruckin Are you sure that In App Messages are not paused? That app has them paused by default

@parvez-keeptruckin
Copy link
Author

@emawby Yes the IAM message under question is in active state.

@parvez-keeptruckin
Copy link
Author

When I add Subscribed Users segment also in the Audience then only I am seeing the below in app message json as shown below:

Request <OSRequestRegisterUser: 0x600000cccccc> success result { id = <some_id>; "in_app_messages" = ( { "end_time" = "<null>"; id = <some_id>; redisplay = { delay = 0; limit = 2147483647; }; triggers = ( ( { id = <some_id>; kind = custom; operator = equal; property = <some_value>; value = true; } ) ); variants = { all = { default = <some_id>; }; }; } ); success = 1;
When we do not include Subscribed Users segment then it seems the above json is not being received.

@parvez-keeptruckin
Copy link
Author

@jkasten2 @emawby
When we upload a CSV containing the list of external_user_id values then OneSignal dashboard gives us option to automatically create a segment that can be used in Audience section of an IAM. Once that segment is generated When I select View Users then the loaded page do not show any user information. is it an expected behaviour ?

@parvez-keeptruckin parvez-keeptruckin changed the title [question]: How can we make use of external user Id in IAM (in app messages) ? [bug]: How can we make use of external user Id in IAM (in app messages) ? Jul 2, 2022
@emawby emawby closed this as completed May 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants