To build an Instant App it is required to setup App Links. One of the steps requires to verify that you are the owner of the website you are linking your app to.
Is it possible to create an Instant App if I don't have any website but still want to have ability to send a link to my Instant App to a friend, share in on social media etc?
Basically the idea is to implement "share" feature in the app that will generate a link that will be leading to the instant app.
Instant Apps requires a link to a domain via App Links as Instant Apps are triggered/launched via a URL. There would be no way to launch an Instant App without connecting it to a domain. It's not necessarily required to host an actual website at that domain (aside from hosting the /.well-known/assetlinks.json file) although it is recommended (so that if a non-Instant App enabled device reaches that URL it actually shows something meaningful).
There's nothing to stop you registering and using some arbitrary domain and verifying it via App Links for the functionality you describe. You can use Firebase Hosting to very quickly set up hosting for free and add your assetlinks.json file (and of course there a multitude of other options to host that file as well).
Related
We're developing a mobile app where we need to gracefully handle invitation links to join a team with just a URL. We're researching the best way to do this in both iOS and Android and there seems to be a lot of different solutions over the years, to the point that it's worth asking the community and updating the general knowledge on this topic.
Using native "Deferred Deep Linking" to pass information to the newly installed app
Clipboard approach to pass data from link --> newly opened app (brittle if something is copied between original link usage and opening the app)
Cookie within browser which is checked after installation - deprecated because of security
Pass URL parameters to the app stores - doable in Google Play Store natively, Apple does not allow unique data (privacy, App Tracking Transparency [ATT], etc)
Using third party services like Branch.io, AppsFlyer.com, Firebase Dynamic Links - most
Seems like the most sensible approach would be to use Google Play Native capability + a robust implementation in iOS where you 1) pass a URL parameter to the Apple App Store letting the newly installed app know that there's an invitation in progress, 2) use the Clipboard approach to pass data, 3) if data is not available, but URL parameter for installation present --> prompt user to open the browser to continue invite process (deep link at that point).
How are you doing this or would do this if you had to enable this kind of functionality?
is it possible to use Instant Apps just with Google Webmaster Tools verification (like I did before with app-indexing) -> Search Console
Or maybe, this time it is necessary to use https + DAL? Handling Android App Links
Currently we don't use https, this is why we need the other solution.
I couldn't find the answer in Instant Apps documentation.
Yes, you must use HTTPS and Google Digital Asset Links.
From the second paragraph of your link
Handling Android App Links
Automatic handling of links requires the cooperation of app developers
and website owners. A developer must configure their app to declare
associations with one or more websites, and to request that the system
verify those associations. A website owner must, in turn, provide that
verification by publishing a Digital Asset Links file. A Digital Asset
Links file is a collection of statements conforming to the Asset Links
protocol that make public, verifiable assertions about other apps or
websites.
And later on that same page:
Important: The system verifies the JSON file via the encrypted HTTPS
protocol. Make sure that your hosted file is accessible over an HTTPS
connection, regardless of whether your app's intent filter includes
https.
We have created two AzureAD apps to support AzureAD authentication for our Smartsheet application: a Web app for authentication from our web app and a Native app for authentication from Android/iOS native apps.
When logging into Microsoft Azure Application (https://account.activedirectory.windowsazure.com/applications/default.aspx) we see two apps: Smartsheet and Smartsheet Native (see attached screenshot)
Microsoft Azure Application
Question 1: we would like to get rid of "Native" in the name of the second app. Initially we had named the app "Smartsheet Native" and removed Native from the name, but it still shows up here. Where would I edit this.
Question 2: For the Web app we have an App Url configured and when clicking the Smartsheet app we are redirected to our Smartsheet application. When clicking on the Smartsheet Native app we get an "something went wrong..." error. Is there a similar configuration we can set for the Native app or what is clicking a Native app supposed to do?
Q1: You can push it on support, looks like some cache - I will try to ask around for it. Also - this is client access site only for SSO to applications. your users will never use it this way anyway. Unfortunately there is no way to hide it from MyApps portal right now if user is assigned to the application (I bet you have made it available for all users).
Q2: This is Native app and it is configured to redirect user to URI on your mobile device. Then mobile device is handling response with a token on your device, that's how it is being handled to redirect response to correct application. It will not work here as you expect - I mean native apps are not meant to be used in MyApps portal as a redirection for a users. Native apps are for native apps and URI is handled on the device. your browser probably don't know how to handle the URI you have entered there (it is URI not URL - small but significant difference)
Here you will find information how to configure it when native app is using ADAL - https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-how-to-configure-active-directory-authentication - don't know exactly how your app is being built
Our company is building an internal mobile app for corporate mobile devices. AirWatch is used as an MDM solution.
App would have to access data from internal servers (by calling Web.API services). Additionally, each user will have to use their AD (Active Directory) accounts to login to the app (verified against internal AD records). I envision this can be done through Web.API service as well?
I've researched that for existing applications AirWatch provides "App Wrapping" (link), which supposedly takes care of Authentication & App Tunneling (granting access and routing your Mobile App to internal corporate servers using AirWatch VPN).
However I don't have any info on how to implement this. Has anyone done anything similar? Any advice would be appreciated.
I've never done it before but according to the AirWatch documentation:
You can apply available AirWatch SDK and App Wrapping features to your internal applications to integrate your applications and add extra functionality.
Then, just have to implement your app, with or without the SDK but I advise you to integrate it, and upload it on the AirWatch Console. There, you can a procedure to enable App Wrapping and configure options.
Contact your AirWatch administrator to access App Wrapping Guide, Mobile Application Management Guide, AirWatch Software Develpment Kit for Android.
I have developed 3 android applications and hosted in my own site.
Can someone please help me in the following questions I have:
A. With my own Client
1. How to do Silent Installations?
2. How to do Multiple Installations from a URL(User Checks multiple applications from the site and clicks on Download button. And it download applications one by one)?
3. How can I get the information on the uninstalled myown apps from the user mobile. Or how can I check whether one application is installed there or not?
B. Can I Leverage Google's Client services in the Andorid OS to do the above things (Avoiding to create my own client)
Create a custom build of android with your own original system-certificate application market/installer which talks to your servers rather than Google's.
Otherwise you are talking about spoofing Google's credentials, which is a topic for security research, not development.