In Android, do we really need Branch? - android

Isn't Branch really redundant, at least in Android? With questions like: Android - Is it possible to get install referrer programmatically
where we can do our own deep-linking, isn't Branch just another redundant tool now(at least in android)?
I can do all the things that Branch offers without integrating Branch at all.
Or am I missing something?

(Full disclosure: I did a Branch app integration last year and now work with the Branch team.)
This is a good question, and you're right: the deep linking landscape on Android has advanced quite significantly, especially with the introduction of App Links in Android M. As you mentioned, the Google Play Install Referrer (which Branch does also use) is available to anyone and passes a limited amount of data through the installation process. However it doesn't always get delivered reliably and isn't especially flexible. Many of Branch's partners had previously tried this approach and found it was too slow.
Branch does still offer a few benefits
Since there aren't really any deep linking 'standards' yet, Branch can still be a useful plug-and-play option for developers. Here are a few specific areas where Branch helps:
Edge cases
Given how many Android devices and OS versions are available, there are a ton of these. You’ll think everything is going great until you get that one user complaining that her links aren’t working on Facebook while running Android 4.4.4. Branch is currently tracking over 6000 of these situations (source), which can save you this nightmare and ensure that your links work everywhere.
Data flexibility
The Google Play Install Referrer lets you pass in a few strings via URL query parameters, but it isn't persistent storage and only works during the first install. Branch allows you to send almost anything you can think of (and also adds some useful analytics data), and it's available permanently with every link your users ever click.
Cross-platform
I know you asked specifically about Android, but if your app has an iOS version (or might launch one in future) then Branch makes it really easy to handle everything with a single system.
Value-added tools
Not deep link tech per se, but Branch can also let your users preview app content before installing, text themselves download links from their computer, and see detailed analytics for every piece of content inside the app, amongst others. Yes, of course those could all be developed in-house, but they're a big resource commitment.

Related

Custom, self hosted Android Marketplace

I did some research and i can't find a proper custom marketplace solution for Android, i would like to know if someone knows any, with the possibility of being hosted and maintained by us, and fully customizable.
I read about F-Droid but it doesn't seems to be very customizable, as far as i know.
Thank you all.
Well you have a few options. We built our own app store at the last contract I was in. From a file storage it was pretty straight forward. For Android we just supported unknown devices at first, but later switched to integrated MDM(Mobile Device Management) system. I can't remember exactly which one we landed on in the end.
However, for the iOS side we had to build SSL pointers that are nested in a manifest file that points to the IPA. For Android, we just had to sign and place the APK. For Web packages, we hosted an internal NPM server.
For the packages we used Apache Archiva, but that is not the same thing, so just tossing that out there if it matters at all to you.
Lastly, we built an Angular based web interface to handle Authentication and displaying of available apps/versions. Lastly we built an app to put on the app store that others would install that would keep up with our services to know what was installed, needed upgraded, or uninstalled.
However, this took a team of engineers over a year to get done.
So let's talk free options. Just google Android Market Place self hosted alternatives. Last year at the CES I met with Aptoid and they were deploying many self hosted, self managed options that would fit your need very nicely. I don't remember the exact pricing though.
So bottom line is, depends on how fancy you want to get and if you have time to build your own, or if you want to buy/subscribe to one out of the box.
Hope that helps.

How are Android Instant apps started/loaded?

I am trying to understand at a little bit lower level how Android Instant Applications work, as well as analyse a bit the security aspect. I know you create an app, it has its modules and activities, and you need to specify an URL entry-point for each feature module. Now, I have my application, I have my link, I browse to it. Two questions here:
1) How does Android, my browser, DNS, whatever parses that link, know that it's not a normally browsable internet link, but that it's actually an instant app and and should open it like an instant app using the android framework, download base and feature modules, isntant-compilation, etc. ?
2) What does it actually do after it understands it's an instant app? What calls are made? WHERE exactly is the application contained? We start from the browser we use to search and find that link, after that? Is it contained in that browser's sandbox? Does it create a new container for that app? From a security perspective, this information would be quite important and interesting.
How can I gather more info about all this? Are there any tools that allow me to see into these load procedures? Any link to some extra documentation or knowledge of how this particular aspect of android works?
I suspect there won't be much public info because even though they were introduced in the end of 2016, Instant Apps is still a very new and explored feature, but that's exactly what I'm working on. If there is anything that can allow me to see what's going on, tools, debuggers, stuff I don't even know it exists, please let me know.

Can Android Instant Apps be integrated with Hybrid app?

