Branch.io link does not open app store if app is not installed - branch.io

We're using branch.io to create deep links that should:
Open the app if the app is installed
Open the App store if the app is not installed
Unfortunately the case where the app is not installed does not work for links that we create using the branch.io API.
The following data is sent to the API (POST /v1/url)
{
"type": 2,
"data": {
"$fallback_url": "https://example.com/topic/123",
"$deeplink_path": "/topic/123",
"$marketing_title": "Topic Link",
"~campaign_id": "campaign-123",
"~ad_id": "ad-123",
"referredByUserId": "user-123"
}
}
On the branch.io dashboard we configured that when the app is not installed the app store should be openend. But it seems the configuration of the branch.io dashboard is ignored when using the API? What parameters do I have to set to what in order to redirect users on mobile to the app store if the app is not already installed?
PS: When I create a "Quick Link" from the branch.io dashboard everything works as correctly. My question is only about the REST API.

Related

Firebase dynamic link fails to launch iOS app during password-less auth

Firebase is sending the password-less auth email correctly from my app via a 'Sign up' button, the 'magic link' in the email is taking me to my dynamic link domain, but I'm getting stuck at that point and the app is not being opened.
I've got an Ionic 3 application built for iOS using Firebase for the back end. I'm trying to implement Firebase password-less auth and followed this tutorial:
https://medium.com/#vivek040997/how-to-implement-firebase-email-link-passwordless-login-in-ionic-4-for-android-4c61f331c4a0
I've added my iOS app to Firebase, and in project settings, added the bundle ID, 10 char. app ID and 10 char. development team ID. The app has been created on App Store Connect, although it's not live in the App Store yet.
I've placed the GoogleService-Info.plist file into the root of my Ionic 3 project.
I've enabled email/password and password-less auth in Firebase.
As per the tutorial, I created a new index.html page (configured as a single page app using Firebase tools with some simple "logging in..." text) and ran '$firebase init hosting' and '$firebase deploy'.
I enabled Firebase dynamic links through my Firebase console, sticking with the simple 'my-app.page.link' domain.
I installed the Firebase dynamic links plugin for Cordova by using:
$ cordova plugin add cordova-plugin-firebase-dynamiclinks -- variable APP_DOMAIN="my-project.web.app" --variable PAGE_LINK_DOMAIN="my-app.page.link"
I was sure to use the correct project app domain (from hosting) and page.link domain. My package.json includes:
"cordova-plugin-firebase-dynamiclinks": {
"APP_DOMAIN": "my-app.web.app",
"PAGE_LINK_DOMAIN": "my-app.page.link"
My config.xml file includes the correct values, eg.:
<platform name="ios">
<preference name="GoogleIOSClientId" value="my-value" />
</platform>
<platform name="android">
<preference name="GoogleAndroidClientId" value="my-value" />
</platform>
I also installed the Ionic native plugin:
$npm install #ionic-native/firebase-dynamic-links
The plugins seem to be working correctly as I built a simple page to capture an email address and send the 'magic link' email. That works. I'm receiving the email correctly.
When I click on the magic link on my iOS device (opens in Safari), I see a 'preview.page.link' page with my app name, a little checkbox saying "Save my place in the app. A link will be copied to continue to this page." and an 'Open' button.
Clicking that button takes me to my Firebase hosted index.html page with the "logging in..." text I added, but hangs there. The app does not open so I just stay in Safari on that page.
I'm stuck now :(
No idea how to debug this further.
Any ideas how to get the redirect to open the iOS app correctly? Thanks in advance!

Branch.io : how to remove deeplinking on Quick Links?

I want to create Quick Links in Branch.io that redirect for example :
- either to my iOS list of app if the user is on iOS
- or to my Android list of app if the user is on Android
So I created a Quick Link in Branch.io.
In the "REDIRECTS" tab, I pasted my iOS url and Android url to my list of apps in the appropriate fields, and changes the type of these fiels to 'Web URL'.
My problem if that if the user has got my app on its device, it will open my app and not my catalog. It is because it is written on the 'REDIRECTS' page: 'If the app isn't installed, send users to: ...'
In my case, I want to send the users to my catalog even if the app is installed.
How to solve this problem ?
If you want to open the web instead of the app, please check out the web_only feature: https://docs.branch.io/pages/links/integrate/#open-web-instead-of-app

What Application type of Google Oauth when developing React-Native app

I'm working on React-Native app and my application should be working on both IOS and Android Platform. I need to add feature of signing through Google. So which application type should I choose on create client id page?

Linking to app store review page in branch.io

Is there any way to create a link within Branch.io which instead of loading the installed app, would instead bring the user to the app's page in the store where the user could review the app. This would be used in email marketing.
Amruta from Branch.io here:
If you want users to be directed to a specific page you can make the links as Web Only.
For iOS: When you create the link specify the $ios_redirect to your App page on the App Store and add $web_only: true to your deep link data. The Branch link thus created will redirect to the web URL you have specified as the iOS redirect (in this case the App Store page).
For Android: When you create the link specify the $android_redirect to your App page on the Play Store and similarly add $web_only: true to your deep link data. The Branch link thus created will redirect to the web URL you have specified as the Android redirect (in this case the Play Store page).
PS: For Android, if you have App links setup for your App clicking on the link will redirect to your App irrespective. For this to work, you should remove the App links configuration in your App and the Branch dashboard if any.
You can check the list of possible parameters for configuring links here.
Edit:
1. Add the $web_only parameter in the Deep Linking section
Set the iOS and Android redirect to the App Store and Play Store URLs respectively.

how does Google's "Google search 2.0" app launches other apps on iOs?

I always read that only url-like services can be started from an app in iOs, but now i've seen that the new "Google Search 2.0" app has got a panel where you can tap an icon and open one of the other Google's apps.
If you have not installed that app on your iphone it redirect you to the app store.
The other Google apps have URL schemes registered that can open them. UIApplication’s -canOpenURL: method will return NO if the URL scheme provided does not match an installed application, so in that case they’re redirecting to the App Store link for the app in question.