A service variable will last as long as the memory is kept alive. If the user somehow refresh the page (if possible) or force kill the app / restart phone you'll loss everything and this is normal.
As you guess, you'll have to store it somehow persistently.
You're first choice here would obviously be localStorage. You also have a few angular modules that helps handle that like https://github.com/gsklee/ngStorage
You could also use cookies (a bit deprecated for me but if you need to handle expiracy, why not) or a database (websql)