In a turn-based MP game, you send data at the end of the turn. In a realtime MP, you send data when something occurs (a bullet is flying to its target, a monster is hit and dies, a character moves, a gate opens, etc.). In both cases, these data contain all changes since the last state and, when the other player receives them, the game is updated accordingly. Nothing technically difficult.
The major difficulty for the real-time MP is to synchronize events (when the game needs synchronization, which is not the case for all real-time MP games) because you have to deal with latency, and this problem increases with the number of players. But this problem has solutions since long so you will find easily tons of books and sites on the subject to solve it without a big headache.
On the other hand, you have problems specific to turn-based MP (data storage as matches can last a long time, simultaneous matches with different players, detection of the game status because inactivity doesn't mean that someone stopped playing, etc.) and if your game includes an AI, it will be more difficult to implement a good AI for a turn-based MP than for real-time MP.
After implementing both modes in real games with the Google Play Services library, I'm not convinced there's a huge technical difference.
Thank you for your detailed explaination @Informatix. I am very weak with everything that has to do with servers. So what i was thinking of for ny first turned based MP game is a simple Battle Ship game where one player click on the grid and the game checks if there is a ship... so this should be a good practice for my first MP game.
Every player will have a timer so if 30 sec are over without any action game will be stopped...
I was thinking to use push notifications to send data and maybe use firebase for that.
I have already purchased the graphics for it. Maybe in 1-2 month it may be ready