This is a migrated thread and some comments may be shown as answers.

RadTrialApplicationReminder

8 Answers 110 Views
TrialFeatureReminder
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Simon
Top achievements
Rank 1
Simon asked on 18 Jun 2012, 03:00 PM
I've Implemented the RadTrialApplicationReminder control in my app however on Clicking "OK" in the messagebox does not launch the marketplace task for the app.

I tried hooking up to the "ReminderClosed" event but this is never fired.

Any ideas?

I've implemented it exactly as was detailed in the documentation link below
http://www.telerik.com/help/windows-phone/trialreminders-trialapplicationreminder.html 
Using the latest Q2 2012 release.

8 Answers, 1 is accepted

Sort by
0
Simon
Top achievements
Rank 1
answered on 19 Jun 2012, 04:30 PM
Just confirmed the issue exists in a clean brand new project by using the Telerik Application Template with all options enabled including RadApplicationTrial.

Clicking no on the trial reminder works as expected and testing for the Trial State returns false for fail and true for pass
Clicking Yes on the trial reminder does nothing

P.S.
Not clear in the documentation if the RadApplicationTrial also checks the marketplace Trial state or not, could this be confirmed and update the docs if poss. (I would expect it to)
0
Lancelot
Top achievements
Rank 1
answered on 19 Jun 2012, 05:25 PM
Hi Simon,

I have reproduced this issue and confirmed is is present on a clean templated install. You can submit the issue directly to the telerik Public Issue Tracker (P.I.T.) system. It is a direct line to the engineering team. This link will bring you to the chart view, just drop down the product box and select Windows Phone.

Select the left arrow next to Activity Chart and then slect the New Suggestion box. You can add any issue or feature request to the list and they get it directly, you can also vote on items.

In the meantime I am going to create a workaround and I'll post it here shortly.

Lancelot
0
Valentin.Stoychev
Telerik team
answered on 20 Jun 2012, 10:55 AM
Hello,

The fix for this is included in the today's internal build - please download it from your account. The download will be available later today.

Regards, Valentin.Stoychev
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

0
Simon
Top achievements
Rank 1
answered on 20 Jun 2012, 11:39 AM
Thanks for the info, will check the internal builds download page and test later

Appreciated
Rgds
Simon
@DDreaper 
0
Simon
Top achievements
Rank 1
answered on 21 Jun 2012, 02:45 PM
Tested the Internal build 2012.2.620 (noted the release notes weren't updated, still states build 607 and nothing about the RadTrialApplicationReminder)

Built the Template app again using the new build and noticed a few things:
  • DialogClosed event now fires as expected so can hook into it
  • Marketplace Detail task still does not fire

Now I don't know if the latter is due to a check if the app is running  in the emulator or isn't a marketplace app, but if I simulate what I expect with the following:

void trialReminder_ReminderClosed(object sender, ReminderClosedEventArgs e)
{
    Debug.WriteLine(string.Format("Trial Dialog CLosed, result - {0}",e.MessageBoxEventArgs.ButtonIndex.ToString()));
    if (e.MessageBoxEventArgs.ButtonIndex < 1)
    {
        try
        {
            MarketplaceDetailTask mp = new MarketplaceDetailTask();
            mp.Show();
        }
        catch
        {
            Debug.WriteLine("Error caused by Mktplace task");
        }
    }
}

Then this launches the marketplace detail task as expected.  Granted it won't actually work and causes a Marketplace error, but I can see it making the request.

I can work around it using the above but obviously not as ideal as it just working out of the box.

Any ideas?  Is it just a feature or should I see the marketplacedetailtask?
0
Lancelot
Top achievements
Rank 1
answered on 21 Jun 2012, 03:06 PM
Hi Simon,

It seems you are trying to catch the error while inside the app, that won't happen because the Task method is actually working properly.

When a MarketplaceDetailTask is performed it sends a search query using your app's product ID to the MP.  One thing to really take notice of is that your app (if it hasn't been published yet) doesn't have a product Id yet. The one that Visual Studio assigns is local. Have you even noticed that while working on your next version of an app you can see both in your app list? The reason you don't overwrite the published one is because it has a different product ID.

AppHub removes the metadata when you submit it. First it checks for Capabilities the app uses and then strips out the rest, next it replaces the product ID with a new AppHub product Id. Open the WMAppManifest.xml file in the app. You'll see this...

<App xmlns="" ProductID="{Visual Studio Assigned ID}" Title="Your App Name" RuntimeType="Silverlight"
       Version="1.0.0.0" Genre="apps.normal" Author="Simon" Description="Sample description" Publisher="DDReaper">


The product ID is different and will not direct your app to the proper marketplace location (even if it already published because the IDs are different).


So now back to your original attempt at catching the error, what is it your trying to catch? When the method navigates to the MP, you should see an error thats starts with an 8. This tells you the Id was not a valid ID.  You can however override the ID that gets sent with the query. In the code below, you can see that you explicitly set the product ID. If your app is already published, insert the real product ID.
 
MarketplaceDetailTask task = new MarketplaceDetailTask();
task.ContentType = MarketplaceContentType.Applications;
task.ContentIdentifier = "AppHub product ID goes in here";
task.Show();


To find the app's real product ID, go to your app in AppHub and switch over to the description view. Scroll down past the description and you'll see the product Id in the left column.

As long as you have this ID set properly, the method will not fail and you wont need a Catch clause (for good coding practices you could just keep the messagebox asking the user to try again that you couldn't connect to the marketplace, but the MP already has that built in).

Good Luck,
Lancelot




0
Simon
Top achievements
Rank 1
answered on 21 Jun 2012, 03:51 PM
Thanks for the info and it may explain some things.

Bascially, If I add the RadTrialApplicationReminder to my app as documented, when testing using the "SimulateTrialForTests" option, clicking on the "OK" button does absolutely nothing, no dialog or confirmation or anything.

So first question is this the expected behaviour as it would be nice for it to launch the marketplace detail task (for the app) even if it is going to error.  Just testing my app in the beta marketplace now to see if it will behave any different.

Clicking on "No" works as expected I guess, as the documentation shows you have to handle failed trials manually by testing the TrialApplicatonReminder for "Clicking on "No" works as expected I guess, as the documentation shows you have to handle failed trials manually by testing the TrialApplicatonReminder for "IsTrialExpired" and disable accordingly (still a shame their is no Exit on Trial fail option in WP7 :D)
0
Valentin.Stoychev
Telerik team
answered on 25 Jun 2012, 08:58 AM
Hi,

Just to update everyone on the forum that this has been fixed and if you experience the same problem - download the latest internal version from your account. Please let us know if you still have any issues. 

Kind regards,
Valentin.Stoychev
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

Tags
TrialFeatureReminder
Asked by
Simon
Top achievements
Rank 1
Answers by
Simon
Top achievements
Rank 1
Lancelot
Top achievements
Rank 1
Valentin.Stoychev
Telerik team
Share this question
or