So when I see most Crowdsale contracts the price is set to x ETH and you receive the tokens based on that, if ETH price is down you get more tokens/$ and when ETH price is up, you get less/$. That's just the volatility of crypto. But some tokens are linked to fiat prices directly. $1 gets 1 token so if I send 1 ETH I get however many tokens are determined by the price of ETH.
How is this accomplished?