I'm currently working on a prototype for adding Facebook social features for future iOS games. One of the features I've been working on involves using the new native Facebook Composer to post to a link to the game, and then tracking the post and giving the player coins for every person who likes the post. After the post, I get their feed and look for a post with a matching application ID. I've already got that part working correctly if I don't use the new native Facebook Composer (either old style dialogs, or just a direct post with no dialog).
The problem I'm encountering is when using the new SLComposeViewController, the post will appear to come from the application "iOS" id "213546525407071" rather than the id for my application.
Is there a way to change the attributed application so that it uses my application ID instead of iOS?
That's how SLComposeViewController works. If you want your own app designated, you have to design your own UI and use FBRequestConnection from the Facebook SDK as discussed here.
Related
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.
I am using SLComposeViewController for sharing in Facebook.
While I didnt have Facebook installed on the device, the controller was coming up with texts pre filled as expected. After i installed Facebook, the setPreText is not showing.
Moreover, I cannot post to Facebook. Twitter is working fine.
My device has iOS8.
A question related to your issue has already been asked here.
This bug report has more details on why the setInitialText: does not work. Basically it is against the Facebook platform policy to pre-fill the share sheet.
Pre-fill using the iOS share sheet. For apps pre-filling using the iOS
share sheet we recommend that you either remove all instances of
pre-fill from your app and submit an update to Apple's App Store or
use Facebook's share dialog for a more seamless experience.
I have created a custom story with a custom action and custom properties. All of this is approuved by Facebook. My action have the explicit share capacity whitch should post the graph action on the newsfeed.
When i test my code from my device with FBDialogs presentShareDialogWithOpenGraphAction, everything is fine, no errors, no logs. On Facebook i can see the post in my timeline and activity log but NOT in my newsfeed.
This problem exists only in Facebook desktop version. In my fb mobile app, the custom story appear in newsfeed, no issue in this case.
My facebook application is in sandbox mode.
I have search a lot on the web and see a few solutions like the explicit_shared flag on the action but not working.
Have somebody resolved this problem ?
I used Facebook sdk in the past, but the new version is making me crazy. I'm trying to create a UIActivity subclass that calls the official facebook share dialog. Since for someone having the "via iOS" instead of the app name in the post is a first world problem (just kidding), I can't use the iOS native integration with the SLComposeViewController.
In the documentation it seems that for post a picture using the share dialogs you need to use open graph actions, but is not totally clear to me if you can do inside your app, or you need to rely on external php application.
I've seen that there are some common actions that wouldn't require a declaration of a new one, but posting a photo or a movie it doesn't seems to be there.
I'd like to use something "native" as a share dialog instead of an FBSession if possible.
I'm mainly looking to clarify the following:
1. I've been told that with iOS 5 and below, if you use Game Center to setup a multiplayer game, the functionality to 'find Facebook friends' (like in scramble with friends) is not built-in so you need a separate server of the sort to manage this action - is this correct?
As per iOS docs:
The Social framework (Social.framework) provides a simple interface for accessing the user’s social media accounts. This framework supplants the Twitter framework that was introduced in iOS 5 and adds support for other social accounts, including Facebook and Sina’s Weibo service. Apps can use this framework to post status updates and images to a user’s account. This framework works with the Accounts framework to provide a single sign-on model for the user and to ensure that access to the user’s account is approved.
The UIKit framework also provides a new UIActivityViewController class for displaying actions that the user might perform on some selected content. One use of this class is to allow the user to post content to social accounts, such as Twitter or Facebook. You present this class modally on iPhone or using a popover controller on iPad. When the user taps one of the buttons, the view controller presents a new interface to perform the associated action.
For more information about the Social framework, see Social Framework Reference. For information about the UIActivityViewController class, see UIKit Framework Reference.
Ref:
https://developer.apple.com/library/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iOS6.html#//apple_ref/doc/uid/TP40011812-SW1
2.
Judging by above it appears that the 'find Facebook friends' operation is built into Game Center in iOS 6 - is this correct?
Thanks.
Unfortunately, the functionality as you describe (finding facebook friends to connect multiplayer matches) does not exist on iOS6, at least not yet.
What is included is a bit different and a lot less exciting. If you go to the Game Center application on your device, you now get a "suggested friends" list that is generated from your facebook friends and the contacts on the device.
getting the facebook friend matching functionality still requires you to set up your own servers sadly.