How to test after install deep linking on ios? - android

I have a Flutter app and i need to detect the url that originated the app download in the stores. On android, i send firebase dynamic link X to some user, he opens it, the OS tries to open the app if installed or redirects to a landing page if not. Then in this page there is a link to Play store. If he downloads it, on first run the app detects correctly that it was launched from link X. So far, so good. For android, all i need to do is upload a test version of my app to play store and set my user as tester, so when the store link is opened, it shows the internal testing version instead of the production one. The problem is: on ios, i have not found a way to link directly to a test version on App store (everythng is handled inside test flight app), so i´m unable to test the whole process. Is there a way to replace the store link app with a test version for specific users?

Related

Redirect user after installing the app with a given link

I am seeking for a way to generate a link that make user go to the app store or google play page of an app, based on their platform, to ask them to install the app. After they install through such a link, they should be redirected to a page once they log in successfully. The redirection should not occur if the app is not installed through such a link.
I checked iOS's universal link and Android's app link, which both seem to be working only if users have installed the app already. Is there a way to trigger that behaviour when it is not installed?
Yes there is a way using Firebase Dynamic Links
Dynamic Links work across app installs: if a user opens a Dynamic Link
on iOS or Android and doesn't have your app installed, the user can be
prompted to install it; then, after installation, your app starts and
can access the link.

Latest app changes to users without submitting app to play store

I have an angular/ionic website that has registration, login, and dashboard pages. I want to build an android & ios app with the same code base.
When users download the app from the play store, if I add a new page/make a change to the existing page I have to submit the app for review, and then it will show the option for the update. Also, the user may not update the app. I want to show the latest changes to users as soon as I am ready with the update.
To achieve this I have followed the below steps:
1.I have built and deployed a web app(without native code). Let's call it xyz.com
2.I created a new ionic project for the APK file. I have placed an iframe with src=xyz.com
When I take the APK build of a new project, because of the iframe tag I can see the complete web app loaded. Whenever I make changes to the main web app project, after deploying to xyz.com just reopening the mobile app I can see the latest changes.
3.I have to read OTP during user login. So, after validation of user credentials in the web app, the next step is to enter the OTP. Now I have sent the event from the web app to the parent window(mobile app) like this:
window.parent.postMessage('ReadSMS','*')
In the mobile app, I listened to events from the website loaded in iframe like this:
window.addEventListener('message', handleMessage, false);
function handleMessage(event) {
if(event.data === 'ReadSMS'){
// Start native plugin cordova-plugin-sms-receive to read incoming sms
// After reading the SMS it is sent to the web app(in iframe)
myIframe.contentWindow.postMessage('SMSResult', '*',{OTP:otpfromsms});
}
}
In the web app, I listen to the events sent from the mobile app and auto-populate the OTP in the input box.
With the above iframe approach, users can use the new pages/bug fixes without updating the mobile app from the play store.
Since I use very less native plugins and they are not changed frequently. If I make any native code changes, then users have to update the app from play store, I am ok with that.
We have a tool called Ionic Appflow which has Live Update feature lets you update the UI and business logic of your app remotely, in real-time. Push HTML, JS, and CSS updates directly to your users without going through the app store to instantly fix bugs and ship new features.
The ionic Appflows is a paid tool and we can't afford it. However, I'm able to achieve live update feature and native functionality with just iframe and window message events.
Is there any disadvantage in the approach I have taken? Will, there be a problem while getting approval for listing my mobile app in the android play store and ios app store?
Can somebody please tell me the cons of the approach I have followed.
Thank You

Redirect to specific page(Deeplink) after installing angular cordova app

I have a requirement to connect specifc page in android/ios app from outside application after login(bypassing Home page).
If app is already installed in mobile ,I can do it.The difficulty I am facing when app is not installed,redirect to play /app store and install. After installation of app the page need to redirect specific page after successful login.
Is there any option to store any unique value in play store and app store for redirecting to specific page after successful login?
Kindly provide any other solution If you have.This is angular cordova project
Firebase Deep links are the official way to solve this problem. If the app is not installed, the deep link will survive the installation process. Later you can use that deep link to navigate to any portion of your app.
Branch.io does the same job.

Identify referrer URL after installation through Play Store

I have implemented Deep linking into my App: when the app is installed in the phone, it will open the app, else clicking on the browser it will redirect to the Google Play Store and give user the option to download the app.
My requirement is something like, when the user after clicking on the link gets redirected to Google Play Store and downloads the app, after successful installation of the app, the app should identify the URL from which it got redirected to the play store. I want to know whether it can be done via reading the intent or any other procedure is available to identify the same.
What you're describing is called Deferred Deep Linking (Deep Linking refers to using a link to open your app directly to a specific piece of content, and Deferred means that it works even if the app isn't installed first).
Unfortunately there's no native way to accomplish this on either iOS or Android. The Google Play INSTALL_REFERRER could work in theory, but it's unreliable and often gets delivered too late (i.e., seconds to minutes of waiting) to provide a good UX. URL schemes don't work, because they always fail with an error if the app isn't installed. Universal Links in iOS 9+ and App Links on Android 6+ at least don't trigger an error if the app isn't installed, but you'd still have to handle redirecting the user from your website to the App Store. You still can't pass context through to the app after install with Universal Links and App Links, so you wouldn't be able to send the user to the correct item.
To make this work, you need a remote server to close the loop. You can build this yourself, but you really shouldn't for a lot of reasons, not the least of which being you have more important things to do. A free service like Branch.io (full disclosure: they're so awesome I work with them) or Firebase Dynamic Links can handle all of this for you.
you can use FCM deep linking check this link dynamic-links

Is that necessary to publish app in market to implement deep linking for android

I want to implement deep linking in my app but my app is not published in market now.I can successful send message from my application. When I tap on message it doesn't open my app which is installed on my device. I also installed facebook default app on my device. If my application is installed, it should open my application on tap my post on fb wall from my device otherwise it should use the browser.
I followed this link :-
https://developers.facebook.com/docs/mobile/android/deep_linking/#deeplink
But I don't get field of Android Market App to put market url in documentation. It's written that this field is generated automatically. So is that necessary to publish app in market to implement deep linking. what I am missing?
No, it does not need to be published for deep linking to work. What deep linking will do is try to go to your app first, and if your app is not on the device, it will use the android market url to guide the user to install your app. If you're testing, just having the app on your device should be enough.
its not necessary to publish app. you can check it by installing app on your device. but if you are sending extra information with request. then there should be problem to receive that information against your requestId. because in my case i have receive information when app is intalled on my phone.. but i am unable to receive that requestId with information when app is not installed on my phone and notification takes me to play store to install app. have to face such type of problem?

Categories

Resources