I've seen some games and apps having a feature that enables you to like the app Facebook page inside the app. (or sharing the app website link)
I've read similar questions about sharing on Facebook by intent and I'm enable to share a text on Facebook now. but my question is how can I create like button and how can I get feedback that a user has liked or shared my app on Facebook?
Please help me in details because I have very little knowledge about intents and Facebook sdk.
Related
i'm developping an android application that allow user to share image on facebook. But facebook only give you the permission if you have already submited a review. Or my application isn't complete and i want to test the share operation. how to make it work?
It all says it right here:
https://developers.facebook.com/docs/sharing/android
If you want to test it then you need to go to your app on the developers page of facebook, click on roles and add a tester.
I try using this link this. In this tutorial i post my app link only my wall. But i want to share my app link to all my friends. Same like as a XYZ invited to you to try ABCapp only in notification bar. When click on it open google play store of my app page. I want to share my app app link to app facebook friends or selected facebook friend. How can i achieve this?
To invite friends through your app you can use App Invites. Before using this feature make sure to set up your Android Facebook SDK version to 4.0 or later.
You can take a look at the overview in this link
https://developers.facebook.com/docs/app-invites/overview
For the implementation you probably need this
https://developers.facebook.com/docs/app-invites/android
https://developers.facebook.com/docs/apps/faq#invite_to_app
If your app has a Canvas presence, you may also use the Requests Dialog on iOS and Android
If your app does not have a presence on Facebook Canvas: You may use the Message Dialog on iOS and Android, or the Send Dialog on Web
I assume you donĀ“t have a Canvas presence? In that case you should not use App Requests.
Basically what you need is the list of all the friends of user on facebook to invite them. you can get ALL friends' list only if your app is in "GAME" category.
If not, then you can still get the friend list of user , but only some, not all. refer to terms friends and invitable_friends on facebook.
So, here are few things you can do (BUT NOT RECOMMENDED AT ALL)
Change the category of your app to "GAMES" & you'll be able to get
all friend's list & then you can use WebDialog & WebDialog.RequestsDialogBuilder to invite that friends
give any link to canvas URL on facebook app setting. that link will be used only when user clicks your notification from web. that link won't affect your app in any way.
how can I allow users to share the data(text data) they have saved in android app on their facebook wall through a share button within the app. I am not sure if I should use facebook android sdk device or share-intent. I will be thankful if someone could provide me with some information on this or tell me about any tutorials related to this.
Thanks
You can not share the text on facebook wall using intent in android. For to achieve this you need to use facebook sdk. Using intent you can share the text on email, twitter and can share the photo on facebook.
I used intent earlier to send text on facebook its was not working earlier.
As per the Facebook's Platform Policies, We cannot pre-fill the share dialog using Intent.EXTRA_TEXT. It is usually thought to be a bug, but as per a Bug Report filed here and also, here, Facebook clearly mentions that this is not the case (it's not a bug).
I found that we cannot add a caption to a photo we are uploading using Intents. The only way we can do it, is integrating the Facebook SDK in your App then photo with text caption will be shared on facebook wall.
To get started for facebbok sdk in android:
https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/
I have to share a link to facebook, twitter and gmail. I have implemented facebook integration using Facebook Sdk in my Android app, thus I am able to share my link to facebook. But if I am following the same procedure for twitter, facing lots of problem to integrate it in my app. Please help to solve this problem. Also I am not getting how to integrate same for gmail. Any ideas are welcome.
Thanks in advance
Only for Gmail: one intent to start Gmail.
If you're using i.e. the Actionbar, you should think about the ShareAction Intent. Here is an example:
http://android-developers.blogspot.de/2012/02/share-with-intents.html
If the user has twitter/ facebook intalled on the device it is possible to open them and share them by using the share intent. Other Apps are also included. You ll face other probably other problems if the user is not using the offical facebook and twitter apps. I recommend you the shareintent.
I'm adding social integration to my app, and am looking for general advice how to go about it.
At the moment the app is showing feed of particular Facebook wall (authentication handled by Facebook's Android SDK) and feed for particular Twitter hashtag. That's a start, but I want these feeds to do a bit more. For Facebook:
For long feed items, user should be able to "see more", including linked pictures
Links inside feed items should work and open in browser
Like/unlike feed items
Comment on feed items
Post on the wall (create another item in feed)
Similarly, for Twitter:
Links inside tweets should work and open in browser
Reply to, and retweet tweets
Create tweets that contain the specific hashtag
Since Facebook and Twitter both have comprehensive APIs and there are enough code samples floating around, this is all technically doable, but seems a lot like reimplementing Facebook and Twitter clients. That's a lot of work to get all the little details right, maintain code for API changes,
and not really in the scope of my app.
So I'm thinking how to avoid reimplementing Facebook and Twitter clients.
Idea one: direct user to mobile versions of the respective sites and be done with it. Downside is that user will have to go through cumbersome authentication, even if there are dedicated client apps already installed and authenticated on user's device.
Idea two: plug into existing apps using intents system: if official Twitter app is installed, use that to do hashtag search. If Seesmic or Twidroid or some other twitter client is installed, use that. As a fallback, open Twitter's mobile website in browser. Similar for Facebook. Downside here is that intents for "show facebook stream" or "search tweets for X" are not standartized. Most current apps don't even have documented ways to plug into them. Using undocumented entry points in those apps is possible but would make my app hacky and brittle.
So, this question, how you've been dealing with integrating bits of Facebook and Twitter functionality in your apps, or seen done by others?
Here is a good tip about how to implement twitter/facebook oauth:
Create new activity and name it OAuthActivity.
Create new class that extends WebView.
Follow the facebook developer guide for WEB applications (not mobile ones!) and implement oauth calls inside of your WebView. For Twitter use Signpost-core with signpost-commonshttp4 to get oauth (facebook uses its own variation of oauth so you need to do it yourself).
Override WebView so it closes itself when facebook redirects your WebView subclass to your callback url.
Use OAuthActivity to return OAuth key / secret to your main activity via RunActivityForResult.
This way screen orientation change will work; you will have same architecture for FB and TW.
I have implemented it this way, yet I can not share my code (it is licensed for my company).
When I added Facebook and Twitter integration into my app (shameless plug: Secret Message), I attempted to invoke an installed Twitter client app via Intent. It wasn't fun, because there is no such thing as a "facebook/text" or "twitter/text" Intent. I know some Twitter apps create their own, but they're not universally used or even known.
So the other option is to get a list of all installed apps and filter on those you want to display in a chooser for the user to select. But retrieving a list of packages and their user-friendly names takes forever. So I hated that option.
I ended up integrating a very simple GUI for both Facebook and Twitter into my own app, and just used OAuth to authenticate users.
I hope this helps you pick your direction.
implementing Twitter integration is pretty easy on Android (you can use Twitter4J which is a pretty nice Twitter Java Library to access the public web services).
To integrate tweeting/retwreeting is basic stuff once you have authenticated your twitter user (just have a text box to allow users to enter thei 140 characters and a button to submit it - creating tweets, retweeting, replying etc is all a matter of 1 or 2 lines of code using twitter4J). The link stuff requires formating your listview to handle weblinks and open as appropriate.
The toughest part of the whole twitter integration thing is getting the OAuth stuff done - there is a tutorial on how to implement twitter and the OAuth authentication stuff here
Unfortunately, I have never tried facebook integration, but hopefully someone will be able to help out with that.