We have received lots of request from developers that they want the ability to pop up the Intel AppUp® center with a particular app already displayed. This would greatly assist with their marketing strategy and encourage customers to purchase more of their apps.
One of the new features of the Intel AppUp® SDK and the Intel AppUp center is the ability to allow in-app upgrades.
Below I explain how to utilize this new feature. This new in-app upgrade will be available in Java*, .NET* and C++. Essentially, you will need to add a few lines of code to invoke the API call.
Once the Intel AppUp center pops up, the customer will be able to see your desired app and they can purchase the app.
Required Prep Work
- Join the Intel® Developer Zone as an Intel AppUp® developer: http://software.intel.com/
- Install the latest SDK into your machine.
- Integrate the SDK into your application.
- Download the latest version of the Intel AppUp® SDK (Java*, .NET*, C++): http://software.intel.com/en-us/appup/sdksandtools
- Download the latest version of the Intel AppUp® center: http://www.appup.com/applications/index
- A licensed copy of Microsoft Visual Studio* 2008 and/or a Java* development environment. I have used C++ in this tutorial, but the same call: Upgrade() is used in .NET*, Java* and C++.
In my application, I have added code to respond to the Buy Full Version button. As you can see from the diagram, there are three key lines.
- The first highlighted line is the GUID to the app that I want to pop up in the Intel AppUp center.
- The second highlighted code is where I pass in the GUID and calls the Intel AppUp center to display.
- I have already created an instance of Application called app earlier in my code. This allows me to add the line Upgrade() API call, the parameter is the GUID of the app you want to show in the store.
- The Upgrade() call is placed inside a try-catch in the situation the call fails.
- If the Upgrade() call is sucessful, the Intel AppUp center will display and show the app. As I mentioned ealier, the calculator it the calling app and the GUID below is the app that I want to display in the store when it pops up.
- In the third highlighted code, if the Upgrade() fails, add an error message to inform the user. It would be poor user experience to simply have the button do nothing and not respond in the event of a failure. We have added a new error return value called:ADP_INCOMPATIBLE_VERSION. If the user is currently using an old version of the Intel AppUp center, they need to get the latest version which supports in-app upgrade. I highly recommend popping up an error message with the blew text.
If the user calls an app that doesn't exist in the store yet still has the most updated version of the Intel AppUp center, the store will actually through the error. Your code will not have to trap that.
If you are running the debugger at this time, you will see the message below message box informing the developer what is going to happen. The release version of the app WILL NOT display this box, this is just for debugging. I’m also using a debug GUID for testing purposes.
If the GUIDS are correct, your netbook will automatically pop-up the Intel AppUp center with the desired app already showing.
Additional Developer Notes
- If your app is free/paid, the Upgrade feature will still pop up the correct app if the correct GUID is used. The feature doesn't care if the app to be shown is paid or free.
- You can make multiple calls to the Upgrade call in your app. So your app can be linked to several other apps.
- If two apps are submitted where App A has an upgrade to App B, both apps must be approved for upgrading to work correctly. If the App B is still in process, App A will not be approved until the second app is done and approved as well. Essentially, an in-app upgrade call can only work if the referrenced app is published.