How does foursquare app on iOS auto log me in? - ios

Background: I was looking for a good copy for my app to use facebook login.
I searched for top apps which uses fb login and foursquare was one of them. I haven't use the app in a while. I downloaded it again and click open. They have updated the app and displays a series of screens about new tutorials and features. At the end of it, it automatically log me in and knows who I am. I'm confused about this. I did not click on any 'login with facebook' or enter any credentials.
I also went to www.foursquare.com and after a few seconds, the website reloads and logs me in. The profile is the same as my iOS one.
Another detail that interest me is that the email address I use for foursquare is not the same as my facebook one. I check my fb apps and foursquare is not listed there so there is no connection between fb and foursquare in my limited knowledge.
I deleted the app, reinstall, and open it and it immediately know who I am.
How does it work?
Thanks,

Related

Firebase dynamic link does not navigate to ios app/ appstore from facebook post in iOS

I have to implement navigation from facebook post to my native iOS app or app store if the app is not installed. For that, I have tried Facebook APP Link feature but it did not work. Then I created Firebase Dynamic link and post it on facebook app directly. After tapping on posted link, it shows one pop up saying "Leave Facebook? This webpage is trying to open an app outside of Facebook. Are you sure you want to open it?"
After tapping on Yes, it does nothing. I have cross verified the created link with https://app_id.app.goo.gl/apple-app-site-association It shows associated bundle id, team id, app store id.
Can anyone please suggest me the proper pathway to implement deep linking with facebook post to the app?
Also, can we test deep linking with the app which is not on the App Store?
Thanks in advance.
Facebook doesn't like users to leave their app. They stopped supporting App Links in their iOS app almost a year ago, and have never supported Universal Links (which is what Firebase Dynamic Links uses).
The only workaround is to send users to a landing page with a CTA button, and put another deep link behind that button (on a different domain than the one on which you're hosting this landing page). It's an extra step for the user, but currently the only option. Branch.io (full disclosure: I'm on the Branch team) does this via the Deepviews feature. Dynamic Links currently doesn't have an equivalent, so you'd need to build something yourself.

Facebook SDK - Access Wall Posts

I'm facing some unusual problem, I'm integrating Facebook SDK in my iOS app, The main purpose of the app is to access Wall Posts (public), I have successfully integrated SDK & everything works for me (for my facebook id) but when I give the app to someone else he/she can't access his/her wall posts access-token & everything is the same. The unusual part is if I add that same user in Roles Section of Facebook Developer section of my app, the apps works for them too.
Keep in mind I haven't released my app to public so I'm using a beta version of my app & so is every body else in my team.
My question is, is this the normal way of giving access to someone so that they can use our app or am I doing something wrong?
As long as your app is in development mode, only people having a Role in the app (Admins/Developers/Testers) will be able to use it.

Initiate Facebook Group Chat from iOS App

I want my app to create a new Facebook group chat with certain people that opens either on Facebook's site in Safari or in the native Facebook app when the user presses a button. I want Facebook to handle the whole chat and my app only to initiate it somehow in the cleanest and least involved way possible. My app already uses the Facebook SDK to open an active FBSession, so I've already got login credentials.
Looking around online and in Facebook's docs, I can't find anything that suits my needs. The closest thing I found was in this answer containing a list of Facebook app URLs you can connect to that open the Facebook app to certain pages. There's "fb://chat/(initWithUID:)" and "fb://messaging/compose/(initWithUID:)". However, not only is there no explanation on how to use these, but people say that Facebook has changed these URLs (and does not have any documentation on them), so they don't work anymore unless I reverse-engineer new URLs (which could change again). Ugh, so close!
I also found examples on starting chats with the Facebook Chat API, but that involves logging into Facebook using some networking framework then writing my own GUI and model for sending messages, which I am only prepared to do as a last resort. There should be some way to let the Facebook app or website do all that. Does anyone know how I can do this?
I've found something very close, but I still don't see a way to make my app initialize it with the desired group of friends:
The Facebook SDK has a message dialog that can appear for sending messages to friends. This isn't exactly what I wanted but is good enough because it means that all the programming is already done for me by Facebook, and users should be able to see these messages on https://facebook.com and the Facebook apps. https://developers.facebook.com/docs/ios/share#message-dialog

iOS Facebook switches back to app between login & permissions

I'm trying to setup my app to publish a simple post to a user's Facebook feed (image url, link, description). They don't need to use Facebook for anything else so the first time they click "Share" it needs to authorize the app, and the publish permissions.
If they have their credentials stored in the device as of iOS 6 they simply get two alert boxes and it's done with. But if they don't, or have an older version, it switches out to Safari for login. My problem is that it is then switching the user back to my app, then immediately back again to Safari to accept the publish permission. It's very jarring and unprofessional.
What I would like is for the page in Safari to change after the login to the permissions page so they can accept it, and THEN switch back to my app. I know this can be done because the popular Mixology app does exactly this behavior. Unfortunately Facebook keeps changing their SDK and all the information I find online is outdated.
I wrote up a solution here: FacebookSDK presents login UI twice to avoid the double switch.
Basically, you can use openActiveSessionWithPublishPermissions: to do what you want. However, you have to handle the special case where the user has signed in to Facebook from the device settings, which requires requests for read and publish permissions into two separate calls.

How to prevent auto-launching of our iOS app from links in FB iOS app?

We have an iOS app that publishes certain activity to Facebook that contains links to pages on our domain. Our intention is for friends to click on those links and view them as webpages.
However, when you click on links in these published stories in the FB iOS app, it's auto launching our app instead of going to an embedded Web View or kicking out to safari.
Note: We still want to have single sign on (SSO), so just want to change the behavior of clicking links in published stories.
To clarify, this is what I'm talking about:
My app is able to publishes http://foo.com/123 into the FB newsfeed for a particular user that opts in.
That person's friends see the link, but when they click it, it just goes to http://foo.com/123 in the browser instead of launching my FOO app. This is because my app doesn't yet handle incoming context from FB iOS app.
I still want FB SSO to work from my FOO app. That is, when clicking on FB sign in in my FOO app, it jumps out to the FB iOS app (if installed) and does a single sign on and redirects back to my app. IOW, I don't want to break this authentication scenario that currently works.
What setting in the FB developers App Settings controls this? It's not clear from the documentation. I see sections for Native iOS app and Website which I currently have set but it's unclear which sub-setting affects the behavior in question. Also, it's not clear even if I was to find the setting, can I affect it without affecting SSO.
The setting you want in the Facebook App dialog is under the iOS Native section (see the screenshot below) - set both the highlighted sections to Disabled.
This won't affect Facebook login/SSO in the app, so you'll still be able to do the OAuth dances.

Resources