Push Notification Permission Asked at the Wrong Time
Asking for push on first launch kills opt-in rate. The fix: ask after the first meaningful action. Real numbers from a shipped app.
Asking for push on first launch kills opt-in rate. The fix: ask after the first meaningful action. Real numbers from a shipped app.
Pain Point
Asking for push permission on first launch cuts opt-in in half. The fix: ask after the first meaningful action, with a pre-prompt.
The default tutorial shows you requestPermissionsAsync() on the first screen. So you add it, and the first time anyone launches your app they get slapped with a native OS prompt.
Opt-in rate collapses. The OS only shows the native prompt once. After No, the user has to go into Settings to change it. Most never do.
I had a fitness app with two release branches that differed only in when the push permission prompt was shown.
Same users. Same copy. Two times the opt-in.
Push permission is the retention loop for most apps. If only 28% of users can receive a push, your D7 retention is capped from day one. Doubling the opt-in rate doubles the top of your retention funnel.
The pre-prompt screen exists because the OS prompt only happens once. If they decline the pre-prompt, you can ask again later. If they decline the OS prompt, you cannot.
AI App Factory ships a PushOptInScreen component that you drop in after the first meaningful action. It handles the pre-prompt, the native call, and the state flag so you do not ask twice.
AI App Factory handles the boring infrastructure so you can build the product.