Pular para o conteúdo principal

Configuração & debugging

Você pode notar a necessidade de envolver suas chamadas OneSignal com OneSignalDeferred.push(async function() { ... }) Você pode adicionar quantos métodos desejar dentro da function(). O OneSignal SDK é carregado com o atributo defer na sua página. Por exemplo: <script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script> Isso significa que o código OneSignal executará após o documento HTML ter sido completamente analisado, prevenindo qualquer bloqueio do site pelo OneSignal SDK. No entanto, isso apresenta um problema para scripts de página que dependem da variável OneSignalDeferred existir. Para resolver isso, quando você adiciona OneSignal ao seu site, ele deve começar com: window.OneSignalDeferred = window.OneSignalDeferred || []; Isso cria uma variável OneSignalDeferred, e se OneSignal já estiver carregado, é então atribuída à instância carregada. Caso contrário, a variável OneSignal equivale a um array vazio - []. Todos os arrays têm uma função .push(), então neste ponto, a variável OneSignalDeferred é simplesmente um array de funções que estamos adicionando a ela. Quando o SDK finalmente carrega, o SDK processa todas as funções adicionadas até agora e redefine .push().

init()

Inicializa o OneSignal SDK. Deve ser chamado na tag <head> uma vez em cada página do seu site. O ONESIGNAL_APP_ID pode ser encontrado em Keys & IDs.
Se você deseja atrasar a inicialização do OneSignal SDK, recomendamos usar nossos métodos de Privacidade.
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(async function(OneSignal) {
  await OneSignal.init({
    appId: "ONESIGNAL_APP_ID",
  });
});
Opções de init funcionam apenas com Configuração com Código Personalizado. Caso contrário, são configuradas no dashboard OneSignal.
ParameterTypeDescription
appIdStringObrigatório: Seu OneSignal App ID encontrado em Keys & IDs.
requiresUserPrivacyConsentBooleanAtrasa inicialização do SDK até que o usuário forneça consentimento de privacidade. Deve chamar setConsentGiven() para completar a configuração.
safari_web_idStringO Safari Web ID para seu certificado Safari .p12 carregado. Web Quickstart.
promptOptionsObjectPersonaliza os prompts de permissão. Detalhes abaixo.
notifyButtonObjectHabilita e configura o Sino de Subscription. Detalhes abaixo.
welcomeNotificationObjectPersonaliza ou desabilita a notificação de boas-vindas. Detalhes abaixo.
persistNotificationBooleanChrome (apenas desktop) - true: notificação persiste até ser clicada, false: desaparece após pouco tempo. Firefox/Safari ignoram esta configuração.
webhooksObjectConfigura callbacks de evento. Veja Webhooks.
autoResubscribeBooleanRecomendado: Reinscreve automaticamente usuários que limpam cache do navegador ou migram para OneSignal. Sobrescreve configuração do dashboard se usado no código.
notificationClickHandlerMatchString"exact" (padrão): foca aba com URL exata correspondente. "origin": foca qualquer aba com o mesmo domínio.
notificationClickHandlerActionString"navigate" (padrão): navega para launchURL. "focus": foca aba existente (usado apenas com correspondência "origin").
serviceWorkerParamObjectDefine o scope do service worker. Deve ser diferente do scope de outro service worker se aplicável. Exemplo:
{ scope: "/myPath/myCustomScope/" }
serviceWorkerPathStringDefine a localização do arquivo service worker OneSignal. Exemplo:
"myPath/OneSignalSDKWorker.js"

Parâmetros promptOptions

Use promptOptions para localizar ou personalizar os prompts de permissão do usuário. Todos os campos são opcionais.
ParameterTypeDescription
slidedownObjectContém um array de prompts com opções de configuração.
promptsArray of ObjectsUm array de configurações de prompt. Exemplo:
"slidedown": { "prompts": [{...}, {...}] }
typeStringTipos de prompt:
  • push – Slide Prompt (sem categorias)
  • category – Slide Prompt com até 10 categorias
  • email – Coleta apenas email
  • sms – Coleta apenas número de telefone
  • smsAndEmail – Coleta ambos
Veja Prompts de Permissão Web.
autoPromptBoolean
  • true: mostra baseado em delay.
  • false: prompt mostrado apenas manualmente via API Slidedown.
delayObjectControla quando auto-prompt é mostrado:
{ pageViews: 3, timeDelay: 20 } = Mostra após 3ª visualização de página e espera de 20s.
textObjectOpções de texto personalizado:
  • actionMessage (máx 90 caracteres)
  • acceptButton (máx 15)
  • cancelButton (máx 15)
  • emailLabel, smsLabel, confirmMessage
  • updateMessage, positiveUpdateButton, negativeUpdateButton (usado para atualizar categorias ou informações de contato)
categoriesArray of ObjectsApenas para type: category. Cada objeto inclui:
tag: chave interna
label: nome visível ao usuário
Exemplo: [ {tag: "local_news", label: "Local News"} ]. Veja Data Tags.

Parâmetros notifyButton

Configura o Sino de Subscription (botão de notificação) mostrado na página.
ParameterTypeDescription
enableBooleanHabilita o Sino de Subscription. Desabilitado por padrão.
displayPredicateFunctionFunção personalizada (ou Promise) que retorna true ou false para mostrar/ocultar o Sino. Avaliada uma vez quando mostrado.
sizeString'small', 'medium', ou 'large'. Reduz para 'small' após subscription.
positionString'bottom-left' ou 'bottom-right'.
offsetObjectOffsets CSS em pixels: { bottom: '50px', left: '10px' }
prenotifyBooleanSe true, mostra ícone “1 não lido” e texto hover personalizado.
showCreditBooleanDefina como false para ocultar “Powered by OneSignal” no popup.
textObjectTexto personalizado para a UI do sino.

Parâmetros welcomeNotification

Personaliza a notificação de boas-vindas enviada após primeira subscription.
ParameterTypeDescription
disableBooleanDesabilita notificação de boas-vindas.
messageStringObrigatório: Mensagem da notificação. Padrão para 'Thanks for subscribing!' se em branco.
titleStringTítulo da notificação. Padrão para título do site. Use ' ' (espaço) para remover (não recomendado).
urlURLURL opcional para abrir quando o usuário clicar na notificação. Tipicamente não necessário.

Exemplo:
<script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
<script>
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(async function(OneSignal) {
  await OneSignal.init({
    appId: "YOUR_APP_ID",
    safari_web_id: "YOUR_SAFARI_WEB_ID",
    notifyButton: {
      enable: true,
    },
    promptOptions: {
      slidedown: {
        prompts: [{
            type: "smsAndEmail",
            autoPrompt: false,
            text: {
              emailLabel: "Insert Email Address",
              smsLabel: "Insert Phone Number",
              acceptButton: "Submit",
              cancelButton: "No Thanks",
              actionMessage: "Receive the latest news, updates and offers as they happen.",
              updateMessage: "Update your push notification subscription preferences.",
              confirmMessage: "Thank You!",
              positiveUpdateButton: "Save Preferences",
              negativeUpdateButton: "Cancel",
            },
            delay: {
              pageViews: 1,
              timeDelay: 20
            },
          },
          {
            type: "category",
            autoPrompt: true,
            text: {
              actionMessage: "We'd like to show you notifications for the latest news and updates.",
              acceptButton: "Allow",
              cancelButton: "Cancel",

              /* CATEGORY SLIDEDOWN SPECIFIC TEXT */
              negativeUpdateButton: "Cancel",
              positiveUpdateButton: "Save Preferences",
              updateMessage: "Update your push notification subscription preferences.",
            },
            delay: {
              pageViews: 3,
              timeDelay: 20
            },
            categories: [{
                tag: "politics",
                label: "Politics"
              },
              {
                tag: "local_news",
                label: "Local News"
              },
              {
                tag: "world_news",
                label: "World News",
              },
              {
                tag: "culture",
                label: "Culture"
              },
            ]
          }
        ]
      }
    }
  });
});
</script>

