Last week I talked about the Chrome Web Store being another good high-traffic outlet for your PhoneGap HTML5 codebase.
One of the first issues I encountered with my Packaged App in this new outlet was with advertising. The ads displayed just fine, as they do on the main website, except for one thing - for every click, the earnings were always $0.00. That's not good. After an exhaustive search, I came across this promising answer, but still, $0.00 every time.
The actual problem was that I was using a Packaged App, which essentially is your entire codebase running locally on the user's machine. It ends up that ads within a Packaged App don't have a "legitimate" source URL, according to AdSense, since it's really just local code on the user's machine. The Chrome Web Store's alternative to a Packaged app is a Hosted App - which is a link to the URL of your application.
The Hosted App solution is not only appealing as a valid source to display ads, but from a maintainability standpoint I now have one less place to deploy to. All I need now for deployment is my manifest file and app icons - the Web Store app just piggybacks on my already-existing website.
Here's a sample manifest file for a hosted app:
So the quest for a solution to the AdSense problem sent me down the path of investigating Chrome Web Store "Hosted Apps", which not only resolved my advertising issue, but ended up being a better solution in general for my needs.
If you're debating which type of app would work best for you, here is a good comparison of Hosted vs Packaged apps
One of the first issues I encountered with my Packaged App in this new outlet was with advertising. The ads displayed just fine, as they do on the main website, except for one thing - for every click, the earnings were always $0.00. That's not good. After an exhaustive search, I came across this promising answer, but still, $0.00 every time.
The actual problem was that I was using a Packaged App, which essentially is your entire codebase running locally on the user's machine. It ends up that ads within a Packaged App don't have a "legitimate" source URL, according to AdSense, since it's really just local code on the user's machine. The Chrome Web Store's alternative to a Packaged app is a Hosted App - which is a link to the URL of your application.
The Hosted App solution is not only appealing as a valid source to display ads, but from a maintainability standpoint I now have one less place to deploy to. All I need now for deployment is my manifest file and app icons - the Web Store app just piggybacks on my already-existing website.
Here's a sample manifest file for a hosted app:
{
"name": "My Cool App",
"description": "This is a test of the Chrome Web Store",
"version": "1.0.0.1",
"app": {
"urls": [
"*://www.yourwebsite.com /mail/",
"*://www.yourwebsite.com /otherarea/"
],
"launch": {
"web_url": "http://www.yourwebsite.com/"
}
},
"icons": {
"128": "icon_128.png"
},
"permissions": [
"unlimitedStorage",
"notifications"
]
}
Note that you need to specify a launch URL, as well as any other non-asset URLs you'll be using. And you will need to verify that you are the owner of this site using Google's Webmaster Tools.So the quest for a solution to the AdSense problem sent me down the path of investigating Chrome Web Store "Hosted Apps", which not only resolved my advertising issue, but ended up being a better solution in general for my needs.
If you're debating which type of app would work best for you, here is a good comparison of Hosted vs Packaged apps
No comments:
Post a Comment