BackGround:
There are Facebook APIs(and SDKs) available to develop applications for other Mobile devices like iPhone, BlackBerry etc, but it seems there are no official ones for Android(?).
People have ported Java APIs to work on Android and have written FaceBook Client applications(FaceBook dev: Wiki Page). Apparently, there is also a light weight FaceBook SDK in alpha release for Android(a la FBRocket). But it is not avised to be used in Production.
Since these FaceBook functionalities have been exposed as REST based service, most of work would invove sending requests in desired format over Http. So, writing a FaceBook client app for Android certainly is doable.There are similar applications already in market e.g.: Bloo.
Questions:
When asked to write a FaceBook client application what approach should one undertake? Should we choose the SDK or invoke the services over Http?
If there is already a Web application that integrates with FaceBook, can we just browse to that Application from inside a WebView and be done with this?
Thanks!
I would use the Java APIs. You mention they were "ported" but were they? You develop Android apps in Java, you can often just include .jar files and use them in your Android app without any sort of "porting". REST access to FaceBook would also work fine too.
Are you talking about a custom application that you've built on top of FaceBook? If you already have a webapp that works fine in the Android browser then it would be fine to just have your users go to that site by giving them the URL. If the WebApp is only part of your application then you could pop open the browser with that page open, or you could load that page in a WebView as part of your larger application. However if this is all your application is doing, then it's not really an application, it's just a glorified browser bookmark and I would strongly recommend against releasing an app like that to the Android Market unless you like getting horrible ratings.
Related
It's my first posting on here (although I've been using this site for reference for quite some time).
I've been trying for several days now to find or dream up a way to use Facebook's "Single Sign On" from within a mobile web app (not a native iOS or Android app) to automatically sign a user into a web app if they are already logged into Facebook from the native Facebook app on their mobile device for example.
My limited knowledge is telling me that it can't be done since the mobile browser and the 'system' (iOS for example) are too separated (I can't, I don't think, have my mobile web app use or access the native Facebook app on a mobile device in any way).
I have found and read the iOS, Android AND Mobile documentation provided by Facebook (https://developers.facebook.com/docs/guides/mobile/) which all seems to make enough sense, but after days of trawling through everything else I could find on the subject there doesn't seem to be a way to use, for example, the Facebook app on an iPhone or Android device to automatically log a user in to my web app if he/she is already logged into Facebook.
I've read lots about doing this from within 3rd party native apps and also other people trying to achieve a similar thing from within Desktop apps but I'm trying and hoping to be able to achieve this from a web app running within a mobile web browser.
I'd be very grateful for any help, opinions or pointers in the right direction since I think this would be an excellent step forward in UI for mobile web apps to have (not just the native apps).
Many thanks in advance...
Probably a bit late to the party but in case anyone else is wondering yes it's possible with Cordova/Phonegap and the Facebook Connect Plugin: https://github.com/davejohnson/phonegap-plugin-facebook-connect/
Using the FB.getLoginStatus() method at startup allows to check if the user is already signed in with the native Facebook App and retrieve its profile. More details in the examples provided in the repo.
I have not yet implemented it myself, but seems possible according to:
http://developers.facebook.com/docs/mobile/web/build/#login
I am a .NET guy, so I am developing apps for WP7.
On Windows marketplace, they do not approve applications if it only opens a
WebBrowser control and a mobile website in it. You have to write main functionality with Silverlight, C# and XAML.
For android I just want to use m.myapplication.com in a WebView control,
so as soon as you will open app it will show that url to you.
Will this application be OK for android market? Or will they require me to write
java code to fill the content?
P.S: I also wonder is there any basic android template that I can take for eclipse, and fill url for my mobile website, and it will run on my phone?
There is no "review" process for any apps that get uploaded to the market (other than checking to see that they are signed with a valid release key)
So yes you will be allowed to upload your app to the market. Even if it is just a webview pointing to a mobile site.
I know of no such template, but that doesn't mean that one doesn't exist. if you search around online for things like "Android WebView example" and have worked your way through the Hello World tutorial you should be able to implement your webview without too much hassle.
I am gonna develop a mobile application for multiple devices, say iPhone, iPad and Android Devices like Samsung Galaxy, Samsung Tab and Samsung Galaxy Nexus,
The application is about listing set of information from webservice to list in the application, So I decided to go for Mobile Web app using jquery mobile,
I want to publish the app in Appstore and Android Market, So I want to wrap the Mobile web in to a Native app, I thought an idea of implementing it in a UIWebView in iOS and WebView in Android,
Another option I found out is phoneGap,which provide an SDk to wrap an Web app into a Native iOS or Android App.
Can you people suggest me , Is it better to go with WebView in your native application, or is it really required to use phoneGap, Whether apple will approve my Application if I am using Mobile Web app in a UIWebView, Kindly Suggest.
Note: In my application there is no real need of Using any native functionality of iOS like, Camera, Contacts etc, I just wanna have a list with information fetched from the Webservice.
If you don't need any of the native features phonegap/callback gives you, do not use it. It's a bloated project that will probably add a ton of features you don't need, if you only need a wrapped web application.
Just use a regular webview, enable JS, caching etc and load your HTML into it.
Use phonegap. http://phonegap.com/
If u use it you can use the phonegap build service to generate apps for all platforms via it. you will only have to worry about the js, html part of the app, like you said.
Or if you dont want to use the phonegap build, still creating your own apps with phonegap is way easier as you dont have to write ANY native code.
There were some issues in Phonegap before because of which Apple was rejecting Phonegap apps previously. Thats fixed now, so thats no problem. :)
Can a custom FB web app be used inside the iOS / android FB apps? Docs are not very clear on that. You can create Bookmarks for native apps, but I want to have a bookmark pointing to our custom FB web app canvas. The goal is to develop an app that's usable on all platforms.
I've been making some test and I could'n execute a non native app from facebook app or web page, and it's not easy to load facebook web page in PC mode from a mobile device.
The official Facebook documentation for iOS says:
When a user does a search in the Facebook app your app will be visible if it passes a usage threshold. The search results will display apps that have been configured for SSO support. When the user selects your app from the search results they will be directed to your app. If the user had previously authorized your app they will be authenticated when your app is launched.
I guess that for Android will be pretty like this. So if you develop a native app that only shows a WebView pointint to your web (pretty simple by the way in iOS and android) must work with no problems.
Usually Facebook APPs are on Flash, so I don't think that it will work on iOS (Please correct me if I'm wrong with the Flash issue).
On Android, it would be extremely easy, having in mind it works with Flash with 0 problems. You'd just have to implement a WebView on your layout and point to the url of your facebook app.
In general, you can really create applications that work on both systems, iOS and Android, playing with the webView's. However, you have to know that they will never work as if they were written on native code in terms of performance.
From what I've seen, if a developer already has an existing mobile version of their app which is also on Facebook, they are able to create a tab for it that will appear on Facebook for iOS and Facebook for Android. I don't think you can create a bookmark to the webapp version to be seen on a mobile phone. Users can of course bookmark your webapp on their browsers, though.
I have a fully-working web app that is accessible using Android's browser.
The annoying part is the url bar uses a lot of the screen. Is there a way to make this web app a native Android app? I've read that webview can be used to embed a web site within the Android App.
Unfortunately, I only know web programming languages and have no Java experience. Will I still be able to do this on my own?
You certainly will need some learning in java, you can start with reading the following :
Webview documentation
A very detailled tutorial (quite hard if you haven't any java basics)
A basic tutorial on webview usage.
Have you looked at phonegap. It comes with a standalone app with a WebView embedded in it and with native android functionality support. You just need to provide your html/javascript app to it and you're done.
You can use a web app called MIT App Inventor
and get it done in less than 10 minutes, it's very easy, intuitive and requires no programming skills at all.
all you need to do is create a new project,
drag and drop a WebViewer component, on the right set the home url,
and your done! just connect to an android phone via USB to install the app
and you can even download the .apk to your computer, sign it and publish it on Google Play