setLogLevel()

Define o logging para imprimir logs adicionais no console. Veja Debugging com Browser DevTools para mais detalhes.
JavaScript
  OneSignal.Debug.setLogLevel('trace');
Níveis de log:
  • 'trace'
  • 'debug'
  • 'info'
  • 'warn'
  • 'error'

Identidade & propriedades do usuário

Quando seus usuários se inscrevem para notificações push no seu website, OneSignal cria automaticamente um OneSignal ID (nível de usuário) e um Subscription ID (nível de dispositivo). Você pode associar múltiplas subscriptions (ex: dispositivos, emails, números de telefone) com um único usuário chamando login() com seu identificador de usuário único.
Veja Users e Aliases para mais detalhes.

login(external_id)

Define o contexto do usuário para o external_id fornecido. Garante que todas as Subscriptions e propriedades associadas com este external_id sejam unificadas sob um único onesignal_id. Veja Users para mais detalhes. Comportamentos principais:
  • Se o external_id já existir, o SDK muda para aquele usuário. Dados anônimos coletados antes do login não são mesclados e serão descartados.
  • Se o external_id não existir, o estado local será salvo sob o onesignal_id atual. Quaisquer dados coletados enquanto o usuário era anônimo serão mantidos.
  • SDK retentar automaticamente em falha de rede ou erro de servidor.
Chame este método cada vez que o usuário abrir o site ou dentro do listener de mudança de Subscription para garantir que o External ID esteja definido e a subscription esteja vinculada ao usuário.
OneSignalDeferred.push(async function(OneSignal) {
   await OneSignal.login("external_id");
});

logout()

Desvincula o usuário atual da subscription.
  • Remove o external_id da subscription push atual.
  • Redefine o OneSignal ID para um novo usuário anônimo.
  • Quaisquer novos dados (ex: tags, Subscriptions, dados de sessão, etc.) agora serão definidos no novo usuário anônimo até serem identificados com o método login.
Use isto quando um usuário sair do seu app se você quiser definir a subscription para um novo usuário anônimo.
JavaScript
  OneSignalDeferred.push(async function(OneSignal) {
     await OneSignal.logout();
  });

OneSignal.User.onesignalId

Recupera o OneSignal ID do usuário atual salvo localmente no navegador. Pode ser null se chamado antes do estado do usuário ser inicializado. Em vez disso, use User State addObserver() para escutar mudanças de estado do usuário.
JavaScript
  OneSignal.User.onesignalId

OneSignal.User.externalId

Recupera o External ID do usuário atual salvo localmente no navegador. Pode ser null se não definido via método login ou chamado antes do estado do usuário ser inicializado. Em vez disso, use User State addObserver() para escutar mudanças de estado do usuário.
JavaScript
  OneSignal.User.externalId

addEventListener() User State

Escuta mudanças no contexto do usuário (ex: login, logout, atribuição de ID).
JavaScript
  OneSignalDeferred.push(function() {
    OneSignal.User.addEventListener('change', function (event) {
      console.log('change', { event });
    });
  });

addAlias(), addAliases(), removeAlias(), removeAliases()

Aliases são identificadores alternativos (como usernames ou IDs de CRM).
  • Defina external_id com login() antes de adicionar aliases. Aliases adicionados a subscriptions sem external_id não sincronizarão em múltiplas subscriptions.
  • Veja Aliases para detalhes.
