Branch (React-native) deeplinking is not working in FB messenger (Android) - branch

I am using Branch.io to send users their credentials in my app. Since the app is not live yet, i am testing with everything on "live" in the Branch settings.
If I create a link from the app and send it via Slack or email, with the app installed then the app opens but if I share the link with Facebook messenger then the fallback url is used. EDIT:The fallback is the expected behavior on iOS, but i am working on Android.
I did find this which (1) is not very promising (2) is old (3) is not exactly the same situation since the links do work for me.

If you click the link from the Facebook Messenger app, then redirecting to the Fallback URL is the expected link behavior:
https://docs.branch.io/pages/links/integrate/#expected-link-behavior
Per the docs, you can still open the app using URI schemes or a Deepview.

Related

React Native: Cognito federated auth issue on Android TV

AWS Cognito Federated sign in with Google setup correctly and it works perfectly on Android devices (phones, tablets). But on Android TV Web Browsers can't redirect to custom url scheme (web browsers don't understand that the app should be opened). The error says "can't open scheme myapp://oauth/?iod=..." with the error code Net::ERR_UNKNOWN_URL_SCHEME.
React Native version is 0.66, with not the latest aws-amplify, but the issue mainly related to the behavior that browser doesn't open the app with custom url scheme.
Does anybody encountered such an issue and if yes, then what solution could be here?
Appreciate your help.
I've tried to use redirectSignIn url as App link instead of custom url scheme, but that didn't work (when you open app link from another app android opens proper app, but if redirecting/opening within the browser, then it redirects to the web page).

opening an Instant App by a Firebase Dynamic Link with custom parameters (App Links)

I'm searching for a way to open an Android Instant app in a mobile browser.
The app supports app links (deep linking in http/https).
My Android app is working as an instant app and can be opened by an app link in different apps that are not browsers (Gmail, Whatsapp, etc.).
I have concluded that the only way to be able to have an instant experience in browser apps is by using Firebase Dynamic Links.
The only way it works is by using short Firebase Dynamic Links (without app parameters in the link). I need to be able to build the link manually with parameters, so the app will know it's desired actions.
In order to use Firebase Dynamic Links, I've:
set up all basic requirements in my app for Firebase Dynamic Links.
set up a sub-domain and enabled it in the Firebase console (the Hosting section).
created a long dynamic link manually (described as the only way to send parameters by link).
example:
https://sub.example.com/?link=https://example.com/some-path/file?param1=value1&param2=value2&apn=package.name.com
This long link works (in mobile browsers) only if the app is installed / is in cache.
If the app is not installed, the app's play store page opens and offers to install / try it (as instant app).
I've contacted Firebase support, and got a solution:
Adding the "afl" parameter in the link with the value of the app link.
Example:
https://sub.example.com/?link=https://example.com/some-path/file?param1=value1&param2=value2&apn=package.name.com**&afl=https://example.com/some-path/file?param1=value1&param2=value2**
The Android app links work properly if the user follows the following steps:
Verify that you are logged into Google, Chrome, and Google play with the account you plan to use for the instant apps.
Go into Google Play Store settings, find the tab for Instant Apps and Enable Instant Apps enable Instant Apps
In your website add html to index.html or the equivalent file where you want to place the embedded link such as this:
<!DOCTYPE html>
<html>
<body>
<h2>HTML Links</h2>
<p>HTML links are defined with the a tag:</p>
This is a link to the instant app </body>
</html>
The instant app linking will only work from links embedded within an app such as in gmail or Chrome and not from directly pasting the url in a browser navigation bar.
If you have any questions about this approach, please let me know.

How to find out the deep linking path to all apps?

Linking.openURL(`whatsapp://send?phone=${phoneNumber}`)
Take one example, the above is the code to navigate user from our app directly to contact window on WhatsApp.
And now I'm wondering how to navigate user to my company page on facebook page?
Linking.canOpenURL('fb://profile/mycompanypage')
The above not working of course. And other than that, usually how do we know what is the url for us to navigate to the apps?
For example particular Youtube Channel or Vimeo Channel or Twitter profile?
For Facebook you can use these scheme
for Android fb://facewebmodal/f?href=${url} (url is the fb classical url you use in browser)
for IOS fb://page/PAGEID fb://profile/PAGEID you can find the PAGEID of your company page here https://findmyfbid.com/
The IOS solution is great when you don't have to generate the url on the fly which works for you i think. In a different case you'll have to use the FB SDK.
As for your other question: i generally go to the ressources website of the said app to find the right scheme for linking. But maybe there is a place where all those informations can be found ...
EDIT: IOS scheme was wrong

Using Branch links to deeplink to unpublished app

I'm working as a web developer for a start-up that has a andriod app prototype. I'm not an app developer ( still learning) so I'm a little unsure how to approach this.
I wanted to deeplink the app to the webpage. I came across this solution called Branch.io . It looks like exactly what we need but I'm not sure how to link it with an unpublished app. Maybe I'm missing something. Any advice would be greatly appreciated.
The Branch service actually doesn't depend on the App or Play Store at all. The link will first try to open up the app, but fallback to the store pages if not installed. You can override this fallback to any website, and the links will still function as usual.
To test an app not in the Play Store, first choose 'Custom URL' in the Link Settings dashboard, and fill in the page you'd like to send users when the app is not installed. It's common for people to send users to either their home page or TestFlight app.
Then, to test the deep linking through install and download tracking, just do the following:
Create a Branch link
Click it on your phone or on simulator and wait to be redirected
Run the app from Android Studio/Eclipse
Here are some more testing considerations. Happy linking.

Facebook Login not working if official app's installed

I'm trying to set up Facebook in my android app but I had a problem and even the samples didn't work ! Then I tried again on different devices and I just figured out the samples only work on devices which do not have official facebook app installed. It seemed to me completely illogical so I checked : installing the Facebook App and it wasn't working anymore, deleting it, it worked fine then no issue. So here my question : Why is that and how to fix it when Facebook Official App is already installed in device ?
Looks like you have not added key hash to app dashboard or it is invalid. To properly handle Facebook Login using the Facebook for Android app you will have to add valid key hash to the app dashboard. Have a look at this: https://developers.facebook.com/docs/howtos/androidsdk/3.0/login-with-facebook/
check 'App Dashboard Configuration' and 'Troubleshooting' sections.