2

I have a requirement to open the native version of the hybrid app (.ipa/.apk/.appx) when the hybrid app is requested in a device browser.

I am able to detect the environment using WL.Client.getEnvironment(); method, if it is found to be Android/iPad, I want to launch the respective .apk/.ipa file in the device. Any help is appreciated.

7
  • I understand what you're asking, but the scenario is very strange to me. You have a Worklight Hybrid app as well as some native app installed on your device, and you want to open the native app when a Hybrid app is "Requested in the device web browser"? I don't understand this. Please rephrase the question. Commented Dec 16, 2013 at 13:47
  • Do you mean that you are in the Hybrid app and you want to launch another app by clicking a button or link while in the app? Commented Dec 16, 2013 at 13:47
  • @IdanAdar: Yes, this hybrid application is targetted for iPad, Android & Windows tablets and Desktop version. We want to restrict the users accessing the app in device browsers' and force the user to launch the same app installed on the device Commented Dec 16, 2013 at 13:53
  • If it is a Hybrid app, why and how would they open it from a browser? It sounds like you are talking about a mobile web app. Please be MUCH clearer in what you're talking about. Commented Dec 16, 2013 at 18:30
  • How is a Hybrid app reauested in a device browser? Explain the scenario. Commented Dec 17, 2013 at 5:17

2 Answers 2

3

Re-reading this question and the comments several times... I still do not understand the actual scenario... it'd be best to rephrase it.


Scenario: How to open an app from the web browser:

If you have added the following environments to your Worklight application:

  • Mobile Web
  • Android
  • iPhone

And when visiting the Mobile Web version of your app, you want to display a message like "For the full experience, open the full application by clicking here".

Then:

  1. It is implied that the user already has the application installed.
  2. If it is not installed, you need to take care of that somehow

The way to handle this scenario is to use URI schemas:

Alternate solution: If you are not sure if the app will be installed or not, then instead of using URI schemas you can always point to either Google Play or Apple App Store, to the app page; the user will then have either a "Open" or "Install" link.


Scenario: How to open an app from my own app

If you have a Worklight Hybrid application (Mobile Web is not a Hybrid application), and you want to open another application from within it, you can:

  1. Use the same approach of URI schemas, or
  2. Use Cordova plug-ins

I have created this Worklight 6.1.0 project to demonstrate:

  • Android - How to open, for example, the Android Settings app from your Worklight Hybrid app
  • iOS - How to check if Waze is installed and open it, and if it is not installed then to open Apple Maps instead.
  • See instructions.txt in the apps\test folder.
Sign up to request clarification or add additional context in comments.

4 Comments

Using URL Schemes is the right way to do it but is there no built in way in worklight to use open url scheme or writing a plugin is the only way to do so?? I tried Wl.openURL('fb:'); but it did not work.
There is not. While writing this answer I figured this could be a nice feature request. Feel free to submit this as a feature request, here: ibm.com/developerworks/community/forums/html/…
Did the same ibm.com/developerworks/rfe/…, please let me know if it is fine.
It's okay. This is not a guarantee it will be implemented, now or at all. Thanks for the submission.
1

Are you asking that if the user via their device browser hits the webapp version of your app on the internet, the website will ask the user to fire up the native app on their device? kind of like what ebay does? if that is what you want check out these pages

android:Launch custom android application from android browser

IOS: iPhone - Open Application from Web Page

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.