How to stop developers from opening my website in a WebView? - android

An unauthorized person has created an android app on our name, logo and showing our website content as is. It has fully functional browser experience in an app. This person is using advertisement to make money using our content.
Our Website: http://www.chittorgarh.com
Fake App: https://play.google.com/store/apps/details?id=davidjack.chittorgarh
What we did in last 2 days:
Complaint to Google. No response so far.
Sent emails to fake app publisher. No response so far.
Created our own official app using exact same way and made it live. We will start pushing it through our website soon. It’s not what we want but do not see any other option.
https://play.google.com/store/apps/details?id=ipo.chittorgarh
Question: How do disable all the traffic from the Fake App?
Tried User-Agent but no luck as it’s exactly same as someone opens the app in chrome on android.

It is basically a web browser within an app, so there isn’t any way around this, if it’s publicly accessible via the web then it’s available to anyone to access or implement within a web view.
All you can do really is create your own app, and add a message regarding the fake app on the homepage of your website.

Related

Facebook In App web browser clears my browser cookies after 2-3 days

I have articles which are posted on Facebook for our subscribers and when a user clicks in one of the links they get re-directed to a mobile-site where they login, the problem is now after a a few days 2-3 days the mobile site asks them to authenticate again.
Im guessing Facebook in app browser clears my cookies but what i need to know is how does it manage its cookies especially for external sites. I tried the Facebook developer website there's no documentation on how this in app webview/browser works.
Background Info
Facebook in app browser is rather a webview which renders all the links which user's browse so instead of delegating the rendering to an external browser it handles everything on its own. This comes with limited functionality of course, Facebook added this in app browsing functionality to keep user's in session, because most of the time if user's make use of external browsers they don't come back into the app.
With the above background information Facebook browser is accessible to developer's in a sense that they may choose to use Deep-Linking if the browser doesn't conform to their specifications because the browser is closed i.e you can not modify or rather interact with it, thats why the deep linking functionality allows for developers to give user's an option to choose wether they wish to use their app this is if they have it installed in their mobile devices.
Cookies
Cookie management entirely depends on the In-app browser which if a user wishes to clear them then they can do so via their app settings. Since Facebook in-app browser manages its own cookies thus if a webpage is rendered by the in-app browser it will entirely depend of the in-app browser if its time to clear them from the device.
Deep Linking Overview
App Links is an open standard to deep link to content in your app. When someone using your app shares content to Facebook or another App Links-enabled app you can create a link that makes it possible to jump back into your app from that piece of content.
App Links work by adding metadata to existing URLs on the web so that they can be consumed by your app. If your app doesn't have a web presence with content you can annotate, you can also use a Facebook-provided service to host the data.
The Facebook's app for iOS and Android support App Links today. When the Facebook app comes across a link that supports App Links it will launch your app with the right information so someone can see the content immediately and quickly.
How App Linking Works
A person clicks on a story on Facebook
If someone shares a story on Facebook with content from your app, people can click on the story to view the content in your app. The URL shared to Facebook contains App Link metadata or be a Facebook-hosted URL.
Facebook app looks up the URL to see if it supports App Links
Once someone clicks on a story, the Facebook App does a lookup to see if the content supports App Links. if it does, the Facebook App takes people to your content, either in a web view or by launching your app and linking to the content, depending on the following criteria:
Whether people have your app installed
Whether the device is and Android or iOS device
Whether your app is mobile only
App Links has the following requirements:
If the content is a web page, your web page must include markup to let the app know what app should be launched.
If the content is mobile only, you must still supply a valid http(s) URL that hosts the App Link metadata. Facebook provides a Hosting API for App Links to make it easy for app developers to support App Links content without having to set up a web server.
In order to accept incoming App Links, your app will need to be set up to support them. We cover how to do that for both iOS and Android.
Launching Outbound Apps
It's possible for any app to do what the Facebook app does and add support to launch other apps based on App Links. If you've got an app where people want to click through to links instead of just going to inbound links, we've also provided a document that covers how to add support for the outbound navigation protocolto your app.

Enable Deep Linking for an Android app