The Android Instant Apps is a new thing, and I just wanted to know if it can be integrated with the Hybrid app structure (HTML/JS with Cordova wrapper).
I'm not a native app developer so I'm not sure of this myself.
According to Googlers ,well main idea behind instant app is
To make the native app experience as convenient as surfing to a web
site. “Web pages are ephemeral,They appear, you use them, and never
think about them again.” Apps, have lots of friction and
often you only want an app to perform one action or to get a specific
piece of information.
Google's examples of Instant Apps included museum or resort apps with maps and schedules, along with apps that help you pay for parking. These are the kinds of rarely-used apps that are useful in the moment, though you wouldn't necessarily want to install them on your phone beforehand or keep them around afterward. Developers can, however, can provide "call to action" links that encourage users to download and install apps that they find particularly useful.
Instant Apps are a logical evolution of App Links, a Marshmallow-era feature that lets installed apps designate themselves as the default options for opening certain kinds of links. For instance, clicking a link to Pinterest might open up the Pinterest app rather than Pinterest's mobile site—Apple's "Universal Links" in iOS 9 provide similar functionality.
Google requires apps that use App Links to prove that they're associated with the sites they say they're associated with; the exact same sort of verification will be used for Instant Apps.
So if we analyze all the information provided by googlers Instant Apps for a start is only for native apps there is no scope for Hybrid Apps...
Hope this make sense...I am able to clear your doubt..we will know more when..the exact availability of instant apps for both end users and developers will gradually expand access to feature and bring it to users...
Technically, I don't see why not as Instant Apps end up compiling to what is just a regular APK (or set of APKs).
Will it work out-of-the-box? I doubt it, as there may be issues with tooling (which is via Android Studio) as well as runtime issues (Instant Apps have some restrictions on what they can do, see the FAQ).
Is it recommended? Probably not, as the point of Instant Apps is to provide a fast, native app experience. If the hybrid app ultimately loads HTML/JS then there is likely minimal advantage over simply loading an optimized mobile website.

iPhone/Android webapp wrapper

I work at a large company that is looking at building apps for internal use only (iPhone/iPad). We are looking for a SIMPLE way of creating apps that essentially are just a web browser with a predefined URL and no address bar/tabs, etc. Essentially a very dumbed down browser with a custom logo. What is the easiest way to accomplish this?
We would obviously be distributing these oursevlves and they wouldn't be available in the App Store, so app guidelines aren't an issue. We are on Windows boxes and are Java/Web developers so we'd rather not get into too much C sharp if at all possible, fyi. Basically it'd be nice if the tool (if one exists), were to allow us to give it a URL, an icon image, and it builds the app from there.
And while we are starting out with Apple devices, we need to be cross platform compliant with whatever tools we use because I can imagine the day when they decide to buy Android or WindowsPhone devices later on.
MobiOne? PhoneGap? Appcelerator Titanium SDK? Can either of these do what we need? Something else?
A big 'No' for MobiOne. I bought it for 99 dollars. As they advertised, I was able to create a static app within hours. But that's pretty much what MobiOne can do. The moment you start using html, javascript or even audio, all sorts of problem seem to creep up. And there is no support in their forums either. My basic question about using the audio player remains unanswered for a month now.
Here is the worst part:
The tool has a poorly built emulator. Often times, my app worked fine in the emulator but failed to run when deployed to a real device. And at times, i have seen the vice versa too.
Since then, I switched over to PhoneGap(which is free). It took me 2 days to just set my environment right. But once I had the environment setup, it took only minutes to deploy my app in to a virtual device.
Looking at your requirement, I would say that your safe bet is PhoneGap.
I don't have a working knowledge in Titanium but I read in a lot of forums that it supports less platforms when compared to PhoneGap. Titanium seems to give a more native feel to the app but that also means you cannot port it to multiple platforms without changing the code.
Apple may reject your app if all it does is wrap a web site in a WebView. You need to have more functionality in your app than just loading a web page.
From the app review guidelines for iOS:
2.12 Apps that are not very useful, are simply web sites bundled as apps, or do not provide any lasting entertainment value may be rejected
You would need to add additional screens to the app like an about page and a contact us page in order for your app not to be rejected.
As you say you know JavaScript, look into appcelerator.com it allows you to build cross platform apps and only writing your code once.
I would re-evaluate your reason for wanting to create these projects as an app in the first place. What app functionality do you want that you don't have now with your web page? You didn't mention anything in your question that would indicate this needs to be an app.
On Apple devices, you could create an icon that points to a web site. You could define the pages in a way that hides the address bar. Lastly, the web pages could easily be cross-platform already.
Wrapping this into an app would just possibly complicate the process. You may need to deploy updated app code to the device, where a refresh in a browser works just as well.

Is ASE mature enough to start developing android apps?

I've been checking out the Android Scripting Environment, it looks rather promising. But is it a viable option to make a marketable app in? It seems like the customer would have to download ASE and then run the script from the environment itself.
Given the lack of responses, I'm posting this more as a bump and discussion opener than a complete answer. My take is that SL4A might be good enough for small scripts, but not yet for full blown apps to update to the market. Just browsing the last couple of months of the discussion group page (link here), it seems that the API is still changing quite actively. I'm posting some examples below:
Issue 514 in android-scripting: Enhanced WebView API
New unofficial release
API Updates
Scripts as APKs
API Browser Changes
If you have a great script that you want to quickly port to SL4A, give it a shot. But I would not replace java with SL4A at least until it gets an official release.

Categories

Resources