Dogs have very short attention spans; your training sessions should be limited to 15 to 20 minutes a couple of times a day. Never attempt to train your dog if either of you cant concentrate completely on the session.
The best time to train a dog is when he is hungry, if he is a very active dog, it may be best to allow him to run a little, and train him when he is a little tired, this does not mean exhaustion!
Stagger his lessons so he doesn’t get bored, and refuse to get involved in the trainings sessions. Over a short period of time reduce the number of edible and physical rewards, always give verbal praise, regardless of how long he has been training.
After he has learned his lessons well in a quiet environment, gradually begin adding distractions and repeat the lessons. Once these lessons are completed indoors, move to a quiet location out of doors and repeat the lessons.
Again, gradually increase the distractions as he shows success at the same lessons he has learned in each of the above situations. Now take him to a busy place and train him there, it may seem repetitive to go over the same lessons each time, but he needs to be trained in each situation.
You can not guarantee that every time he needs to follow a command he will be in a quiet indoor place. Refusing to train in other situations is setting your dog up for future failure.
Training sessions should always be ended on a note of success, and with play time. Don’t make the mistake of only playing with him when training time is over, he may decide to get the session over with quickly so he can get the play time.
Last but not least, training time is not exercise, or the only exercise your dog should get. He needs time to play with you and other dogs that are not connected to his training times.