Best practise to ask for Terms of Service agreement in an app

There are multiple ways to ask a user to agree to the terms of service. Is there any research to which method generates the best conversion, or what the pros and cons of each method is for a mobile app? I'm also curious if there is research to when the best moment is to ask for an agreement; before users start the activation process or at the very end.

What I've seen so far:

1) By clicking a button to continue (like Facebook) or performing an action (like Imgur making a post) you agree to the terms.

2) You manually tick a checkbox saying you agree to the terms of service.

3) You get an overlay prompt asking your permission:

DropBox

I'm wondering what the best solution could be for a credit card app I'm designing the activation process for.