There are two commands:
1) "Drop it!" - when your puppy learns to drop the ball at your feet;
2) "Give it!" - when he learns to place the ball into your palm.
It is better to start with the second. It doesn't matter - squeaky or non-squeaky, it should roll on the ground and bounce, and your puppy should like the ball. Find a smooth, sloping down surface somewhere in the park. Push it gently down. Your puppy will chase it, play with it and finally will bring it back to you. But, you shouldn't take it - let it roll down the slope again and again, your pup will bring it back to you again and again. One moment (just don't make him bored of it) pick it up. Let him see, that the ball doesn't "run away" only when it is in your hand. When he, actually, will attempt to give it to you - exchange the ball for a treat by taking the ball with one hand and giving the treat with the other. Starting with a gentle push at the ball allowing it to roll down, continue with throwing the ball down the slope later in the course. Your dog should place it into your hand.
When you teach him "Drop it!" - start with kicking the ball, not throwing it (you kick it or you throw it - that is later, it shouldn't be different for him if he knows it well), so, the command would be associated with your foot first. This way it will be easier for him to differentiate these two commands later.