Is it possible to see if PWA was installed from the APP Store vs. Mobile Browsing? - progressive-web-apps

At the moment my Mobile experience is m-web and my app is PWA (app stores) ... but I want to join the two and just have PWA.
But I need to differentiate between the App Store download and the Mobile download - at least for the first few usages. (i.e. if someone downloads from the app store, I want to "hide" certain content until they have purchased, however if they access direct from mobile, they can have the content directly.)
Is this possible with PWA - to see if the version they have was downloaded from the APP store vs downloaded through mobile browsing?

You do not need to submit your PWA to the app store. Users can just access it directly.
You can wrap your PWA in a hybrid shell, something like the soon to be deprecated Cordova for example. If you do this, I believe there would be some sort of flag to check if the shell is present.
Apple is known for rejecting and removing hybrid apps, just FYI. This one reason why so many brands are abandoning native apps.
It feels like you are doing something of #3.
I get why you want users to pay through your web interface, the 30% tax is repressive. But doing this will most likely get you tossed from the app store. This is the foundation of BaseCamp's complaints.
https://love2dev.com/apple-appstore-pwa/

if (window.matchMedia('(display-mode: standalone)').matches) {
console.log("This is running as standalone.");
}
Sure you need to edit standalone if you use some other display property

Related

AppStore and alternatives for the following app

I got an offer to develop a simple iPhone app that would call a web service with user's credentials. An user would get the list of files that can be downloaded (.pdfs) and could then download the wanted file. Simple enough...
Now, I've had bad experience with publishing on AppStore. Basically, they refused one app because according to them our RSS reader for a online newspaper wasn't in accordance with their guidelines. They said that the application was a simple web aggregator which I won't argue now. Not now :)
So, back to the new app problem :)
I would like to know what are the options for distributing the new app. The client has a web page and wants to give it's visitor this app to get that data from their phones too.
Technically, the app doesn't have to be a native app. It can be a phoneGap solution too since it's quite simple regarding the functionality. Sincerely, I am afraid that there is no way that Apple will allow this app to be uploaded to their store being native, phoneGap...
P.S.
I would also like to know is there a way to distribute an "internal" (not publicly available) iPhone app? For example, a company needs an internal tool for their 500 employees, but can't afford to go through the process of conecting each device and compiling the app for each device individually...
If you want to sell customized apps to companies, you should consider the B2B program.
if you are in an enterprise that wants to deploy apps inside your company, the Enterprise Developer Program is a good choice.
For internal:
100 test devices.
alot of iphones with the distribution profile after the 100 devices
with the enterprise:
https://developer.apple.com/programs/ios/enterprise/

"Legality" of using web resources and appcache inside UIWebView/Phonegap

We are trying to develop a hybrid app that can update itself by using css/javascript/html from the internet, instead of storing them in the phonegap project.
Like so
Html5 cache manifest in a UIWebView?
HTML5 AppCache in UIWebView
It now does work fine on iOS 5 and 5.1
In fact, inside phonegap index.html we do or location.href redirect to the web site. The web site has offline manifest, which allows the phonegap app to start and work the second time in an offline mode (after all resources were cached the first time). And changes to manifest do update the app correctly. I have tried terminating the app in the phone, and restarting it while the web site is down - it still works.
There are solutions that allow self update - for example the phonegap-based Worklight. So silent self-update doesn't seem to be an issue anymore.
So the question is, did anybody submit similar an app to appstore? There's potentially no code at all in the app, all it does is goes to the web site.
Apple appears to allow apps to download data updates and Javascript/HTML for use in UIWebViews. They even presented a WWDC session on data driven apps a couple years back.
But note this item in Apple's app review guidelines:
2.12 Apps that are ... simply web sites bundled as apps ... may be rejected.
The only way to know for sure if your app is acceptable is to submit it to Apple for review, as "similar" apps do not appear to set any precedent for any future approvals.

Loading remote application would it lead to App Store rejection?

