We have a requirement to create a deep link from the backend rather than from the Android/IOS app side.
Initially, they were generated by the Mobile application side, and now we need to generate the same with spring boot. We checked some websites and it seems like Firebase is a better option, but the samples were only for Android and not spring boot. We even tried adding a few Maven dependencies, but we were getting this error Missing artifact.
We also tried this website which gave the Java code for the same, but we couldn't find the dependencies for NavDeepLinkBuilder. We were able to add PendingIntent and R into our code but some of the parameters inside R were not available, even with different versions.
The requirement is to share a Deep link via sms when triggered from the UI (we are using React JS), which on click would open a Mini app inside our App. After all the research we did we think that it is only achievable via Android/IOS. So can anyone suggest any methodology by which a Deep link can be created with Spring boot, or is it possible with React JS?
Sample of actual URL and deep link created from App side
Actual URL: https://www.sampleminiapp.com?appId=$miniAppId&name=$name&userId=$merchantUserId&docId=$docId&url=$url&helpUrl=$helpUrl&policyUrl=$policyUrl
Deep link: https://digimoney.page.link/R66vtn9pSzMhLx1P6
Related
I am working on a React project. The same web app has its Android and IOS apps as well.
When I copy a web app's link to android users' mobile phone, It asked to open through web or app like this.
But I try to open the same thing with the IOS device. It directly opens the link in the web browser.
I am new to this project and I have no access to any documentation for the project. How can I add android behaviour to the IOS? Is this can be done in the React web app itself?
I think this will help with support universal links:
https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html
In addition, there is a very detailed explanation here in terms of react native. I wanted to direct you in case you might not have come across.
https://rossbulat.medium.com/deep-linking-in-react-native-with-universal-links-and-url-schemes-7bc116e8ea8b
For example, i have case in my flutter app when user can recover his password.
In that case user will receive link on e-mail, and i want by clicking on that link, my flutter app will open, and route to specific screen.
You'll want to view this from the perspective of: How do I open my iOS/Android app from a URL, ie. App Deep Linking.
They each have their own respective implementations:
android/app-links
apple/allowing_apps_and_websites_to_link_to_your_content
Or you can go with more comprehensive SDKs that are capable of doing both for you:
Firebase Dynamic Links
Branch.io Deep Linking
There is a nice plugin for this,
https://github.com/avioli/uni_links
it also has a detailed explanation on how you need to configure iOS and Android for it to work (which is the hardest part imho); another nice source of information is this blog post
So here , you must use a dynamic link.
The best solution is the use of Firebase Dynamic Links .
One of the advantages of Firebase Dynamic Links: Convert mobile web users to native app users
With Dynamic Links, you can seamlessly transition users from your
mobile website to the equivalent content within your app. And because
the links survive the app install process, even new users can pick up
where they left off on your mobile site without missing a beat.
Another solution is to switch to native solutions: Android and iOS.
You can use app_links, that supports Android App Links, Deep Links, iOs Universal Links and Custom URL schemes handler (desktop included) for Android, iOS, macOS, web and Windows.
We have several landing pages that link to Google Play and iOS App Store. I would love to know the landing page that a person came from within the app code. I have searched around and can't find any clear answer. Lots of gray area.
I just want to access the landing page URL in Java or Swift.
I realize iOS and Android are two separate beasts. But does anyone know how I could achieve this?
You will need to use Firebase Dynamic Links this helps you create various links using various alternatives as shown in this quote from the official Firebase source:
You create a Dynamic Link either by using the Firebase console, using a REST API, iOS or Android Builder API, or by forming a URL by adding Dynamic Link parameters to a domain specific to your app.
Then your app can access the link in code using Java or Swift and the link will work even if the user has your app already in their phone and you can set a logic to handle that too and the links are also automatically direct the user to AppStore or PlayStore depending on which device is used.
Dont worry about whether the link will work for both Android and iOS and you can use the api to access the link as this quote says.
With Dynamic Links, your users get the best available experience for the platform they open your link on. If a user opens a Dynamic Link on iOS or Android, they can be taken directly to the linked content in your native app. If a user opens the same Dynamic Link in a desktop browser, they can be taken to the equivalent content on your website.
In addition, 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.
You can get more information on dynamic links here and check if it will solve your problem.
So I'm trying to figure out if it's possible to deep link a user who does not have the app currently installed. Here's what I'm trying to do:
1) User clicks deep link on website in mobile browser.
2) User is taken to the app store to install the app
3) Once installed, the user is taken to the deep link to specific content within the app.
The closest thing I've found so far is with Android App Install Banners, but that's not exactly what I'm looking for. Is this even possible?
Here's a link with the Android App Install Banners near the bottom of the page: https://medium.com/#ageitgey/everything-you-need-to-know-about-implementing-ios-and-android-mobile-deep-linking-f4348b265b49#.evsxzudwj
What you are trying to accomplish is known as deferred deep linking.
Vanilla iOS does not support deferred deep linking at all. Android can do it with the Android Google Play referrer, but it is unreliable and doesn't work at all from Chrome (the most popular Android browser by far).
To do this, you'll likely want to investigate a (free) third-party service like Branch.io (full disclosure: I am on the Branch team) or Firebase Dynamic Links. The Branch platform abstracts all the technical details and edge cases away, so all you need to worry about is defining a set of key/value parameters (for example: articleID: story123) when you create a link. Branch makes sure those parameters are returned to you inside the app the first time it launches after the user clicks the link, whether or not the app was installed when the link was clicked. You can then use the values to route/customize however you wish.
For a full explanation of what is involved in building this yourself, try this blog post.
I have just created a website based on prestahsop template (PHP + SMARTY), and I have made it work online.
Now I want to migrate the project on mobiles. I searched for several means of doing that, finally I am about to use PhoneGap for my solution.
But I have no idea if that can encapsulate the whole project on the mobile platform, and ideally be launched on Apple store. If not, I would like to get some advice to make changes.
Anyone having former experience can come to help? Thanks so much!
In addition to andre3wap response, you can use Prestashop Webservice API to link your application to your website. I've already done this in the past, the tricky part comes when you need to create an order in your Prestashop website from your application. But it's completely doable.
You will have to create an HTML + Javascript application with PhoneGap, that calls Prestashop via Ajax requests. If you want your application to work offline (and only create the order when the customer is back online) you will have to load every products on installation and sync when the app is online.
It's a lot of work.
EDIT related question: How to integrate prestashop with android?
If your web site only consists of HTML pages, yes; PhoneGap will be able to do most of the work(Just upload your HTML pages in a folder to build.phonegap.com for the conversion), there are other methods that can do the conversion, but that one is easier to me. (Read their documentation)
If your web site was created from a server side language, NO, phoneGap will not be able to fully convert it into a full fledged HyBrid App.
It gets very tricky when it comes on to Server Side scripting + phoneGap. What you can do is build html pages, and create "APIs" to load the data in the APP and use JavaScript to parse the data respectfully. (That phoneGap can handle)
You can read this article for an even more detailed explanation:
Usefull Article