iPhone Web App -- Links launched via "Home Screen" mode - iphone

I have an mobile web application that I'd like users to be able to use on "home screen mode" (that is, adding it as a bookmark to the homescreen, and then launching the web app via the home screen button).
However, this seems to behave differently than if it the web application was accessed via mobile Safari. For example, whenever I click a link on the web application (even an internal link), it separately launches an instance of Safari instead of displaying the page within the current "browser" (or whatever is launched when you click a bookmark on the home screen). How do I fix this?
Thanks!

iPhone Safari Web App opens links in new window

Related

when the dynamic link is opened from browser(especially in safari) it is always redirecting to the app store even though app is installed in iOS

My URL is same as below, i will get this link to my mail from sendgrid and in iOS when i tap on this it always loads the browser first (safari most of the case) and opens in app preview page even though app is installed.
URL:<a clicktracking="off" href="https://{project_name}.page.link/?link=https://{project_name}.page.link/users/email_check/{{ $email_token }}&apn=com.{project_name}.app&isi={applestoreid}&ibi=com.{project_name}.app&efr=1">https://{project_name}.page.link/?link=https://{project_name}.page.link/users/email_check/{{ $email_token }}&apn=com.{project_name}.app&isi={applestoreid}&ibi=com.{project_name}.app&efr=1</a>
When you access a dynamic link in a browser. It will intentionally not go to your app because the actions indicate that your intent is to open a web page.
If you have your custom domain from Firebase ie: [your custom domain].app.goo.gl, send it into your link like so:
https://[your custom code].app.goo.gl/
And then tap that link. Does it open the app, or does it go to Safari? If it goes to Safari, it means that you haven't configured your iOS app for universal links yet, which is needed to support opening your custom domain url directly in the app. In Xcode, go to the Capabilities tab, and ensure that you've added the universal link domain as described in Apple's docs.
If you tapped the site address on the far top-right on iOS, it disables universal linking on that iOS app, until you long-tap and ask to open in the app again.
Second, you can't type in universal links into Safari's address bar and navigate to the app. Safari, by design, will open that URL in the browser. The easiest, most reliable way to test whether universal links are working is to put a universal link into the app, and tap the link from there.

Using SSO in a third party controlled web view in Flutter Web

I'm using various SSO options such as Google for my Flutter Web app which generally work fine. If opened in a web browser the sign in dialog is opened either in a popup (desktop) or a new tab (mobile).
However, when the link to my app is shared in e.g. Facebook and opened through the Facebook app, a webview inside the Facebook app opens my app. This webview does not allow tabs, therefore the sign in dialog is opened in the current view, overriding my Flutter App. This prevents any SSO from being used when opening the app this way (e.g. through the Facebook app)
I've tried forcing the app to launch in the default browser instead of the Facebook web view but wasn't able to do so.
Is there any way to open the default browser even when the link to my app is opened from within the Facebook app?
Or
Is there any way to provide access to the (e.g. Google) authentication screen without killing my app in the process?

Manage pages displayed in Progressive Web Apps ( PWA )

I am new to PWA and was just going through some readups. We have public website and in the website we provide login for users to manage their account. By going with PWA, I understand that users can save the website on the mobile homepage as an icon. My question is that , when user click on my PWA icon , can we load the login page for the users so that they can only manage account with PWA instead of loading entire website.
The Web App Manifest allows you to control how your app appears and how it's launched. You can specify home screen icons, the page to load when the app is launched, screen orientation, and even whether or not to show the browser chrome.
The web app manifest is a simple JSON file that gives you, the developer, the ability to control how your app appears to the user in areas where they would expect to see apps (for example, a mobile device's home screen), direct what the user can launch, and define its appearance at launch.
You can define how your app is launched, add a query string parameter to the start_url that indicates how it was launched.
"start_url": "/?utm_source=homescreen"
Hope this helps!
Yes you can, within your web app manifest file you can set a JSON property called "start_url".
There's further information here https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/#set_a_start_url

Persisting cookie for iPhone UIwebview mobile web app

I'm using MVC4 forms auth. My mobile web app runs in full screen UIwebview on iphone. I have a home screen icon for my mobile web app. The app needs to launch external links. Those launch in Safari, which works fine. However returning to the mobile web app by clicking again on the home screen icon, seems to have logged the user out. Ideally I want the user to remain logged into the web app after viewing the external links in Safari. Maybe the cookie got deleted? Can I persist the cookie?
FormsAuthentication.SetAuthCookie(username, createPersistentCookie: true);
This fixes the log out issue

Return to app from safari

In my application, I redirect the user to the safari browser when he/she taps on a button, which in turn closes the application and opens the safari browser. There is no problem in that. It works fine. The thing is when the user quits the safari browser, I want to redirect the user back to the application, not the home screen. Any idea please...
If you control the website that you are redirecting them to, then you can place a link on the site using custom URL which I describe in more details below. But if it's a site you don't control, you can have the user surf within your app using the UIWebView.
For an iOS app, you can create custom URL schemes that your app register with the system. Then on the web page you would create a link using that custom URL. That is how Apple launches the telephone.app or the mail.app from mobile safari.
For example: Let say your app is call BigBadApp. You custom URL would be: bigbadapp:// Now, you could create a link to your app would be: Launch BigBadApp You can pass any kind of information back to your app using the custom URL and your app will handle that information in the app delegate. For iOS 4.2 and later: application:openURL:sourceApplication:annotation:. The name of old delegate on earlier version of iOS is application:handleOpenURL:
For more information see check Apple Implementing Custom URL Schemes.
Also iOS developer:tips has a tutorial on Launching Your Own Application via a Custom URL Scheme.
You can't. When you redirect someone out of your application the only way to get back is using the task switcher or opening your application from the home screen again.
If you want to keep the user in your application you could open the web pages in a webview within your application
use UIwebViewController . that represent web link within app . so that your app wont be in back ground and add back button in navigation bar on click back button navigate to back screen . i guess it would be better
i would launch an in app browser...
this is a good uiviewcontroller subclass that has most of the browser functions already implemented. its very easy to use.
https://github.com/samvermette/SVWebViewController