Recently I built an Android app that consume data through JSON from a back-end. There is no public/front zone, it's only back-end. Moreover I built a showcase-website just to let people know the app exists.
Back-end and Showcase-Webiste reside at two different URLs. In the developer console I enabled the app indexing and the showcase-website is the one I set.
I'd like to add deep linking but I can't figure out how to configure the intent-filter.
For example, suppose my showcase-website URL is this:
http://nolimitsworld.com/
How should I configure the data section of the intent-filter? the host parameter should be?
The question in your subject line is misleading. You do have a public web site, and that's your showcase web site. Use that showcase web site for your intent filter. The backend url only gets called from your android app anyway, so no one needs to know that one but you.
If you still need help figuring it out, please remove the api url from your question, and just show us the url to your showcase web site instead (and only register that one with google).
Now if your other concern is that you wish to index your application without going through any web site at all since most people wouldn't recognize the domain name of your web site anyway, then there is actually no need to do deeping linking and app indexing through google.
You could just get away with indexing the content of your app with a search provider and launching your app with an explicit intent. Google doesn't even need to get involved if you do that.

Android: Sharing app content to a web page

I want my app users to be able to share one of the app pages to others as an external web link as a good marketing strategy, so people who don't have the app can view this page and get excited hopefully to download and register although no one can view the app without signed in, for now I have the app and its web domain I didn't build the website yet, What is the efficient way to do so ?
You can write some code on the server to receive the data, store it and then serve it back (php/mysql or java or anything else). The easiest way to do it is to make a form and to send a request from the android app to simulate a filled-in form.
You could also just publish to Facebook or Google+, there are APIs to do that from and Android app.

Android App - Log into site WITHOUT authentication?

I am working on an Android login app for a service called Netclassroom. There are many for different schools (you can google for one), but I'd prefer not to share the one I'm working on. They're all the same. I want the app to log into the site using given credentials, but I'm running into a problem.
The problem is that it "does not use authentication" and the post request doesn't work? Is it even possible to log into a site like this? By that I mean that I want to enter credentials and get to the member page to parse.
You can make an app that just starts the browser on a particular URL. Here's a post that describes how to do it,
How can I open a URL in Android's web browser from my application?
Further, I think you are asking if the app can circumvent the normal web page login mechanism. Don't do that. There's a login on the web page for a reason. If your app gets around that, then it's decreasing the security that the folks that designed the web page put in place. The correct thing to do is to work with the folks that wrote the website. If they think what you are doing is acceptable, they should make their login cookie longer-lived, or allow the user / pass fields to be stored in the browser, etc.
Again, there's absolutely no rational for making the android app less secure than the browser app.

Can you share any kind of information between a web app and a native android app?

Been researching it for a couple of days, and it seems quite impossible (though highly desired).
I'm Looking for a way to anonymously identify users on our website as they later on run our mobile apps (both iphone and android, actually). At the very basic level, I'd simply generate a UID when someone visits our site, plant a cookie on their device, and then retrieve it later when our app is run. This simple implementation seems to be impossible, because the apps don't get access to the same cookie-base as the browsers (which makes sense, privacy-wise).
Also thought about using HTML5 for this purpose, which doesn't seem to provide any solution.
I Tried going the other way around and using the device id as identifier. However, seems like device id won't be available to the web server when someone visits our site.
There seems to be a perfect disconnect between data accessible from the browser, and accessible from the device itself in native apps.
Has anyone ever found a solution for this scenario?
As of my experience what you seek is almost impossible to achieve for a third party developer.
As you mention, the web browser - by default - doesn't have file-system access from the javascript context (which is where your web app will most likely run) and the cookies infrastructure isn't exposed to the application context.
What you could do is to write a plugin to the browser which might enable this one way or another. But then there is the technicality that the browsers on mobile devices usually don't support plugins and even if they did; you can't force your web app users to install the plugin :-(
Yet another, and if possible even more unlikely solution would be to try to influence the device browser project (WebKit or whatever project you wish to target) community to implement the functionality for you (good luck) :-)
A third solution and perhaps even the ethically more correct one would be to allow the user to identify him/her self optionally when using your device client application. Your client iPhone/Android application would then have a "Identify me as a client user"-button. This would of course require you to allow the user to choose a key (an e-mail address?) of his/her own when entering the web app. You'd likely need to store the key on the web server opposed to the client browser cookies.
Hope this gives you some further ideas.
Cheers
Here are some things I think would work (untested):
You can check if the user has a google account login in the browser and on the phone.
Another way would be to have them log in in both apps
Register a special url-handler which opens your android-app with an user-identifier which gets called by the webapp (see this question)
Edit: I over-read the IPhone part - #1 and #3 those answers are Android only (I think).

Categories

Resources