JavaScript
  // Add a single alias
  OneSignal.User.addAlias("ALIAS_LABEL", "ALIAS_ID");

  // Add multiple aliases
  OneSignal.User.addAliases({
    ALIAS_LABEL_01: "ALIAS_ID_01",
    ALIAS_LABEL_02: "ALIAS_ID_02",
    ALIAS_LABEL_03: "ALIAS_ID_03",
  });

  // Remove a single alias
  OneSignal.User.removeAlias("ALIAS_LABEL");

  // Remove multiple aliases
  OneSignal.User.removeAliases(["ALIAS_LABEL_01", "ALIAS_LABEL_02", "ALIAS_LABEL_03"]);

getLanguage(), setLanguage()

Obtém e/ou sobrescreve o idioma auto-detectado do usuário. Veja Mensagens multi-idioma para uma lista de códigos de idioma disponíveis.
JavaScript
  // Get the language of the currently logged-in user
  OneSignal.User.getLanguage()

  // Set the language of the currently logged-in user
  OneSignal.User.setLanguage('en')

Eventos personalizados

Acione Journeys e ativação de passo Wait Until via evento personalizado.
Eventos personalizados requerem Web SDK 160500+Um usuário deve estar logado para eventos personalizados serem rastreados.
Rastreie e envie um evento personalizado executado pelo usuário atual.
  • name - Obrigatório. O nome do evento como uma string.
  • properties - Opcional. Pares chave-valor para adicionar ao evento. O dicionário ou mapa de properties deve ser serializável em um Objeto JSON válido. Suporta valores aninhados.
O SDK inclui automaticamente dados específicos do app no payload de properties sob a chave reservada os_sdk que estará disponível para consumo. Por exemplo, para direcionar eventos por tipo de subscription, você acessaria os_sdk.type.
json
{
  "os_sdk": {
    "device_os": "138",
    "type": "ChromePush",
    "device_model": "MacIntel",
    "sdk": "160500"
  }
}

trackEvent()

JavaScript
const properties = {
  "promo_code": "NEW50",
  "membership_details": {
     "vip": true,
     "products_viewed_count": 15,
  }
}
window.OneSignal.User.trackEvent('started_free_trial', properties);

// You can also track an event by name without additional properties associated
window.OneSignal.User.trackEvent('my_event_name');

Data tags

Tags são pares personalizados key : value de dados string que você define em usuários baseado em eventos ou propriedades de usuário. Veja Data Tags para mais detalhes.

addTag(), addTags()

Define uma única ou múltiplas tags no usuário atual.
  • Valores serão substituídos se a chave já existir.
  • Exceder o limite de tags do seu plano causará falha silenciosa das operações.
JavaScript
  // Add a single tag
  OneSignal.User.addTag('tag_key', 'tag_value');

  // Add multiple tags
  OneSignal.User.addTags({
   KEY_01: "VALUE_01",
   KEY_02: "VALUE_02",
   KEY_03: "VALUE_03"
  });

removeTag(), removeTags()

Deleta uma única ou múltiplas tags do usuário atual.
JavaScript
  // Delete a single tag
  OneSignal.User.removeTag("KEY");

  OneSignal.User.removeTags(['KEY_01', 'KEY_02', 'KEY_03']);

getTags()

Retorna a cópia local das tags do usuário. Tags são atualizadas do servidor durante login() ou novas sessões de app.
JavaScript
  const tags = OneSignal.User.getTags()

Privacidade

setConsentRequired()

Impõe consentimento do usuário antes da coleta de dados começar. Deve ser chamado antes de inicializar o SDK. Este método é o mesmo que adicionar requiresUserPrivacyConsent: true ao método init.
JavaScript
  OneSignal.setConsentRequired(true);

setConsentGiven()

Concede ou revoga consentimento do usuário para coleta de dados. Sem consentimento, nenhum dado é enviado para OneSignal e nenhuma subscription é criada.
  • Se setConsentRequired() ou requiresUserPrivacyConsent estiver definido como true, nosso SDK não será totalmente habilitado até setConsentGiven ser chamado com true.
  • Se setConsentGiven estiver definido como true e uma Subscription for criada, então posteriormente for definido como false, aquela Subscription não receberá mais atualizações. Os dados atuais para aquela Subscription permanecem inalterados até setConsentGiven ser definido como true novamente.
  • Se você deseja deletar os dados de User e/ou Subscription, use nossas APIs Delete user ou Delete subscription.
