The 31-year-old winger has been without a club since agreeing a mutual termination of his Galatasaray contract in January, and will officially become a Udinese player on July 1.
He began his career in his homeland with Mallorca and has gone on to play for Bordeaux, Espanyol, Manchester City, Liverpool and Olympiacos.
Riera moved to Galatasaray in 2011, but made just four league starts for the Turkish champions this season.
A lack of first-team opportunities under Roberto Mancini will have contributed to his desire to seek game time elsewhere.
Udinese currently sit 14th in Serie A, 10 points clear of the relegation zone.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.