Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

99 Taxi Support #183

Closed
emyymk opened this issue Mar 3, 2018 · 6 comments
Closed

99 Taxi Support #183

emyymk opened this issue Mar 3, 2018 · 6 comments

Comments

@emyymk
Copy link

emyymk commented Mar 3, 2018

Please add support for 99 Taxi app in iOS and Android platforms.

The link details can be found at:
https://api.corp.99taxis.com/docs

@dpa99c
Copy link
Owner

dpa99c commented Mar 5, 2018

The link you have provided is to a web-based corporate API, not a mobile app URI scheme.

I did a quick Google search and could not find any results for URL schemes for the 99 Taxi iOS or Android apps.

I have opened an issue on their corporate API github repo asking if such a scheme exists.

If they respond "no" or do not respond and you are unable to provide details of the mobile app URL schemes, then this issue will be closed.

@dpa99c
Copy link
Owner

dpa99c commented Mar 25, 2018

I received the following app URL scheme from 99 Taxi developers via a Google doc:

All parameters are mandatory

taxis99://call?pickup_latitude=-23.543869&pickup_longitude=-46.642264&pickup_title=Republica&dropoff_latitude=-23.600010&dropoff_longitude=-46.720348&dropoff_title=Morumbi&deep_link_product_id=316&client_id=MAP_***
Parameter Description
client_id Identification of partner Should follow this pattern:MAP_***
Where *** is the client name, accorded with 99 Team
pickup_latitude Pickup Latitude
pickup_longitude Pickup Longitude
pickup_title Pickup title (Summarized) - Will appear on App Ex: Estádio Morumbi
dropoff_latitude Dropoff latitude
dropoff_longitude Dropoff longitude
dropoff_title Dropoff title (Summarized) - Will appear on App Ex: Estádio Morumbi
deep_link_product_id 99 Category that's selected for the user (see table below)
Deep link product id Category
316 POP
326 TOP
327 TAXIS

@emyymk
Copy link
Author

emyymk commented Apr 4, 2018

What happens

Doesn't open 99 Táxis App (Android - Samsung Galaxy S8)

Observation

Same code is used to open others apps (Uber, Waze, Moovit, Cabify, GMaps)

Versions

Plugin 4.2.0
Cordova Version: 7.1.0
Cordova Plataform Android Version: 6.4.0

####Logs taken while reproducing problem
04-04 20:33:01.875 667 667 I ApplicationPackageManager: load=com.taxis99, bg=144-144, dr=144-144, forDefault=true
04-04 20:33:01.878 667 667 I ApplicationPackageManager: load=com.taxis99-contain, bg=184-184, dr=144-144
04-04 20:34:16.407 19247 19344 D omegasdk: post url:https://omgup.99taxis.mobi/api/stat/android success! Taken:404ms, return:{"ret":0,"message":""}
04-04 20:35:16.209 19247 19303 D TcpOptimizer: [com.taxis99] Full closed: sid=67, tcpi_state=8
04-04 20:37:02.634 3931 3931 I ApplicationPackageManager: load=com.taxis99, bg=144-144, dr=144-144, forDefault=true
04-04 20:37:02.636 3931 3931 I ApplicationPackageManager: load=com.taxis99-contain, bg=184-184, dr=144-144
04-04 20:37:04.527 2129 2363 E LaunchNavigator: start location is a required parameter for 99 Taxi and must be specified
04-04 20:37:42.386 2129 2363 E LaunchNavigator: start location is a required parameter for 99 Taxi and must be specified

@dpa99c
Copy link
Owner

dpa99c commented Apr 5, 2018

99 Taxis is the only supported Android app where start location is a required input parameter. All other supported Android apps make start location optional.

Therefore, in order for this plugin to automatically provide start location to 99 Taxis (if it's not already specified), the native Android implementation needs to be significantly enhanced to check/request runtime permission to use location, add the necessary permission entries to the AndroidManifest.xml, check/request high accuracy location is enabled (no point in requesting a low-accuracy city-level position if you want a pickup at your exact current address), and finally request a high accuracy position to determine the user's current location.

Currently, I don't see it being worth my effort to do all of the above just for the case of 99 Taxis, however I'm willing to accept a PR request which implements the necessary native Android features.

Otherwise/until then, you'll need to manually specify the start location for 99 Taxis. If the current user location is required, you can use cordova-plugin-geolocation to find this.

I will update the App-specifics section for 99 Taxis to make it explicitly clear that start location is currently a required parameter.

@emyymk
Copy link
Author

emyymk commented Apr 5, 2018

Thank you, dpa99c.
I included the required input parameter and it is working now.
I hope 99 Taxis team make start location optional some day.

@junio-goulart
Copy link

Hi, guys. I'm having trouble implementing 99 taxi in my app. Could someone help me? Where do I get the client_id? Do I have to pass the client_id and the deep_link_product_id in the "extras" property inside LaunchNavigatorOptions?

I managed to get here:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants