Native mobile app

No it doesn’t have to be the index page. However, when we send you the zip file, we need to know which page that is, and you can’t change that after (or you need to resubmit to the App Store).

1 Like

Ouch.
Well, will ask you for a new zip file tomorrow :grin:

Both native and hybrid are ways to fulfill the different needs and preferences of users and developers, and none of them can be thought as a perfect solution. They have their strengths and weaknesses and it is up to you to decide which of them fits you better and which one you will use in your application. Java training in chennai

I hope my information will be useful for you: custom mobile app development company can offer all types of mobile apps (also native mobile apps). As well you can find there interesting blog with relevant articles

@natedogg Hey Nate, just wondering if you ended up finishing and publishing your native app. If so, could you share an iTunes link so I can check out the interface?

Thanks!

@georgedimopoulos19 I actually didn’t publish the one that I was working on when I posted in this thread.

I’ve got one that I’m submitting to Apple currently, but it got rejected because of some iPad resolution issues. I’ll post a link once I get it approved.

1 Like

@george_dmop Just got approved by Apple last night! Here’s a link to the first version of my app. (Note, to show any data, you’ll have to manually change your location to Savannah, GA in the app. It’s the only city I have data for currently.)

https://itunes.apple.com/us/app/ontherocks-find-best-drink/id1093369204?ls=1&mt=8

4 Likes

Awesome man congrats. Checking it out now

@natedogg so cool, congrats! I’m sure you’re thrilled. Now the real work begins, right? ha

Two questions, if you have time for them.

(1) Your app’s “enable location” messaging is sharp! Would you mind walking through how you achieved that? I haven’t figured out what exactly triggers the ios location request, but I’d like to delay that trigger until after I message why the app needs location. You’ve done a really nice job with that!

(2) I found that the browser’s google maps location request was being called before the cordova plugin location request. This was resulting in some pretty nasty messaging. Below is an example screenshot I took from a different message board.

Did you encounter the same issue? Did you need to adjust the phonegap/cordova index.html file that was initially provided by Team Bubble? Rearranging the order of javascript files seems to have fixed the issue for me, but it was done in such a “trial and error” fashion, I’d be curious to hear if you had a similar experience — and if so, how you resolved. In the end, I think I just placed .js files under js/index.js within index.html, one by one until the message went away.

Congratulations again.

@vaughnwibbles Thanks!

So, yeah I definitely encountered that issue. Figuring out how to fix it was a huge headache, as nothing in Phonegap’s documentation or in online forums seemed to help.

The reason you get the ugly location request is that your Bubble web page is calling for a location before the native app itself is finished loading. When that happens, it overrides your app’s location feature and uses the webview browser’s location feature. That’s why you get the ugly request, which is actually the file path of your app page.

What eventually worked for me was to disable everything in my app that called for a location until I was ready to request it. Every location-based item in my app has a custom state as the default value, and I only assign values to those states once the user presses the button to enable location. Once the button is pressed, I change a value on the current user that activates the location requests.

Once you’ve done this, you should only get the one “nice” location popup, because the native app is fully loaded, and it will override the browser’s request.

Hope that helps. Good luck with your app, and feel free to reach out with any more questions!

7 Likes

This is a great solution! Will give it a try, thanks a lot Nate!

Extremely cool. Congrats again! And thanks for taking the time to share your solution.

Hey @natedogg

for the very first time I have encountered the issue with the ugly location request. I kinda follow your theory in this post, but I am interested to see the actions that follow when the user clicks on the “Enable Location” button…any chance you can post a screenshot?

thanks

Rogelio

@Rogelio,

The workflow from the “Enable Location” button is similar to the image above. Once location-gained is yes, the workflow in the image runs automatically. (The only relevant part of that workflow is the first “set state” action.)

That workflow assigns the user’s location to a custom state that is an address format, which automatically triggers the request. From there, every location-based object uses this custom state as a data source.

Hope this helps! Let me know if you still have any trouble.

1 Like

@natedogg

how do you ensure that the ‘location’ custom state remains current, what would happen if the user travels a fair distance away from the last current geographic location recorded? what would happen to your searches.

in other words, how do you ensure that your searches are based on the most accurate current geographic location of the user?

I usually use a “Do every X seconds” workflow to make sure that I’m pulling in the location pretty frequently. I usually go with 2 or 3 seconds. Also, because you’re using a custom state and not saving something to the server, this won’t count against your monthly workflow limit.

This also helps with the fact that the user’s location isn’t tracked when the app isn’t visible on the screen. Once they open the app again their new location should be reflected fairly quickly.

@natedogg

thanks…

I am wondering why on your course material you are saving the user’s current position on an custom state (location) attached to an invisible group called ‘get-position’.

Can the same be achieved by creating the custom state attached to the ios bubble page (“ios-app” in the course) instead of the invisible group?

@Rogelio,

That’s just personal preference on my part. I’m a stickler for giving names to objects that describe exactly what they do. :stuck_out_tongue_closed_eyes:

You can definitely achieve the same thing by attaching the state at the page level.

Hey @emmanuel

The solution to the “ugly location access request” as explained in Nate’s response here is an excellent solution to the problem, but there is no denying that this more a work-around rather than a permanent corrective solution to the underlying issue with the back-end code.

Is there a possibility for a Bubble-driven solution here? ie; can a condition be added to check for the completion of the app launch before triggering some events like in this case “current geographic location” perhaps?

it would be much appreciated.

thanks

Rogelio

There are probably some solutions, but we’ll look into this when we’re pushing for native stuff.