OneSignal / react-onesignal

React OneSignal Module: Make it easy to integrate OneSignal with your React App!
Other
74 stars 23 forks source link

[Bug]: Adding promptOptions to init shows a premature prompt #128

Open DanyPell opened 8 months ago

DanyPell commented 8 months ago

What happened?

Using 3.0.1.

When filling promptOptions, a prompt shows on page load (with my updated text), however, since it is only an init method, it should not do that. My config to reproduce (uncomment promptOptions).

await OneSignal.init({
    appId: oneSignalAppId,
    safari_web_id: oneSignalSafariId,
    notifyButton: { enable: false },
    allowLocalhostAsSecureOrigin: !isProduction,
    autoPrompt: false,
    autoResubscribe: true,
    // Maybe a but in the library because although it works (proper text shown in prompt), it immediately shows a prompt on page load...
    // promptOptions: {
    //     actionMessage: 'Get notified when someone accepts your friend requests and for new messages.',
    //     acceptButton: 'ALLOW',
    //     cancelButton: 'No Thanks',
    // }

});

I tried adding the promptOptions in the OneSignal.Slidedown.promptPush method but it does not accept such options. Which would be a better place to add them, by the way.

What browsers are you seeing the problem on?

Chrome (Chromium)

What operating system are you running?

Latest iOS in Mac M1 but it is likely just a library issue

Steps to reproduce?

As explained

What did you expect to happen?

A prompt should not show on page load simply because of adding promptOptions in the init method.

Relevant log output

No response

maschtag commented 8 months ago

I add the same issue, and I just had my Init parameters in the wrong format.

Try with something like that : { promptOptions: { slidedown: { prompts: [{ type: "push", autoPrompt: false, text: { actionMessage: 'Get notified when someone accepts your friend requests and for new messages.', acceptButton: 'ALLOW', cancelButton: 'No Thanks', } delay: { pageViews: 1, timeDelay: 10 }, }] } }, }