Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
New Developer
conor_xl
Posts: 18
Registered: ‎11-30-2011
My Device: various

prompting the user to upgrade appworld

I'm using paymentSDK 1.5 to implement in-app purchasing. I'm having trouble making sure the user is always prompted to upgrade appworld if necessary.

 

Problem 1: The included PaymentEngine.isAppworldInstalledAndCorrectVersion() doesn't work. When I called it on a phone running AppWorld 2.0 (sdk 1.5 requires appworld 3), it did not throw an AppWorldUpdateRequried exception as the documentation indicates it should (the function returns void).

 

Problem 2: I ended up writing a workaround to check installed module versions using CodeModuleManager.getModuleVersion(handle). The version check works, and I can prompt the user to install appworld through the browser, or upgrade it by launching appworld using Invocation. The problem is that when appworld opens, the user may have previously selected 'ignore this update'. Is there an Invocation argument method to force appworld to prompt the user? I considered using the browser so the user would be redownloading appworld instead, which is viable. However I can't test the code right now due to:

 

Problem 2b: This isn't a development issue, and I cross-posted in general support, but when I open blackberry.com/appworld/download I'm getting "Error: Invalid manifest or application descriptor. The 'Midlet-Name' attribute is missing"

BlackBerry Development Advisor
oros
Posts: 1,557
Registered: ‎04-12-2010
My Device: BlackBerry Z10

Re: prompting the user to upgrade appworld

Hi there,

 

Can you please confirm the exact model and OS version of the device you're seeing this issue on? Also, is it a physical device or simulator?

 

Ideally I would want to confirm/investigate (1) first, and move to (2) and (2b) if necessary (i.e. this does end up being a bug with the APIs.)

 

Erik Oros

BlackBerry Development Advisor

http://us.blackberry.com/developers/blackberrymessenger/

Erik Oros | @WaterlooErik | eoros@blackberry.com | Developer Issue Tracker

If a reply has answered your question, please click Accept as Solution to help other visitors in the future.
New Developer
conor_xl
Posts: 18
Registered: ‎11-30-2011
My Device: various

Re: prompting the user to upgrade appworld

This was on a physical 9900 with OS7

BlackBerry Development Advisor
oros
Posts: 1,557
Registered: ‎04-12-2010
My Device: BlackBerry Z10

Re: prompting the user to upgrade appworld

I conducted two tests. The first on a 9900 running 7.0.0.261, bundle 1346; the newest Rogers bundle available. The App World version distributed with this build is 2.1.3.21; thus the test is expected to identify a newer version of App World to be required.

 

The sample application I tested:

  1. Compared PaymentEngine.getInstance() against null. If an incorrect App World version is installed, null should be returned.
  2. Invoked PaymentEngine.isAppWorldInstalledAndAtCorrectVersion(). An AppWorldUpdateRequired Exception should be thrown if an incorrect version of App World is installed.

 

The results were:

  1. Not null.
  2. No Exception thrown.

Basically both tests failed. I loaded up a newer OS (7.0.0.384) which still contained App World 2.1.4.13. Testing on this build (simulator available here) resulted in:

  1. Not null.
  2. No Exception thrown.

 

Certainly looks like a bug to me. Can you please report this via the Developer Issue Tracker and our API teams should take it over from there.

 

Erik Oros

BlackBerry Development Advisor


Erik Oros | @WaterlooErik | eoros@blackberry.com | Developer Issue Tracker

If a reply has answered your question, please click Accept as Solution to help other visitors in the future.