blog

Useful links and market url schemas for Android, iOS, BlackBerry

After a few months off from mobile development, I realized I have forgotten all the necessary developer, application and market links for my Android, iOS, BlackBerry applications. Furthermore, it took me some time to gather them all back together as well as market deeplinks for all environments. So, I have decided to put the list together that will help me catch much faster next time.

Android

Developer & Application administration

Market schema details

desktop -> market: https://market.android.com/details?id=<package_name>

phone -> market (detail): market://details?id=<package_name>

phone -> market (search result): market://search?q=pname:<package_name>

iOS

Developer administration

Application administration

Market schema details, more details, podcasts

desktop -> market: http://itunes.apple.com/us/app/onboard/id<applicationid>?mt=8

desktop -> itunes: http://itunes.com/apps/<applicationname>

phone -> appstore (direct): itms-apps://itunes.com/apps/<applicationname>

phone -> appstore (itunes redirect?): itms://itunes.com/apps/<applicationname>

phone -> appstore (old): http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=<applicationid>&mt=8

BlackBerry Playbook

Developer administration, Signed Keys

Application administration

Tablet developers home

desktop -> market: http://appworld.blackberry.com/webstore/content/<applicationid>

tablet -> appworld: http://appworld.blackberry.com/webstore/content/<applicationid>

tablet -> appworld (suggested all over the internet, but does not work for my playbook): http://appworld.blackberry.com/webstore/clientlaunch/<applicationid>

Market schemas (deeplinking) is especially useful to generate QR codes. You can try the following QR codes with your mobile device to access my application directly in application market. Codes were generated by open source project zxing.

Here is a simple zxing wrapper class for generating QR codes to bitmapData

package
{
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.common.ByteMatrix;
    import com.google.zxing.qrcode.QRCodeWriter;
    
    import flash.display.BitmapData;

    public class QRUtils
    {
        public static function generate(link:String, width:uint, height:uint):BitmapData
        {
            var writer:QRCodeWriter = new QRCodeWriter;
            var format:BarcodeFormat = BarcodeFormat.QR_CODE;
            var byteMatrix:ByteMatrix = (writer.encode(link, format, width, height)) as ByteMatrix;
            var bitmapData:BitmapData = new BitmapData(width, height, false, 0x009900);
            for(var y:uint = 0; y < width; y++)
            for(var x:uint = 0; x < height; x++)
                bitmapData.setPixel(x, y, byteMatrix._get(x, y) == 0 ? 0x000000 : 0xFFFFFF);
            return bitmapData;
        }
        
        /**
         * Generates QR code link to Android Market to be accessed by Android Device
         * usage: generateAndroidMarket("air.sk.yoz.remotair", 300, 300);
         */
        public static function generateAndroidMarket(appId:String, width:uint, height:uint):BitmapData
        {
            return generate("market://details?id=" + appId, width, height);
        }
        
        /**
         * Generates QR code link to App Store to be accessed by iPhone/iPad Device
         * usage: generateAppStore("onboard", 300, 300);
         */
        public static function generateAppStore(appName:String, width:uint, height:uint):BitmapData
        {
            return generate("itms-apps://itunes.com/apps/" + appName, width, height);
        }
        
        /**
         * Generates QR code link to App World to be accessed by BlackBerry Playbook device
         * usage: generateAppWorld("21076", 300, 300);
         */
        public static function generateAppWorld(appId:String, width:uint, height:uint):BitmapData
        {
            return generate("http://appworld.blackberry.com/webstore/content/" + appId, width, height);
        }
    }
}

Where to go from here:

zxing – Multi-format 1D/2D barcode image processing library with clients for Android, Java (and actionscript)

QR Code Generator from the ZXing Project

SocialQRCode – Create Social QR Codes in minutes.