-
Notifications
You must be signed in to change notification settings - Fork 12
Description
While performing tests with a single device, we have found the the user_id that is passed to the BeaconControl object in the device is not passed correctly to the backend. Instead, some unique identifiers are sent to the backend and the database shows entries such as the following:
id | client_id .......................................................... | application_id
--+------------------------------------------------------+----------------
1 | 4D1FB0EE-184E-4C30-922C-684472CBD1A3 | 1
2 | CD851B0A-9009-47D7-AE7B-5E56113F5E48 | 1
3 | 4003D4EB-857A-4320-BD86-04EA50D6ED3A | 1
4 | F782FA93-BB78-45D0-8317-73DB58D0658A | 1
5 | 8BB18CFB-6842-48EA-A085-1F835AD9FAC9 | 1
6 | 5D3531EA-0735-4160-81D0-BAE5782BE298 | 1
The problem is that different client_ids are generated for a single device and this results in BeaconControl giving an incorrect number of users in the application. Also, it is not possible to distinguish if a particular device is returning. Please note that this problem does not occur with Android.
It seems the problem is located in BCLBackend.m as the unique identifiers seem to be generated in the getter method of the user_id, however, I haven't been able to see when this getter is invoked. I don't have much expertise on iOS development so I cannot suggest a correction.
Thank you