我在我的WP7应用程序中添加了一个试用版,但当我在windows phone设备上以发布模式部署该应用程序时,它会运行该应用程序的完整版,而不是试用版。因此,我担心当我提交我的应用程序时,如果人们可以使用我的应用程序的完整版而不需要购买它会怎么样。或者它可能是在提交应用程序或通过这种方式安装到手机之前应该是什么,但我找不到任何有关它的信息。以下是我的代码示例。
在App.xaml中,我将LicenceInformation.IsTrial设置为用于缓存的静态布尔变量。
public static bool IsTrial
{
get;
private set;
}
private void DetermineIsTrial()
{
#if TRIAL
IsTrial = true;
#else
var license = new Microsoft.Phone.Marketplace.LicenseInformation();
IsTrial = license.IsTrial();
#endif
}
private void Application_Launching(object sender, LaunchingEventArgs e)
{
DetermineIsTrial();
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{
DetermineIsTrial();
}然后我通过这种方式检查它是试用版还是完整版。
if(App.IsTrial)
{
//Trial Version
}
else
{
//Full Version
}所以我已经做了所有的试用版和完整版测试,可以提交了,但是当它在发布模式下部署到windows phone设备上时,不是应该运行试用版而不是完整版吗?任何帮助都将不胜感激。
致以问候。
发布于 2012-01-31 21:11:54
这取决于,您是否在发布配置中定义了TRIAL编译变量?
如果是这样,您将需要删除它。
更新
根据How to: Test and Debug your Trial Application for Windows Phone,这是预期的行为
在Windows Phone仿真程序中进行调试或在未锁定的设备上进行测试时,应用程序必须模拟试用模式。在这些通常称为调试模式的情况下,IsTrial方法始终返回false
发布于 2012-01-31 21:27:15
看起来这是在做预期的事情--你的应用程序还没有出现在Marketplace上,所以IsTrial标志默认为false。
参见How to: Implement a Trial Experience in a Silverlight Application for Windows Phone。
真正的许可证信息仅在应用程序发布到Windows Phone Marketplace后才可用。
尝试一个空白的Windows Phone项目,只需在主页中添加以下代码,也会得到false。
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
var license = new Microsoft.Phone.Marketplace.LicenseInformation();
bool isT = license.IsTrial();
}https://stackoverflow.com/questions/9079915
复制相似问题