I have an application using JQtouch and would like it to be on the App Store.
Will my application get rejected from the App Store if all the functionality is done remotely (loading in UIWebView) and I provide no offline functionality?
Thanks.
From the Apple App Approval Guidelines:
12.3: Apps that are simply web clippings, content aggregators, or a collection of links, may be rejected.
Basically if your app does not add anything to the experience of viewing the website, then you may get rejected.
I have had apps approved in the app store that were just a web view pointed on a JQTouch application. However, I loaded the .html from a local file included in the app. I believe the no "web clippings" clause of section 12.3 in the App Approval guidelines is only meant for clippings of full web sites. Embedding a mobile web application in a local app will likely get accepted.
I don't think this should be a problem. Apple reviewers are probably the most fickle people on the planet, but I can think of several apps that are UIWebView based, and which provide little or no offline functionality.

Download additioanal functionality into an app - is it possible?

I'm currently developing an iPhone version of existing Android application.
Customer wants to provide his web services via mobile apps. On Android this is made in a modular way: user installs main app, and then he can download additional modules to it if needed. That way he can install only modules that he needs.
Is there a way to achieve same functionality on iPhone? I read about In-App Purchasing, but I don't know if it will work because additional functionality will not be built-in and unlocked - it needs to be downloaded and added to my app as a new module - so user's space would not be wasted with unneeded modules.
Thank you!
2.7 Apps that download code in any way or form will be rejected
From App Store Review Guidelines
Judging by the question, this is not a world-facing app - it has a specific customer. With Terente's answer in mind, do consider side-loading, AKA in-house distribution. That is - bypass the app store. The prohibition on the downloadable code is an App Store policy, not a limitation of the platform.
The enterprise contract with Apple is $300/year instead of regular $100/year. But you get to install your app on as many devices as you wish, completely bypassing the App Store. Either over the air (by browsing from the phone) or via iTunes.
Under this model, your app can download, store and run custom code all you want. The specifics of the plug-in model are up for you and your customer.
EDIT: so app store is a must. How about this: have a WebView in the project, have it download HTML pages with JavaScript in them, have code hooks for JavaScript to call. To the best of my knowledge, AppStore does not reject apps that display Web pages from the Net, and if the Web page happens to have a script, there's no prohibition on executing that script.
This violates the spirit of the rule while relying on letter and precedent. Technically speaking, JavaScript IS code. And again, technically speaking, WebView is capable of downloading and running it. And App Store is choke full of apps with WebView in them.
How will this fly with your customers, who knows.

Android, Iphone app with JS and HTML

I have read some post about apps programming for Iphone and Android, but I have one question. Is it posible when there is a mobile website optimized for mobile phones, that I can create apps for Iphone, Android, Win 7 and Blackberry, that only statrts the browser as instance and display the mobile website? What do you think, is this ok? Do you have any ideas or examples for that kind of apps? I mean this is not an app, that should be has access to the hardware of the phone, only web app.
Thanks
Nik
This would work.
You could create an app that consists merely of a webview into which you load your content. The content could be loaded over the mobile network or be stored locally.
However most users (including yours truly) strongly dislike apps that merely present a single website to the user, because of the long delays if the content is loaded over the mobile network every time and because the UI is, in many cases, very different to what the he or she is used to from native apps.
Most users fail to see the need for a specialized app just to visit a website which they could as well keep as a favorite in their mobile browser. On the iPhone, you may even add favorite websites as icons on your homescreen, so there is no need for apps presenting a single website at all.
It's not only possible, such things are already done. One example I know of is cookd, a restaurant guide for Vienna. But there are some constraints; for example, cookd requires GPS data for the "Nearby" option; on my Android phone (HTC Legend), this is possible when I open the web page directly in the browser (the browser asks if I want to allow cookd.com to get this info); but the same webpage, running in an application that does nothing more than display the browser component, cannot do that. To fix that, they would have to build GPS reception into the app and forward this info to the browser component.
O'reilly has a fantastic article about this:
http://building-iphone-apps.labs.oreilly.com/
This is a little bit directed to iPhone only, but will give you a good overview about the topic and possibilities.