Google maps registered URL scheme in iPhone - iphone

Is there Google maps application launch link which is registered as URL scheme in iPhone?
I know i can launch Google maps using http://maps.google.com ...
But this needs internet connection. I'm looking for a launch link which does not require internet connection like Waze (waze://?ll ...)

The Google Maps app can be launched from the maps URL already:
http://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Articles/MapLinks.html
This way, if Google Maps is not installed then the user will be redirected to a web site and thereby provide a graceful degradation of service.
Note that in iOS6 the new maps application means that some of the above will be different - check the iOS6 docs if you have a developer account, or wait until its public information.
The problem of whether or not you need an internet connection is different however. If the map section is cached, then Google Maps won't necessarily need an internet connection - but that's in no way guaranteed, and nothing you can do about launching the app is going to change that.
You could launch Waze (if it's installed) - check out their API documentation for details how to do this:
http://world.waze.com/dev/documentation/

Related

Facebook: submitting a native Windows app for review

I built a native Windows app (non Windows-Store) that uses the Facebook API.
I wanted to make it public which means going through their review process which means (among other things) selecting the app's platform.
Sadly a native Windows app is not one of the choices: Facebook app platform selection screenshot
I found 2 unanswered questions on SO on the same topic:
one
two
How should this be done in a proper way?
Thanks in advance.
PS:
I found a post a few days ago where the poster said he registered such an app by setting the platform to "web site" (I didn't keep the link).
This does not look like a good long term solution and also I don't have a domain to provide.
In short, you must set your platform to Web.
The reason for this can be found in the official documentation on building your native logon flow. There is no secure way of creating a logon flow without a server, as this would imply storing your App Secret inside your binary or app config file.
So the recommended (and only supported) way is to create a server which stores the App Secret and handles authentication for you. And use this server from the WebBrowser/WebView control which you embed into your native application.
This means you use the logon flow from a web browser via a custom server and you should have a domain for it (a domain is quite cheap nowdays, it should not be a problem). So you are building a web app embedded into a native app.
For a successful login review do the following:
Choose Web as your platform
On the Settings page in the Advanced tab choose Native App.
Create a screencast (Start your app, logon, use all the requested permissions and that's it. Do not edit it!) and upload it to the web (YouTube/Vimeo/...)
When submitting provide a link to your screencast.

How to launch iOS app via custom URL and allow to open a webpage if it's not installed?

I'd like to be able to send invitation in an email to a specific "event" happening inside my iOS app. So I figured I'd need to use custom URL. That's fine.
But I'd also like to be able to handle the user that doesn't have the app installed yet, to be taken to a mobile Safari and to the webpage with installation instructions for the app.
What would be the best way to do it?
I could try the following:
In the email I send a link to a http://www.example.com/joinevent/?id=foo
User is taken to a Safari webpage that sends a redirect to mycustomscheme://joinevent/?id=foo
If the user doesn't have the app installed this redirection won't work and he stays in the Safari - I could then handle the displaying of installation instructions probably.
But this approach doesn't seem "natural" for me. Is there a better/more native way to do it?
Try http://rdrct.it
It is a web service that allows you to achieve exactly this functionality very easily.
Full disclosure - I created rdrct.it
Here's the basics:
Login to the site, create a project for your particular app. Choose a unique code (this could be the name of your app).
You'll then be provided with a URL in the form: http://rdrct.it/uniqueCode
Once you've done that, you need to register the app's ID in the app store, and also details about the custom URL scheme. Tick "Auto-redirect" - what it will then do is try to open the app, and if that fails, it will automatically send the user to the app store.
If the app is opened, then the querystring is also passed to the app, so in your example case, the device will have been served: mycustomscheme://joinevent/?id=foo
It also works across multiple device types, so if you have the app available for Blackberry, Android or Windows Phone, then it will also do the same for those depending on which device type the user is using.
Like I said, I created it, but it should solve your problem.
If you are using Distimo to track you app analytics, they provide a shortlink to your apps that can be used also used to track conversions. It shows a custom page depending on the device used to access. This is especially convenient if you have the same app published in the AppStore, Google Play, Amazon, etc.

Detecting installed apps on iPhone with javascript or url

I am building a HTML5 based mobile web app for iPhone. I need to check whether user has specific application that I suggest. I heard that each iPhone application has unique URL scheme to detect their app indentity.
Therefore, I've read this article to get an idea.
Is it possible to register a http+domain-based URL Scheme for iPhone apps, like YouTube and Maps?
However, this is not perfect answer to make what I am trying to make.
here is what might happen
User clicks a recommendation app on mobile web browser.
Check with application iTunes URL and URL scheme.
If the user has the installed application, it returns 'installed'
==> In this case, the screen returns back to mobile browser.
If the user does not have the installed application, it returns 'uninstalled'
==> In this case, the screen moves to App Store.
I am running mobile web app with PHP language.
Thank you.
this is not possible I'm afraid. To be honest I'm glad, as there are real privacy concerns if any old web page can detect which apps I have installed.
That's definitely not a good thing!
UPDATE: If you're happy to go native, this library will do what you want.. http://www.cocoacontrols.com/platforms/ios/controls/ihasapp
If you know that a url scheme for the app exists then you can open it via a web link like this, "myapp://". With this there are some round about ways you can effectively check if a certain app exists.
See this related stackoverflow post

How does Google Maps see native iPhone apps: Server App or Browser App?

I have a Google API console premier account, and I'm using the places service for an application that has two parts, web app and mobile app.
It seems that Google API distinguishes between server and browser apps. So for each category I have to generate keys specifically for it.
The mobile app is a native iPhone App, that uses the Google Places Web Services XML API for a simple auto complete function.
The question is in which category does mobile apps fall in?
Browser Apps
Server Apps
And any resources of how to use them?, does the Google JavaScript API V3 still requires an API Key for the premium users? Google documentation about this subject does not have enough information.
There are two different interactive types of Mobile Apps that use Google Maps:
ones that use the Maps Javascript API v3 (either directly or embedded in a Native Application)
ones that use Native Google Maps APIs (currently available for Android and iPhone)
For more on that you can have a look at:
http://code.google.com/apis/maps/articles/mobile_overview_v3.html
Ones that use the Maps JS v3 are Browser Apps, the Native Apps are neither. They have their own TOS and quota system, like the one for iPhone and the one for Android.
About Google Maps JS API v3. It an be loaded :
without any key
with an API console key, which will allow you to track your usage (this was introduced recently)
with Maps Premier client id (gme-) if you are a Maps API Premier customer
The XML web service for places API should be used only as a server side solution. This is because you can imagine that a user might steal your key from the source of your iPhone app (by sniffing on the traffic) and use it.
The safe way out is to use a proxy server. You would then register an App Key for server apps (with IP locking for your proxy server) and then make calls to the Places API from this proxy.
Another option would be to use UIWebView on the iPhone side with JS Maps API v3 and Places library on the Google side. You would then fall in "ones that use the Maps Javascript API v3 in a Native Application" category.
You could then use any of the 3 options to load JS Maps API that are mentioned above.
I had to cut away some links, since I am not able to paste more than two, but I hope that helps anyway
Unless you have strong reasons against it, the "ones that use the Maps Javascript API v3 in a Native Application" category is the best option. There's a nice talk from Google I/O 2010 about it: http://www.google.com/events/io/2010/sessions/map-once-map-anywhere-geospatial-apps.html

Can Facebook's "Single Sign On" be achieved within a mobile web app?

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