If you only want it to show up on the first time you log in ...
PlayerEnteringWorld has two parameters. firstTimeLogin, reload
If the first parameter is true then it is the first time you have logged into the game and can show the splash.
Now, if you also only want it to show up if it is the first time that version of the addon has been run, to show say update notes, then you could then have an account or character specific SavedVariable setting that holds the last version number loaded and then only display if that value is different from the one now running. Then after the frame is displayed update the saved variable.
Something like the following
Lua Code:
if firstTimeLogin and sv.version ~= addon.version then
welcomeFrame:Show() or UIFrameFadeIn(welcomeFrame,1,0,1)
sv.version = addon.version
end