JavaScript
  OneSignal.setConsentGiven(true);

Subscriptions

Veja Subscriptions para mais detalhes.

User.PushSubscription.id

Recupera o Subscription ID push do usuário atual salvo localmente no navegador. Pode retornar null se chamado muito cedo. É recomendado obter estes dados dentro do subscription observer para reagir a mudanças.
JavaScript
  OneSignal.User.PushSubscription.id;

User.PushSubscription.token

Retorna o token de subscription push atual. Pode retornar null se chamado muito cedo. É recomendado obter estes dados dentro do subscription observer para reagir a mudanças.
JavaScript
  OneSignal.User.PushSubscription.token;

addEventListener() mudanças de subscription push

Use este método para responder a mudanças de subscription push como:
  • O dispositivo recebe um novo token push do Google (FCM) ou Apple (APNs)
  • OneSignal atribui um subscription ID
  • O valor optedIn muda (ex: chamado optIn() ou optOut())
  • O usuário alterna permissão push nas configurações do sistema, então abre o app
Quando isso acontece, o SDK aciona o evento onPushSubscriptionChange. Seu listener recebe um objeto de estado com os valores previous e current para que você possa detectar exatamente o que mudou. Para parar de escutar atualizações, chame o método removeObserver() ou removeEventListener() associado.
JavaScript
  function pushSubscriptionChangeListener(event) {
    console.log("event.previous.id", event.previous.id);
    console.log("event.current.id", event.current.id);
    console.log("event.previous.token", event.previous.token);
    console.log("event.current.token", event.current.token);
    console.log("event.previous.optedIn", event.previous.optedIn);
    console.log("event.current.optedIn", event.current.optedIn);
  }

  OneSignalDeferred.push(function(OneSignal) {
    OneSignal.User.PushSubscription.addEventListener("change", pushSubscriptionChangeListener);
  });

optOut(), optIn(), optedIn

Controla o status de subscription (subscribed ou unsubscribed) da Subscription push atual. Use estes métodos para controlar o status de subscription push no seu site. Casos de uso comuns: 1) Prevenir que push seja enviado para usuários que fazem logout. 2) Implementar um centro de preferências de notificação dentro do seu site.
  • optOut(): Define o status de subscription push atual como unsubscribed (mesmo se o usuário tiver um token push válido).
  • optIn(): Faz uma de três ações:
    1. Se a Subscription tiver um token push válido, define o status de subscription push atual como subscribed.
    2. Se a Subscription não tiver um token push válido, tenta exibir o prompt de permissão push.
  • optedIn: Retorna true se o status de subscription push atual for subscribed, caso contrário false. Se o token push for válido mas optOut() foi chamado, isto retornará false.
JavaScript
  OneSignal.User.PushSubscription.optOut();

  OneSignal.User.PushSubscription.optIn();

  var optedIn = OneSignal.User.PushSubscription.optedIn;

addEmail(), removeEmail()

Adiciona ou remove uma Subscription de email (endereço de email) para/do usuário atual. Chame addEmail após login() para definir o contexto de usuário correto. Compatível com Identity Verification.
JavaScript
  OneSignal.User.addEmail("example@email.com");

  OneSignal.User.removeEmail("example@email.com");

addSms(), removeSms()

Adiciona ou remove uma Subscription SMS (número de telefone) para/do usuário atual. Requer formato E.164. Chame addSms após login() para definir o contexto de usuário correto. Compatível com Identity Verification.
JavaScript
  OneSignal.User.addSms("+15558675309");

  OneSignal.User.removeSms("+15558675309");

Prompts Slidedown

