react-onesignal icon indicating copy to clipboard operation
react-onesignal copied to clipboard

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

Open DanyPell opened this issue 1 year ago • 3 comments

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

DanyPell avatar Oct 12 '23 23:10 DanyPell

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 }, }] } }, }

maschtag avatar Oct 31 '23 10:10 maschtag

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 }, }] } }, }

Does it work?

  • I've disabled the "Auto Prompt" in my OneSignal Dashboard
  • I've used this configuration below in my init().
      promptOptions: {
        slidedown: {
          prompts: [
            {
              type: "push",
              autoPrompt: false,
              delay: { pageViews: 0, timeDelay: 0 },
            },
          ],
        },
      }
    
    

But it still shows the slidedown

shumkapoh avatar Jul 11 '24 14:07 shumkapoh

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 }, }] } }, }

Does it work?

  • I've disabled the "Auto Prompt" in my OneSignal Dashboard
  • I've used this configuration below in my init().
      promptOptions: {
        slidedown: {
          prompts: [
            {
              type: "push",
              autoPrompt: false,
              delay: { pageViews: 0, timeDelay: 0 },
            },
          ],
        },
      }
    

But it still shows the slidedown

It takes time for the "Auto Prompt" changes to reflect in my website. Sorry for the false alarm. 🙏

shumkapoh avatar Jul 12 '24 02:07 shumkapoh