I am interested in developing an app for BlackBerry devices, and was wondering if they support the concept of demo or beta releases for their app developers? By this, I mean the ability to deploy a beta or demo version of my app to a limited/restricted audience, such as business partners, customers, external beta testers, etc. Nothing in their Testing and Deployment documentation indicates either way. Thanks in advance!
There isn't a built in beta process in App World for BlackBerry 10, but you can share the debug version of your app with your beta participants. When you create a debug token, you specify which PINs you want it to be valid for. The debug token will only install on a device with one of those PINs, and your app will only install on a device with your debug token on it. The token will only be valid for 30 days. You would have to deploy it with the command line tools and not App World.
This link on the BlackBerry Developer blog explains how to do it: http://devblog.blackberry.com/2012/04/debug-token/
It's for PlayBook, but the same process applies for BlackBerry 10 as well.
I actually don't know if RIM themselves have anything formal, but since I've always released BlackBerry apps on more than just the official App World store, I've used a beta testing system that is independent of RIM. Luckily, the legacy BlackBerry Java platform gives you the freedom to do this, free of charge. (Note that this answer is not about the upcoming BB10 platform!)
Over-the-Air (OTA) Installation
You can have your beta testers install your beta versions, Over-The-Air (OTA). Unlike iOS, for example, you aren't limited to a certain number of test devices, and you don't have to tell RIM what the unique identifiers of all the test devices are.
So, what I do is just put beta versions of my apps on a webserver, and send links to beta testers that allows them to download them. So, you are in control of who gets access. If you need security to limit the beta version to nobody except the official beta testers, then you are certainly free to add password protected logins to your webserver. That works the same way it would for any other secure web content.
If you do this (OTA), here are a few references:
http://www.blackberryinsight.com/2008/07/08/howto-setup-an-apache-webserver-to-deliver-blackberry-ota-applications/
Blackberry over the air installation
https://stackoverflow.com/a/10307074/119114
There are a couple steps to be aware of:
You normally just upload a .cod file to BlackBerry App World. If you want to deploy an app to your own webserver, you also need the .jad file. A JAD file is basically just a descriptor of the app, that can redirect a BlackBerry browser to the .cod file for installation. Your build process is already probably generating the .jad file for you, in the same output directory where it generates your .cod files.
You may need to configure your webserver to properly setup MIME types for files with a .jad extension. If you use Apache, then this is what you would put in your httpd.conf file:
AddType text/vnd.sun.j2me.app-descriptor jad
you may also need to add a MIME type definition for the .cod type, too
AddType application/vnd.rim.cod .cod
If you don't have access to the web server's httpd.conf file, but can place the JAD and COD in your own user directory, then you can configure the MIME types in a local .htaccess file.
Depending on your web server configuration, there may be a couple more steps necessary. Check the OTA links I provided above.
Desktop Installation
Another option is to simply email your beta versions to beta testers, and have them install on their devices using BlackBerry Desktop Software. I don't do this, but it is another way to accomplish the same thing. For this, you use the .cod file, and also the .alx file, which is also generated by the normal BlackBerry build process.
Note that some of the project properties that get put into the .alx or .jad files are things that you don't need to worry about if you only deploy the .cod file directly to BlackBerry App World. If you use one of the options (ALX for Desktop installation, or JAD for OTA), then I would recommend opening up the .alx or .jad file and just inspecting the values for correctness. They're normal text files, and most of the values should be self-explanatory. I believe all settings can be configured from inside your IDE. If you use the BlackBerry Eclipse plugin, right click on your project, select Properties and look around there.
Here are the official RIM docs on all your installation options
its not possible. When you publish your app in app world, it will be available to all users. So you cant set any special conditions like- available only to some people. Else make it in un published mode. Then only users with sandbox id can access your app.
Check the below link for BB 10 Cascades beta 3 release(Preferrable way of development in BB 10)
https://developer.blackberry.com/cascades/
For BB 10,they are plenty of ways for developing the applications ,check the below link
https://developer.blackberry.com/platforms/
Related
First and foremost, I am not the developer behind this application, however I am looking for a solution to this problem as I work at the company that runs the application and I've been tasked to do so. This is not a focused code-line question, but more so an application question.
Background: The application is an educational tool that simulates a physical science laboratory that is programmed using Flash. It is accessed from a Learning Management System (LMS) web browser - i.e. Blackboard, Canvas, etc. - through a link to the object. There are multiple simulated labs that are each their own object.
The main problem: The simulators/labs are able to be accessed on an Android device (phones & tablets) by prompting a download of a .apk file once the link is clicked on that device where they will have a menu that localizes all the simulators. This is to centralize all the simulators into one menu app. Now, when you attempt this process on an iOS device, it's obviously incompatible (.apk vs .ipa). We can create a runnable .ipa file for each individual simulator, but this is not efficient at all when attempting to execute on a mass scale (think district-wide access).
What I want to find out is the most efficient way to adapt the application for iOS since it utilizes Flash. The same process would be desired (click the link and it prompts a download of the menu app that holds the sims/labs).
Thanks in advance.
You need to enrol for apple developer program to distribute builds. Normal subscription consider distribution thought App Store, and it seems not your case. There is Enterprise subscription - it allows to create .ipa, that can be installed on any device, but distributed locally (Ad-Hoc). While assembling Ad-Hoc build in latest Xcode you can select opportunity to create distribution manifest as well (Xcode will provide description how to use it). Then you can upload manifest and iPad file to you file server, and share link to manifest with you user. Opening manifest on iDevice will launch installation of application.
I want to reduce the size of the app to its minimum level. So what all resources i can load from remote after installation? I know I can download images from remote. But can I download libraries or pods from remote after installation? I know we need those files to generate ipa files. Is there any way to setup app with minimum required code, and "load" rest of the code from remote, and is it even possible?
On a different note, I think there should be a framework which checks for existing libraries (like AF Networking) on device, and if it is not there, then downloads it, and all the apps which need it use it. This will help reduce the size of apps considerably.
For assets (images, movies, sounds, etc...) absolutely.
For executable code (libraries, frameworks and pods) absolutely not.
That would directly contradict one of the rules that Apple has in place on apps on the App Store.
Any executable code has to be bundled and submitted to the App Store for approval.
Apple's iOS developer guidelines state:
3.3.2 — An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s).
Currently I use Ripple "Package and Sign" option, and then use Blackberry Desktop Manager (with my blackberry connected to PC via USB) to import then apply the app. What annoys me is the whole process takes min 10mins sometimes 30mins all up.
I try to skip the "Sign" option, ie use "Package" only but when running the app from the device it gives me this error: "Error starting X: Module 'X' attempts to access a secure API".
Questions:
How are you installing the app on blackberry during Dev/Test?
How are you distributing the app for PROD release?
I have heard we can distribute via Wi-Fi or just sending someone a link to download the app, but cant really find much info on it. Any help?
You have to sign Webworks apps that you intend to use on the phone. Test as much as you can in the simulator, since it has the fastest turn around time between compiling and running the application.
Appworld is probably going to be your easiest distribution method if you intend on having users buy your app.
If you want to use the internet/WiFi option, you'll need to have a webserver/site you can upload all the *.cod and *.jad files that are built when you package the app. Then point the people downloading the app to the .jad file and their phone will try to install it for them.
I want to use PhoneGap to sign my BlackBerry App. When I go to add the key files it asks for a CSK file.
I went to https://www.blackberry.com/SignedKeys/ and requested keys.
However the files sent to me were 3 different CSI files(RBB, RCR, RRT).
How and where can I get the CSK and DB file needed to sign apps on PhoneGap?
First you need to install the blackberry SDK (as part of Eclipse if you're using this IDE, otherwise get the standalone java one).
Then follow these steps.
Basically this will store your key locally, then you create a backup of it in the form of a .csk+.db files.
Adobe® PhoneGap™ Build currently provides a default BlackBerry development version for all users, which provides an Over-The-Air install for your PhoneGap applications. However, to distribute your own BlackBerry applications, you will need to register with RIM for your own keys, and then import those keys into PhoneGap Build.
To register, fill out the form on RIM's site , and, once you receive your keys, follow the installation process locally.. using the steps mentioned here
I already have an installation using .alx/.cod files that we use to install our Blackberry application via Desktop Manager, and also an "over the air" install version consisting of a .jad file and .cod files (uncompressed and no larger that 64K as specified by the mime type) that is downloaded from our website.
What format should I upload the application to App World as?
I gather all the files should be in a zip file but apart from that I'm struggling to find much more information on the RIM website
RIM has a document with the exact requirements for a submission bundle for an app for BlackBerry AppWorld:
"Contents of a .zip file for a release"
Look at section 5 b in the App World FAQ.
It mentions among many other things, COD files. The plural is because, you need to submit a COD file for each OS version you are planning to support.