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