Technically there are no other ways to make the user activate the push notifications but telling him to manually go in the settings panel and do it.
So the only thing you can do is to soften the pain in some way
- if you have a commercial app (i guess, given you have in app
purchase), provide some discount code or special offer that will be
sent just via push. In this way the user will be more willing to do
- otherwise I guess that the push notifications will serve some extended functionality: be clear about that and let the user understand the gain of activating the push.
My suggestion is always, though, to show the system push activation dialog only when the chances of having a conversion is maximum.
What we do in our app is to show, before the real push activation dialog, a custom one, explaining the user the purpose of the notifications. On this dialog there will be then 3 buttons: activate, later, no. This way, the user can delay the choice to a point when he can think better about that.
Even better than this would be to show the dialogs in a point of the app when the user is already kinda "fond" of the service, so for sure not at the beginning. Just an example: the user wants to order a pizza via an app. After he does it, the app could say "activate the push in order to be notified when the pizza is delivered". Chances that the user accepts in this moment are definitely higher than the first time he opens the app.
It all boils down to: give him always a strong motivation to do it, let him clearly know what's the gain for something that, in some cases, could be just a means for spamming.