In this paper, a novel crowdsourcing mechanism is introduced in Unmanned Aerial Vehicles (UAVs)-assisted smart cities environments based on the principles of Contract Theory and Reinforcement Learning. Initially, a contract-theoretic mechanism is proposed to enable the UAVs to incentivize the Internet of Things (IoT) nodes to report their collected data (i.e., effort) via providing personalized rewards to them. This novel mechanism exploits the IoT nodes' physical and social characteristics in order to design optimal personalized contracts, i.e., pairs of {effort, reward}, while jointly optimizing the benefits of the UAVs and the IoT nodes from the crowdsourcing process. Additionally, a reinforcement learning-based mechanism is designed to enable the IoT nodes to select a UAV to report their data, while considering the received rewards in the crowdsourcing process. A set of detailed numerical and comparative results are presented to demonstrate the operational characteristics of the proposed crowdsourcing framework, as well as its drawbacks and benefits compared to the state of the art.