Problem — when opening a Firebase Dynamic Link on Facebook Mobile, the Facebook Browser consumes the deep link and does not open the intended mobile app
Question — is there a good workaround in Firebase to help Facebook deliver on the promise of presenting my Dynamic Link as intended?
We are aware of http://applinks.org, and that Facebook is a contributor. Does Firebase have a way to configure their server using the AppLinks spec so that Facebook will pass through the Deep Link to our app instead of consuming it?
Background — I have created a Firebase Dynamic Link for an iOS and Android app.
The Dynamic link delivers everything I expect and is a fantastic experience.
When opened on iOS, it navigates to the App. If not installed, it goes
App Store
When opened on Android, it navigates to the App. If not installed, goes to Play Store
When opened on non-mobile, it navigates to our Website
On Facebook mobile, neither 1 nor 2 happens. The result is that it goes straight to the mobile web experience, thereby eliminating the promise of the Firebase Dynamic Link
To avoid this cases we made a webpage which redirects to firebase dynamic link.
With this solution we can:
Use our domain, not the firebase url.
Ensure that firebase links works in every cases, for example when it opens from a custom browser (fb, samsung).
The disadvantage of doing this is that you'll always need to pass through a web page with an redirect.
I recently had to integrate dynamic links to one of my clients apps, and I got lots of trouble because of deeplinks not working on facebook+android_app.
As I couldn't move to branch.io because of princing reasons, I had to work it out on a different way so followed #Rahul Shukla advise.
I ended with a very simple nodejs+express setup where I receive the dynamic link ID and return a HTML with all the meta-tags required by facebook applinks (android + iOS) and a redirect script (window.location = 'your_dynamic_link') for other clients to be used.
The best part is that now on facebook the app opens directly without the preview page in both platforms and the link works on all browsers via the script redirect.
Here is the gist
the solution I found was to redirect to the dynamic link from a webpage like this
window.location.href = "intent:https://example.page.link/2wertygf456#Intent;end";
this will open the link in your system default external browser and the deeplinks works perfectly.
to trigger this only on facebook in-app browser
if (ua.indexOf("FBAN") != -1 || ua.indexOf("FBAV") != -1) {window.location.href = "intent:https://example.page.link/2wertygf456#Intent;end";}
We were struggling with the similar issue and here's how we finally solved it:
Say this is the final firebase url you are going to share
https://xxxx.app.goo.gl/?apn=com.your.package&link=http://www.yourwebsite.com
Now in the index.html page of your website, add the following meta tags
<meta property="fb:app_id" content="your_fb_app_id" />
<meta property="al:android:package" content="com.your.package" />
<meta property="al:android:app_name" content="YourAwesomeApp" />
<meta property="al:android:url" content="somescheme://XYZ" /> <!-- identifiable by your app, your app must handle this data scheme inside your manifest's intent-filter tag --!>
<meta property="al:web:should_fallback" content="true" />
<meta property="al:web:url" content="http://www.yourwebsite.com/" />
Now the app launches on clicking on the facebook post shared using this link.
I've tried some ways but totally fail. When I use the dynamic link in Facebook post, it shows a dialog to ask me if I wanna open application (I did not install my application yet). Although I accept to open app, nothing happens, it does not open Apple Store as expected
I have to use link like below to force it open apple store app
https://myapp.app.goo.gl/?link=http://mylink.com&ifl=https://itunes.apple.com/us/app/apple-store/idxxxxxxxx%3Fmt%3D8%26ct%3Dutm_source
Deep link with facebook app not work in android because facebook uses InAppBrowser, If you want to make your deep link url workable in facebook. You can change facebook settings like:
In Facebook App: Goto Profile -> App Setting -> check Links open externally.
After changing the setting you will be open deeplinks from facebook app android
Related
We are using hybrid platform - kony for mobile application(android and IOS).
I have configured dynamic links in firebase dynamic links section. When we add the links directly in our email buttons as href tag and if user clicks that link in gmail from mobile browser it's working without any issues in both android and ios. Received dynamic link URL in mobile app and able to navigate user to particular screen based on URL params.
But for tracking purpose(Analytics), on click of that email button we are redirecting the user to our vendor website from there it is getting redirected to firebase dynamic URL. By doing in this way, IOS is working as expected, user is taken to particular screen.
But android has issues. App is opened in normal mode instead of deeplink mode. dynamic link is missing. So we couldn't navigate user to that particular screen.
I have added valid SHA-1 and SHA-256 release keys as well in my firebase project.
I have valid assetlinks.json file for the domain which i created. It's a custom domain with xxx.page.link(below one for reference).
URL which is used in href tag: http://t.XXX.com/click_stats/?ID=xxxx&ContactID=xxxxx&Tracking=98c68752ea4f4af1ab9922178ff608c1&StepId=128262
Firebase Deeplink URL: https://xxx.page.link/frmOffers
So 1st link will be added in email buttons href tags- when user clicks 1st link,we will capture analytics and redirect to 1st link. Android app is opening but not in deeplink mode. Link url params are missing.
Please check and help. If IOS is working why android is not working.
[{"relation":["delegate_permission/common.handle_all_urls"],"target":{"namespace":"android_app","package_name":"com.xxx.xxx","sha256_cert_fingerprints":"xxxx"}}]
you need to write an Kony FFI for this we handled this kind of use case recently and solved via FFI.
I'm developing a website that requires a 2FA. We already permit to users to set it by scanning a QR Code shown in our configuration page.
My question is a bit more tricky. How can I permit user to open the app if he opens the page from mobile browser, ie. navigating from the phone with the Authenticator app installed?
I already have the logic to understand if the user is on mobile or not, but I don't find any solution that can replace the QRCode since the user cannot use the mobile camera in that case (he is using the phone to net on my website!).
I was searching the possibility to create a link that is recognised by an authenticator app (Google Authenticator or Microsoft Authenticator) but I didn't find a solution. Any idea?
After some research and trial, I found the link I was searching for.
In Google Authenticator (or any other app), the account are listed in the form:
Amazon(my#amazon.com)
123455
Google(me#gmail.com)
455234
Issuer(email)
554645
AnotherCode
142414
In order to generate a new entry without scanning the QRCode, a link in the form of:
otpauth://totp/dev#it.com?secret=123abc&issuer=StackOverflow
has to be opened. For instance, the link above results in the following entry:
StackOverflow(dev#it.com)
The link is opened by the phone using the installed Authenticator app.
Im building an app for iOS and Android and need to open urls in the app on mobile and in the browser on desktop.
All links should open in the app if possible, so I cant generate one link for each possible url.
Can I do this in Firebase or do I have to create links in advance?
I'm not sure this question is related specifically to Firebase, or a general one.
I can try answering about the general case:
For opening in App:
In order to use Universal Links in iOS and AppLinks in Android, you'll need your click server to host Apple's AASA file or Android's asset file. This means that you'll need to serve that file for the operating system.
For opening in browser on desktop:
You'll need your click server to be able to detect desktop user agent and redirect you to store.
I didn't understand your question about: All links should open in the app if possible, so I cant generate one link for each possible url. Actually one link can fit all use cases, but you'll need to develop that capability in your own click server.
In my endeavour to gain use of the Youtube API I am required to follow the procedure defined here.
In this link there exists a Prerequisites section that states:
Register your application with Google so that it can submit API
requests.
This takes me here which is a page Titled: "Registering your Application". This page contains instructions stating:
To register a new application, do the following:
Enter the Google Cloud Console https: //cloud.google.com/console [hit my link limit LOL]
Select a project, or create a new one.
In the sidebar on the left, select APIs & auth. In the list of APIs, make sure the status is ON for the YouTube Data API v3.
In the sidebar on the left, select Registered apps.
I have done all of the above. I have also clicked on the project taking me to another page. I am however, unable to register the application.
My question to you is "Where do I find the "Registered apps" because it's not in the sidebar on the left.
Google even provide a video on the instructional page stepping you through it. Unfortunately the video appears to be for an older site.
I am running Firefox 25.0.1. and it doesn't work for me so any guidance would be appreciated.
Instead of Registered Apps, in new version you'll go Credentials under API's and Auth and create your keys there.
I tried everything to help you out but i couldn't find "Registered Apps" too. Have you ever tried "Credentials" ? I think it works for the same way.
They don't care much about updates i guess. That's why they did not renew the instructions and the video..
I want to add a chat feature (like Facebook chat) on my ASP.NET Project. All chat functions are like FB Chat. Example:
blink browser 's title to alert user when new message come
do not close when reload page
...
My project have users database and user will login to use chat feature.
Hope someone tell me source code or component or any information about that.
Thanks !
Found this one: JabbR. Live site here, Source code here. Try out the Live site and if you like it, download the source from github.