Utilizing on-device sensors to detect a scan
The present disclosure is directed towards systems and method for determining whether a scannable code displayed on a client device has been scanned. In particular, the systems and methods described herein involve activating one or more on-board sensors of the client device to capture output signals. Based on the output signals, the systems and methods include identifying discrete signals that indicate whether the scannable code has been scanned by a scanning device. Further, based on an analysis of the identified discrete signals, the systems and methods include determining whether the scannable code has been scanned by the scanning device.
1 . A computer-implemented method comprising:
receiving, from a social networking system to a mobile client device, a scannable code, wherein the mobile client device corresponds to a user entity on a social networking system and the scannable code corresponds to a third-party entity on the social networking system;
upon detection of a display of the scannable code within the mobile client device, by at least one processor on the mobile client device, activating multiple sensors of the mobile client device to capture multiple sensor outputs, wherein the multiple sensors comprise at least an audio sensor, a motion sensor, and a global positioning system (GPS) sensor;
determining, based on discrete signals identified from the multiple sensors of the mobile client device in relation to an external scanning device, a scanned status for the scannable code in relation to the user entity;
determining that the scannable code was scanned;
determining location data from the GPS sensor of where the scannable code was scanned;
providing, via the mobile client device, an identity of the user entity, when the scannable code was scanned, the location data, and the scanned status to the social networking system to track usage of one or more scannable codes across multiple user entities on the social networking system; and
providing, via the mobile client device, at least two of: the identity of the user entity, when the scannable code was scanned, the location data, and the scanned status to the social networking system to cause the social networking system to update demographic information corresponding to usage activity of the scannable code across the multiple user entities on the social networking system.
2 . The computer-implemented method of claim 1 , further comprising receiving the scannable code from a social networking profile of the third-party entity through a social networking application operating within the mobile client device.
3 . The computer-implemented method of claim 1 , further comprising providing the scanned status to the social networking system to cause the social networking system to update the scanned status of the scannable code in relation to the user entity within the social networking system from a negative status indicator to a positive status indicator indicating that the scannable code is scanned.
4 . The computer-implemented method of claim 1 , further comprising providing, for display on the mobile client device, a notification indicating a successful redemption of the scannable code upon determining the scanned status for the scannable code in relation to the user entity.
5 . The computer-implemented method of claim 1 , further comprising identifying an indication of a rotation of the mobile client device towards the external scanning device utilizing the motion sensor as a discrete signal from the discrete signals.
6 . The computer-implemented method of claim 1 , further comprising:
determining, using the audio sensor, an audible sound of the external scanning device as a discrete signal from the discrete signals; and
generating a signal representing the audible sound.
7 . The computer-implemented method of claim 1 , further comprising determining that the mobile client device is at a location associated with scanning of the scannable code utilizing the GPS sensor while detecting the display of the scannable code by the mobile client device as a discrete signal from the discrete signals.
8 . The computer-implemented method of claim 1 , further comprising: determining that the scannable code is not displayed by the mobile client device; and
in response to determining that the scannable code is not displayed, de-activating one or more sensors from the multiple activated sensors of the mobile client device capturing the multiple sensor outputs.
9 . The computer-implemented method of claim 1 , further comprising:
determining that the mobile client device is at a location associated with scanning of the scannable code utilizing the GPS sensor; and
providing, for display on the mobile client device, a notification indicating an availability of the scannable code based on the determined location.
10 . The computer-implemented method of claim 1 , further comprising providing, via the mobile client device, the scanned status to the social networking system to cause the social networking system to transmit a notification indicating the scanned status corresponding to the user entity on the social networking system to the third-party entity on the social networking system.
11 . A system comprising:
at least one processor; and
at least one non-transitory computer readable storage medium storing instructions thereon that, when executed by at least one processor, cause the system to:
receive, from a social networking system to a mobile client device, a scannable code, wherein the mobile client device corresponds to a user entity on a social networking system and the scannable code corresponds to a third-party entity on the social networking system;
upon detection of a display of the scannable code within the mobile client device, by at least one processor on the mobile client device, activate multiple sensors of the mobile client device to capture multiple sensor outputs, wherein the multiple sensors comprise at least an audio sensor, a motion sensor, and a global positioning system (GPS) sensor;
determine, based on discrete signals identified from the multiple sensors of the mobile client device in relation to an external scanning device, a scanned status for the scannable code in relation to the user entity;
determine that the scannable code was scanned;
determine location data from the GPS sensor of where the scannable code was scanned;
provide, via the mobile client device, an identity of the user entity, when the scannable code was scanned, the location data, and the scanned status to the social networking system to track usage of one or more scannable codes across multiple user entities on the social networking system; and
provide, via the mobile client device, at least two of: the identity of the user entity, when the scannable code was scanned, the location data, and the scanned status to the social networking system to cause the social networking system to update demographic information corresponding to usage activity of the scannable code across the multiple user entities on the social networking system.
12 . The system of claim 11 , further comprising instructions thereon that, when executed by the at least one processor, cause the system to provide, for display on the mobile client device, a notification indicating a successful redemption of the scannable code upon determining the scanned status for the scannable code in relation to the user entity.
13 . The system of claim 11 , further comprising instructions thereon that, when executed by the at least one processor, cause the system to identify one or more discrete signals as the discrete signals by:
identifying an indication of a rotation of the mobile client device towards the external scanning device utilizing the motion sensor;
identifying a signal representing an audible sound of the external scanning device utilizing the audio sensor; or
determining that the mobile client device is at a location associated with scanning of the scannable code utilizing the GPS sensor while detecting the display of the scannable code by the mobile client device.
14 . The system of claim 11 , further comprising instructions thereon that, when executed by the at least one processor, cause the system to:
determine that the mobile client device is at a location associated with scanning of the scannable code utilizing the GPS sensor; and
provide, for display on the mobile client device, a notification indicating an availability of the scannable code based on the determined location.
15 . The system of claim 11 , wherein the scanned status indicates that the scannable code has been scanned and further comprising instructions thereon that, when executed by the at least one processor, cause the system to provide the scanned status to the third-party entity on the social networking system.
16 . A non-transitory computer-readable medium storing instructions thereon that, when executed by at least one processor, cause a mobile client device to:
receive, from a social networking system, a scannable code, wherein the mobile client device corresponds to a user entity on a social networking system and the scannable code corresponds to a third-party entity on the social networking system;
upon detection of a display of the scannable code within the mobile client device, activate multiple sensors of the mobile client device to capture multiple sensor outputs, wherein the multiple sensors comprise at least an audio sensor, a motion sensor, and a global positioning system (GPS) sensor;
determine, based on discrete signals identified from the multiple sensors of the mobile client device in relation to an external scanning device, a scanned status for the scannable code in relation to the user entity;
determine that the scannable code was scanned;
determine location data from the GPS sensor of where the scannable code was scanned;
provide an identity of the user entity, when the scannable code was scanned, the location data, and the scanned status to the social networking system to track usage of one or more scannable codes across multiple user entities on the social networking system; and
provide, via the mobile client device, at least two of: the identity of the user entity, when the scannable code was scanned, the location data, and the scanned status to the social networking system to cause the social networking system to update demographic information corresponding to usage activity of the scannable code across the multiple user entities on the social networking system.
17 . The non-transitory computer-readable medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the mobile client device to identify an indication of a rotation of the mobile client device towards the external scanning device utilizing the motion sensor as a discrete signal from the discrete signals.
18 . The non-transitory computer-readable medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the mobile client device to:
determine that the mobile client device is at a location associated with scanning of the scannable code utilizing the GPS sensor; and
provide, for display, a notification indicating an availability of the scannable code based on the determined location.
19 . The non-transitory computer-readable medium of claim 16 , further comprising instructions that, when executed by the at least one processor, cause the mobile client device to:
provide, for display, a notification indicating a successful redemption of the scannable code upon determining the scanned status for the scannable code in relation to the user entity; and
provide the scanned status to the social networking system to cause the social networking system to transmit a notification indicating the scanned status corresponding to the user entity on the social networking system to the third-party entity on the social networking system.