Test Upgrade | developer.brewmp.com Test Upgrade | developer.brewmp.com

Developer

Test Upgrade

Forums:

Hi,

I want to test the upgrade process for my client. I have my client on the ADS. I made the following test:
1. Manually install my application on the device (using AppLoader)
2. Open BREW Shop from within my application (ISHELL_BrowseURL(“cmshop:UpgradeCheck=”). The item-id is the one of the application that on the ADS
3. Check if there is an update available for my application
4. I got an error from Brew shop.

Is this a valid test? If not, is there a way to check the upgrade process while I have only one application on the ADS?

Thanks,
Goofy

No this is not a valid test. You can do the following:
First you have to install a version from ADS server, then do one more submission to NSTL but this submission would be test mode submission. You would need to talk to NSTL beforehand, just to make sure that everything goes alright.
now run the test.

No this is not a valid test. You can do the following:
First you have to install a version from ADS server, then do one more submission to NSTL but this submission would be test mode submission. You would need to talk to NSTL beforehand, just to make sure that everything goes alright.
now run the test.

The basic idea for the upgrade is to have the older version on the handset and the newer version on the ADS. I have done this test using an application A which is not in ADS. I did a demo version download of the application B-demo. Then did a "cmshop" for the real version B and I could get the price list.(In this case we can get the demo only one time).
I am not sure why do we to install a version either one demo/real version. There should be some link between the itemID of two application? I am not sure.

The basic idea for the upgrade is to have the older version on the handset and the newer version on the ADS. I have done this test using an application A which is not in ADS. I did a demo version download of the application B-demo. Then did a "cmshop" for the real version B and I could get the price list.(In this case we can get the demo only one time).
I am not sure why do we to install a version either one demo/real version. There should be some link between the itemID of two application? I am not sure.

goofy wrote:Hi,
I want to test the upgrade process for my client. I have my client on the ADS. I made the following test:
1. Manually install my application on the device (using AppLoader)
2. Open BREW Shop from within my application (ISHELL_BrowseURL(“cmshop:UpgradeCheck=”). The item-id is the one of the application that on the ADS
3. Check if there is an update available for my application
4. I got an error from Brew shop.
Is this a valid test? If not, is there a way to check the upgrade process while I have only one application on the ADS?
Thanks,
Goofy
No, this is not valid. The download item ID is a 32-bit unsigned integer used to identify application packages within the Application Download Server (ADS). The application ID actually consists of the first 24 bits; the final 8 bits represent the version of the application. Any time an upgrade request is made for a given item ID (cmshop:UpgradeCheck=), the ADS makes a check to verify that the version on the server exceeds the version in the upgrade request – if the application version on the server is less than or equal to the version in the upgrade request, the request will fail.
You can work around this by zeroing out the last 8 bits of the item ID through a logical operation (bitwise AND of the item ID with 0xffffff00).
Secondly, you probably need to make sure that there's an active upgrade price plan for the application on the ADS.
Finally, you will not be able to test the actual download/installation of the upgrade unless you have a valid installation of a previous version of the application on the device. BREW expects that you'll have the previous version installed properly (named using the module ID, etc. just like all other OTA/preloaded apps).

goofy wrote:Hi,
I want to test the upgrade process for my client. I have my client on the ADS. I made the following test:
1. Manually install my application on the device (using AppLoader)
2. Open BREW Shop from within my application (ISHELL_BrowseURL(“cmshop:UpgradeCheck=”). The item-id is the one of the application that on the ADS
3. Check if there is an update available for my application
4. I got an error from Brew shop.
Is this a valid test? If not, is there a way to check the upgrade process while I have only one application on the ADS?
Thanks,
Goofy
No, this is not valid. The download item ID is a 32-bit unsigned integer used to identify application packages within the Application Download Server (ADS). The application ID actually consists of the first 24 bits; the final 8 bits represent the version of the application. Any time an upgrade request is made for a given item ID (cmshop:UpgradeCheck=), the ADS makes a check to verify that the version on the server exceeds the version in the upgrade request – if the application version on the server is less than or equal to the version in the upgrade request, the request will fail.
You can work around this by zeroing out the last 8 bits of the item ID through a logical operation (bitwise AND of the item ID with 0xffffff00).
Secondly, you probably need to make sure that there's an active upgrade price plan for the application on the ADS.
Finally, you will not be able to test the actual download/installation of the upgrade unless you have a valid installation of a previous version of the application on the device. BREW expects that you'll have the previous version installed properly (named using the module ID, etc. just like all other OTA/preloaded apps).

Thanks you all for your responses
goofy :)

Thanks you all for your responses
goofy :)

mohlendo wrote:
You can work around this by zeroing out the last 8 bits of the item ID through a logical operation (bitwise AND of the item ID with 0xffffff00).
Max, just want to confirm, is it upper 8 bits or lower 8 bits (unless here you have indicated little endian way). May be I am wrong, but my impression was that it is upper 8 bits and that's the reason production class id generated by BREW generators always has upper 8 bits zero.

mohlendo wrote:
You can work around this by zeroing out the last 8 bits of the item ID through a logical operation (bitwise AND of the item ID with 0xffffff00).
Max, just want to confirm, is it upper 8 bits or lower 8 bits (unless here you have indicated little endian way). May be I am wrong, but my impression was that it is upper 8 bits and that's the reason production class id generated by BREW generators always has upper 8 bits zero.

Lower 8 bits.

Lower 8 bits.