Exibe os vários prompts slidedown em seus sites. Veja Prompts de permissão web para mais detalhes.
  • Se dispensado, chamadas futuras serão ignoradas por pelo menos três dias. Recusas adicionais aumentarão o tempo necessário a decorrer antes de solicitar o usuário novamente.
  • Para sobrescrever comportamento de back-off, passe {force: true} para o método. No entanto, para fornecer uma boa experiência de usuário, vincule a ação a um evento iniciado por UI como um clique de botão.
Isso não substitui o Prompt Nativo do Navegador necessário para subscription. Você deve obter permissões usando o prompt nativo do navegador.

promptPush()

Exibe o prompt slidedown regular para notificações push.
JavaScript
  OneSignal.Slidedown.promptPush();
  // To bypass backoff logic while testing, pass {force: true}
  //OneSignal.Slidedown.promptPush({force: true});

promptPushCategories()

Exibe o prompt slidedown de categoria, permitindo que usuários atualizem suas tags. Também aciona o prompt de permissão de notificação nativo se o usuário ainda não concedeu permissão.
JavaScript
  OneSignal.Slidedown.promptPushCategories();
  // To bypass backoff logic while testing, pass {force: true}
  //OneSignal.Slidedown.promptPushCategories({force: true});

promptSms()

Exibe o prompt de subscription SMS.
JavaScript
  OneSignal.Slidedown.promptSms();
  // To bypass backoff logic while testing, pass {force: true}
  //OneSignal.Slidedown.promptSms({force: true});

promptEmail()

Exibe o prompt de subscription de email.
JavaScript
  OneSignal.Slidedown.promptEmail();
  // To bypass backoff logic while testing, pass {force: true}
  //OneSignal.Slidedown.promptEmail({force: true});

promptSmsAndEmail()

Exibe os prompts de subscription SMS e email simultaneamente.
JavaScript
  OneSignal.Slidedown.promptSmsAndEmail();
  // To bypass backoff logic while testing, pass {force: true}
  //OneSignal.Slidedown.promptSmsAndEmail({force: true});

addEventListener() Slidedown

Adiciona um callback para detectar o evento de prompt Slidedown mostrado.
JavaScript
  OneSignalDeferred.push(function(OneSignal) {

    OneSignal.Slidedown.addEventListener('slidedownShown', function (event) {
      console.log('slidedownShown', { event });
    });

  });

Notificações push

requestPermission()

Solicita permissão de notificações push via prompt nativo do navegador. Sujeito à lógica de backoff definida pelo navegador. Veja Prompts de permissão web para mais detalhes.
JavaScript
  OneSignal.Notifications.requestPermission();

isPushSupported()

Retorna true se o navegador atual suportar web push.
JavaScript
  const isSupported = OneSignal.Notifications.isPushSupported();

OneSignal.Notifications.permission

Retorna um boolean indicando a permissão atual do site para exibir notificações.
  • true: O usuário concedeu permissão para exibir notificações.
  • false: O usuário negou ou ainda não concedeu permissão para exibir notificações.
Esta é apenas a permissão do site, não leva em conta o status optOut do OneSignal ou a existência do Subscription ID e Push Token, veja OneSignal.User.PushSubscription para estes. Para escutar mudanças em permissão, use o evento permissionChange.
JavaScript
  let permission = OneSignal.Notifications.permission;

addEventListener() notifications

Você pode se conectar ao ciclo de vida da notificação anexando seus manipuladores de evento a um evento de notificação. Chamar addEventListener permite adicionar um número arbitrário de manipuladores de evento para eventos de notificação. Para parar de escutar eventos, chame o método removeEventListener() associado.
JavaScript
  function eventListener(event) {
    console.log(`${event}`);
  }

  OneSignal.Notifications.addEventListener("event", eventListener);

  OneSignal.Notifications.removeEventListener("event", eventListener);

permissionChange

Este evento ocorre quando o usuário clica em Permitir ou Bloquear ou dispensa a solicitação de permissão nativa do navegador.
JavaScript
  function permissionChangeListener(permission) {
    if (permission) {
      console.log(`permission accepted!`);
    }
  }

  OneSignal.Notifications.addEventListener("permissionChange", permissionChangeListener);

