I've developed a web facebook app with the possibility of invite a friend via a request that appears in the notifications. It works fine in the web version of facebook but in the Facebook app (Android and iOS) the notifications are not appearing.
Some questions here in SO address the same issue but all the solutions (Canvas configuration in the developer console, permissions, set the app live, etc) do not work. In this question: facebook app request notification not showing up in Facebook iOS app for mobile web app the accepted answer is to set an ID of the apple store but write a Native app to show the same content seems an overkill in time in money (Specially considering the time that the Apple store takes to accept and App).
Is there any way to fix this?, seems like before setting the canvas (Web and mobile) was enough, but it is not working.
This is actually by design. The actual answer is in the docs:
Requests will only surface on platforms where the game has been
defined in the app dashboard as having a presence. So for example, if
an app exists on iOS and Android, but has no Canvas presence,
recipients will not see requests received via that app appear on the
desktop web version of Facebook.com as notifications.
Related
Is there a way that an iOS and/or Android App can take advantage of the fact that a user is already logged in to Messenger on their device.
Take a custom share function. Instead of using the native share functionality of Android and iOS (Not good enough for the requirements of my app) a custom one exists that, after some criteria are interpreted by this app's api, loads the effective web version of the Messenger app overlayed on my app pretty much as a web view or effective iFrame in web vernacular.
However, it will load the login screen of messenger as the local browser of my app displayed through the web viewer is not logged into Messenger. The owner of the device is however logged into messenger on their phone or tablet via the messenger App.
The objective is that they do not have to log in again separately on this app and can proceed straight to the effective share screen of the web version of messenger.
To do this, the app would have to know that the user was already logged in on this device and use the same session instance (I presume). Is that possible?
If it is not possible, how does the native iOS share screen of Apple's own Apps (take Safari as an example) show the relevant share page of messenger without having to open the app? The same is true for other share options. Whilst many of these are Apple's own (Mail etc..), others are not including Messenger and LinkedIN.
PS.. forgive the use of the phrase "My App", this was simply to avoid confusion over whether Messenger or not was being referred to.
I'm creating a mobile game using Godot for IOS and Android, firebase and facebook plugins are available for the android version only. Therefore it's not an option because I want to a cross platform solution.
I have a websockets server, I could use that to do the authentication (as a client to call facebook API). My only question is that would the user experience / process be the same? I think not, The user would have to sign in from the browser correct? He won't be able to just use the gmail installed on his phone or facebook, is that true?
I have articles which are posted on Facebook for our subscribers and when a user clicks in one of the links they get re-directed to a mobile-site where they login, the problem is now after a a few days 2-3 days the mobile site asks them to authenticate again.
Im guessing Facebook in app browser clears my cookies but what i need to know is how does it manage its cookies especially for external sites. I tried the Facebook developer website there's no documentation on how this in app webview/browser works.
Background Info
Facebook in app browser is rather a webview which renders all the links which user's browse so instead of delegating the rendering to an external browser it handles everything on its own. This comes with limited functionality of course, Facebook added this in app browsing functionality to keep user's in session, because most of the time if user's make use of external browsers they don't come back into the app.
With the above background information Facebook browser is accessible to developer's in a sense that they may choose to use Deep-Linking if the browser doesn't conform to their specifications because the browser is closed i.e you can not modify or rather interact with it, thats why the deep linking functionality allows for developers to give user's an option to choose wether they wish to use their app this is if they have it installed in their mobile devices.
Cookies
Cookie management entirely depends on the In-app browser which if a user wishes to clear them then they can do so via their app settings. Since Facebook in-app browser manages its own cookies thus if a webpage is rendered by the in-app browser it will entirely depend of the in-app browser if its time to clear them from the device.
Deep Linking Overview
App Links is an open standard to deep link to content in your app. When someone using your app shares content to Facebook or another App Links-enabled app you can create a link that makes it possible to jump back into your app from that piece of content.
App Links work by adding metadata to existing URLs on the web so that they can be consumed by your app. If your app doesn't have a web presence with content you can annotate, you can also use a Facebook-provided service to host the data.
The Facebook's app for iOS and Android support App Links today. When the Facebook app comes across a link that supports App Links it will launch your app with the right information so someone can see the content immediately and quickly.
How App Linking Works
A person clicks on a story on Facebook
If someone shares a story on Facebook with content from your app, people can click on the story to view the content in your app. The URL shared to Facebook contains App Link metadata or be a Facebook-hosted URL.
Facebook app looks up the URL to see if it supports App Links
Once someone clicks on a story, the Facebook App does a lookup to see if the content supports App Links. if it does, the Facebook App takes people to your content, either in a web view or by launching your app and linking to the content, depending on the following criteria:
Whether people have your app installed
Whether the device is and Android or iOS device
Whether your app is mobile only
App Links has the following requirements:
If the content is a web page, your web page must include markup to let the app know what app should be launched.
If the content is mobile only, you must still supply a valid http(s) URL that hosts the App Link metadata. Facebook provides a Hosting API for App Links to make it easy for app developers to support App Links content without having to set up a web server.
In order to accept incoming App Links, your app will need to be set up to support them. We cover how to do that for both iOS and Android.
Launching Outbound Apps
It's possible for any app to do what the Facebook app does and add support to launch other apps based on App Links. If you've got an app where people want to click through to links instead of just going to inbound links, we've also provided a document that covers how to add support for the outbound navigation protocolto your app.
We have created two AzureAD apps to support AzureAD authentication for our Smartsheet application: a Web app for authentication from our web app and a Native app for authentication from Android/iOS native apps.
When logging into Microsoft Azure Application (https://account.activedirectory.windowsazure.com/applications/default.aspx) we see two apps: Smartsheet and Smartsheet Native (see attached screenshot)
Microsoft Azure Application
Question 1: we would like to get rid of "Native" in the name of the second app. Initially we had named the app "Smartsheet Native" and removed Native from the name, but it still shows up here. Where would I edit this.
Question 2: For the Web app we have an App Url configured and when clicking the Smartsheet app we are redirected to our Smartsheet application. When clicking on the Smartsheet Native app we get an "something went wrong..." error. Is there a similar configuration we can set for the Native app or what is clicking a Native app supposed to do?
Q1: You can push it on support, looks like some cache - I will try to ask around for it. Also - this is client access site only for SSO to applications. your users will never use it this way anyway. Unfortunately there is no way to hide it from MyApps portal right now if user is assigned to the application (I bet you have made it available for all users).
Q2: This is Native app and it is configured to redirect user to URI on your mobile device. Then mobile device is handling response with a token on your device, that's how it is being handled to redirect response to correct application. It will not work here as you expect - I mean native apps are not meant to be used in MyApps portal as a redirection for a users. Native apps are for native apps and URI is handled on the device. your browser probably don't know how to handle the URI you have entered there (it is URI not URL - small but significant difference)
Here you will find information how to configure it when native app is using ADAL - https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-how-to-configure-active-directory-authentication - don't know exactly how your app is being built
I'm developing an Android app that will send invites to the user friends via facebook's notification. I'm trying to make this notification open a url instead of the native app. I've tried disabling the single sign on and it works but instead of opening my page the app opens the browser version of the facebook so the user can sign in. That's not a good experience.
On iPhone it works very well. If I click on the notification from my native facebook app, it opens the mobile website I configured on my app's dashboard (I haven't configured any native iOS app yet, maybe that's the reason).
Does anyone know the best way to do this?
Thank you very much.