Amazon Mobile Ads ANE

As I’m going to release free versions of Solitaire and Mahjong games on Amazon AppStore, I’ve decided to use Amazon Mobile Ads (+ AdMob of course, Amazon Mobile Ads only work in USA, I guess).
And, as these games are made with Adobe Air, I had made another ANE…
Here it is: Amazon Mobile Ads ANE, available on Github along with source code.


Publish Adobe Air app to Mac App Store

I have mainly used this guide, it is in Russian and written for Air3.6, also it was updated with my comment about Air3.8.
There is very similar guide in english, but also for Air3.6: http://pigsels.com/2012/04/air-app-store-publishing-guide/

The differences for Air3.8 (maybe for Air3.9 as well) are:
– Following three line are not required anymore:

1
2
3
codesign -f -v -s APPLICATION_CERTIFICATE bundle.app/Contents/Frameworks/Adobe\ AIR.framework/Versions/1.0/Resources/adobecp.plugin
codesign -f -v -s APPLICATION_CERTIFICATE bundle.app
codesign -f -v -s --entitlements entitlements.plist bundle.app/

– Instead you need to use this:

codesign -f -v -s APPLICATION_CERTIFICATE --entitlements entitlements.plist bundle.app/

Some extra things, that might be useful:
– If your app connects to the internet, you need to add the following lines to your entitlements.plist:

<key>com.apple.security.network.client</key>
<true/>

All the possible sandbox keys could be found here: https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/EnablingAppSandbox.html#//apple_ref/doc/uid/TP40011195-CH4-SW1

– You can verify, that your app is correctly signed like this:

codesign -v --verify bundle.app

– Take note, that icons file’s name, generated by Air is “Icon.icns” and not “icons.incs”, so you may end up having two files, just mention correct one in your Info.plist.

– Launch your app and check that name in top menu matches the title of the app. In my case they were different, thus game was rejected. See screenshot.
mahjong_mac




Samsung Apps discount

While Samsung’s developer portal is somewhat buggy, their discount feature worked great for All-in-One Mahjong game.
The game is #2 (or #3, depends on country) in Top paid right now, just a week after the discount.
sam_mj_no2

I had similar positive results with Amazon FAD for both All-in-One Solitaire & All-in-One Mahjong games.
Even though Solitaire had some critical bugs and thus received a lot of negative reviews, I had an increase in sales afterwards.



Это не баг, это фича!

Безумный dashboard от самсунга присылает 100+ писем, когда начинается дискаунт на приложение, и столько же, когда заканчивается.
Когда это случилось первый раз, я написал в саппорт, и мне ответили. что пофиксят.
Во второй раз саппорт резко изменил своё мнение и сказала, что это не баг, а фича! Мол, во скольких странах дискаунт, столько и писем, и ничего что письма все одинаковые и в них указаны все страны сразу.
С нетерпением жду окончанию дискаунта!
samsung_emails


Ежевика

bb
Cкоро будет так, захочешь новый телефон купить, а на выбор будет либо гламурный ширпотреб от эппла, либо просто ширпотреб от какого-нибудь самсунга.
http://crackberry.com/blackberry-going-private-what-does-it-all-mean-now-it-s-official

И напоследок:
http://www.siliconrus.com/2013/09/apple-store-culture/






Node.js

As a back-end for Solitaire and Mahjong games I’m using a separate VPS with Node.js, as a web server, and MySQL database, which I’m hoping to switch to MariaDB some day.
I really like Node.js, it can handle thousands of connections at once on a cheap VPS for ~$10/month.
On July 12 2013, All-in-One Mahjong was promoted on Amazon App Store as a Free App of the Day, and game had ~100k active players a day. But Node.js had absolutely no problems with that, even 512MB of memory was enough.

I’m very new to Node.js, so here are some links, that helped me to know it better:
Manual and Docs: http://nodejs.org/api/
Node.js driver for MySQL: https://npmjs.org/package/mysql
Some tuts: http://net.tutsplus.com/tutorials/javascript-ajax/node-js-for-beginners/
Forever: http://blog.nodejitsu.com/keep-a-nodejs-server-up-with-forever



DISCLAIMER: The content in this blog represents the opinion of the author. No information here should be used for any purpose except for entertainment.