There is a notification for EVERY message received. A notification should ONLY occur when ring isn't the focused app.
When ring is NOT focused, a notification probably shouldn't happen for every message received from the same peer, or at least group the messages (like slickdeals does). Also don't vibrate a notification for every notification, but only if there is NOT already a ring notification. For example, first notification from a new message vibrates, another 5 messages received do not vibrate while the user has not swiped away notification, user swipes away notification group, new message is received and device vibrates (again, while ring is not focused app).