permissionPromptDisplay

Este evento ocorre quando a solicitação de permissão nativa do navegador acabou de ser mostrada.
JavaScript
  function promptListener() {
    console.log(`permission prompt dispslayed event: ${event}`);
  }

  OneSignal.Notifications.addEventListener("permissionPromptDisplay", promptListener);

click

Este evento disparará quando o corpo/título da notificação ou botões de ação forem clicados.
JavaScript
  function clickEventListener(event) {
    console.log(`click event: ${event}`);
  }

  OneSignal.Notifications.addEventListener("click", clickEventListener);

foregroundWillDisplay

Este evento ocorre antes de uma notificação ser exibida. Este evento é disparado na sua página. Se múltiplas abas de navegador estiverem abertas no seu site, este evento será disparado em todas as páginas nas quais OneSignal está ativo.
JavaScript
  function foregroundWillDisplayListener(event) {
    console.log(`notification will display: ${notification}`);
  }

  OneSignal.Notifications.addEventListener("foregroundWillDisplay", foregroundWillDisplayListener);

dismiss

Este evento ocorre quando:
  • Um usuário propositalmente dispensa a notificação sem clicar no corpo da notificação ou botões de ação
  • No Chrome no Android, um usuário dispensa todas as notificações web push (este evento será disparado para cada notificação web push que mostramos)
  • Uma notificação expira por conta própria e desaparece
Este evento não ocorre se um usuário clicar no corpo da notificação ou em um dos botões de ação. Isso é considerado um evento de click de notificação.
JavaScript
  function notificationDismissedListener(event) {
    console.log(`dismiss event: ${event}`);
  }

  OneSignal.Notifications.addEventListener("dismiss", notificationDismissedListener);

setDefaultUrl()

Define a URL padrão para notificações. Se você não definiu uma URL padrão, sua notificação abrirá na raiz do seu site por padrão.
JavaScript
  OneSignal.Notifications.setDefaultUrl("https://onesignal.com");
Para definir a URL padrão para notificações, forneça uma URL válida que você deseja que seja lançada quando a notificação for clicada. Esta URL padrão será usada se nenhuma outra URL for especificada ao criar uma notificação. Se você especificar uma URL ao criar uma notificação, a URL padrão será sobrescrita. No caso do Safari, a URL de ícone de notificação padrão será definida como a URL do Site que você especificou nas suas configurações Safari, pois esta função não está disponível.

setDefaultTitle()

Define o título padrão para exibir em notificações.
JavaScript
  OneSignal.Notifications.setDefaultTitle("Powered by OneSignal!");
Se uma notificação for criada com um título, o título especificado sempre sobrescreve este título padrão. O título de uma notificação tem como padrão o título da página que o usuário visitou por último. Se os títulos de suas páginas variarem entre páginas, esta inconsistência pode ser indesejável. Chame isto para padronizar títulos de página através de notificações, desde que um título de notificação não seja especificado.

Outcomes

sendOutcome()

Aciona um outcome que pode ser visualizado no dashboard OneSignal. Aceita um nome de outcome (string, obrigatório) e um valor (number, opcional). Cada vez que o método sendOutcome é invocado com o mesmo nome de outcome passado, a contagem de outcome aumentará, e o valor de outcome será aumentado pelo valor passado (se incluído). Veja Custom Outcomes para mais detalhes.
JavaScript
  OneSignal.Session.sendOutcome('outcome name', 19.84);

sendUniqueOutcome()

Aciona um outcome que pode ser visualizado no dashboard OneSignal. Aceita apenas o nome do outcome (string, obrigatório). sendUniqueOutcome aumentará a contagem para aquele outcome apenas uma vez por usuário. Veja Custom Outcomes para mais detalhes.
JavaScript
  OneSignal.Session.sendUniqueOutcome('outcome name');