OneSignal with external codes

https://kwiksher.com/doc/kwik_tutorial/programming/push_notification/


Add main


002 - toc

Noification button in menu


006 - notification

DidReceiveRemoteNotification from Onesignal opens the page


007 - oneSignal

setup the buttons with the external codes

variables


onesignal_setup.lua


local OneSignal = require("plugin.OneSignal")
local widget = require( "widget" )
local labelColor = {0,0,0}

OneSignal.IdsAvailableCallback( function (userId, pushToken)
    print("userId:" .. userId)
    if (pushToken) then
        print("pushToken:" .. pushToken)
    else
        native.showAlert("message", "Error in notification setting", { "OK" } )
    end
end)

layer.subsBtn.alpha = 0

local function displayOnOffSubscription()
    layer.registBtn.alpha = 0

    local switchText = display.newText( "On/Off", 250, 160, native.systemFont, 14 )
    switchText.anchorY = 0
    switchText.x = layer.registBtn.x
    switchText.y = layer.registBtn.y -10
    switchText:setFillColor( unpack(labelColor) )
    sceneGroup:insert( switchText )
    
    local function onOffSwitchListener( event )
        print("On/Off Switch\nswitch.isOn = " .. tostring( event.target.isOn ))
        OneSignal.SetSubscription(event.target.isOn)
        UI.enableSubscript = event.target.isOn
    end
    
    -- Create a default on/off switch (using widget.setTheme)
    local onOffSwitch = widget.newSwitch
    {
        left = 190,
        top = 180,
        --onPress = onOffSwitchListener,
        onRelease = onOffSwitchListener,
    }
    sceneGroup:insert( onOffSwitch )
    onOffSwitch.x = layer.subsBtn.x
    onOffSwitch.y = layer.subsBtn.y
    onOffSwitch.isOn = UI.enableSubscript
    onOffSwitch:scale(0.6, 0.6)
end

if UI.isRegister == false then
    layer.registBtn:addEventListener("tap", function()
        OneSignal.RegisterForNotifications()
        UI.isRegister = true
        layer.registBtn.alpha = 0
        displayOnOffSubscription()
    end)
else
    displayOnOffSubscription()
end