BETA Test with GUID

BETA Test with GUID

imagem de scott-anderson
I didn't see the answer anywhere although I am sure it is there, but when beta testing an app off the store, is the GUID checked as part of the beta test. Our application failed Install and we posted as a beta. It has passed. But we get an error when we try to run it. If we use the Intel app for tesitng the GUID locally it works. Is the GUID check part of what gets check from the Ap store?
12 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.
imagem de BrianDevArch

Scott,

As you likely know, you use the DEBUG GUID when testing locally using ATDS, and your assigned GUID when submitting to the AppUp store.

The validation team does indeed test to ensure that you have inserted the correct GUID as part of their validation process. That being said, the Beta feature of the submission process does not test for this, as its purpose is to allow you to see out defects in your application. Does this help answer you question?

Question, I have an issue and have beating my head against the wall. So if I understand correct.

When Beta testing I should be using the debug ID and not my actual ID?

I am beta testing and the game installs great but it is failing the GUID authorization.

This is beta testing through the appup store on a netbook that does not have atds.

Also, when I run the app with atds on my dev machine I see the guid that is being sent and it matches up with the .net conversion guid I have used based on the numerous articles and forum posts I have seen.

Thanks for the help!

imagem de keyboardP

Hi TnT Gaming,

From what I've gathered, the debug ID is used with the emulator (i.e. for development purposes). It's useful because it allows you to simulate the authorization between your app and the AppUp store.
However, when beta testing, your testers do not have the SDK installed. Therefore, you should be using the GUID supplied in your dashboard. As you mentioned, you need to convert that GUID into a .NET GUID. Are you using a particular wrapper to call the ADP from your .NET application?

Yep I am using the ADP wrapper and it seems to work great. Only issue is its not authorizing when beta testing using the store. I ran ADP to see what GUID is being sent for authorization and it looks correct. Wondering if my conversion was incorrect maybe hmm...

For reference I am testing on a netbook that does not have the SDK installed.

imagem de keyboardP

I kept running into the same problem and I realised I made one silly mistake which was causing the problem.
I was using (as an 'intellisense typo'):

rAuth = adpService.IsAppAuthorized(MyDotNetGuid);

instead of

rAuth = adpService.IsAuthorized(MyDotNetGuid);

Note you should be using 'IsAuthorized' and not 'IsAppAuthorized'. Once I changed that, I didn't have any problems. Can you confirm you're using the IsAuthorized method?

Checked and I am correctly calling IsAuthorized. Gonna read some posts on guid conversions today and see if I am converting it wrong.

imagem de keyboardP

I used this method without any problems.

Using that method and it sends the same GUID I was using before! Ah losing my mind I know there has to be something small I am missing.

Also when I download in Beta test it always goes from 00% to fully installing, is that normal? Like half the time I get an error -1 (general error) other half the time it actually downloads.

Any help would be great thanks.

imagem de keyboardP

Hi,
I've submitted a blog post explaining how I got a .NET application to work with the AppUp Store beta testing aspect. The post is undergoing moderation, but I'll let you know when it's (hopefully! :D) been approved.

I noticed my application was doing that as well during installation, but it didn't seem to cause any problems with the final product. What is the application flow of your authorization?
On a fundamental level, it should be
-Initialize()
-Upon successful initialization, perform IsAuthorized() check
-If the IsAuthorized() method returns ReturnCode.ADP_AUTHORIZED, continue, otherwise throw an error and close the application.
-Close AdpService (when exiting)

That would be great.

using System;
using System.Windows.Forms;
using com.intel.adp;

namespace MyGame
{
public class Program
{
private readonly IAdpService adpWrapper;
private Guid myAppId;

///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
using (Game1 game = new Game1())
{
var program = new Program();
if (!program.InitializeADP())
{
game.Exit();
return;
}
else
game.Run();
}
/*using (Game1 game = new Game1())
{
game.Run();
}*/
}
///
/// This is the default constructor to start a new instance
/// of the .NET example.
///
public Program() : this(new AdpService()) { }

///
/// This constructor uses IoC to allow us to mock the
/// ADP interface for testing.
///
///
public Program(IAdpService adpWrapper)
{
this.adpWrapper = adpWrapper;
}

///
/// Verifies that the ADP SDK or AppUp Store is installed and running
/// on the machine and that it authorizes the app.
///
/// true if the ADP service (ATDS) is running
/// and authorized the application on this machine, else false.
/// In addition to returning a success code, this method will
/// also launch a Message Box if any failure condition is found.
public bool InitializeADP()
{
myAppId = ParseStoreGuid("not making this public but straight paste from my project dashboard");

ReturnCode r = adpWrapper.Initialize();
if (r == ReturnCode.ADP_NOT_AVAILABLE)
{

MessageBox.Show("This app requires the Intel AppStore client which does not appear to be running. Please install the Intel Store client software.", "Sorry!");
return false;
}
if (r != ReturnCode.ADP_SUCCESS)
{
MessageBox.Show("An error occurred communicating with the Intel AppStore client. Please make sure the Intel Store client software is running. If the problem persists you may need to re-install the Store software.", "Sorry!");
return false;
}

ReturnCode r2 = adpWrapper.IsAuthorized(myAppId);
if (r2 == ReturnCode.ADP_NOT_AUTHORIZED)
{
MessageBox.Show("It appears that you are not authorized to use this app. Please re-install this through the Intel Store.", "Sorry!");
return false;
}
if (r2 != ReturnCode.ADP_AUTHORIZED)
{
MessageBox.Show("An error occurred authorizing this app. Please make sure the Intel Store client software is running. If the problem persists you may need to reinstall this app through the Intel Store or re-install the Store software.", "Sorry!");
return false;
}
return true;
}
public Guid ParseStoreGuid(string guidstr)
{
guidstr = guidstr.Replace("0x", "").Replace(" ", "").Replace(",", "").Replace("\r", "").Replace("\n", "");
byte[] buf = new byte[guidstr.Length / 2];
for (int i = 0; i < buf.Length; i++)
Byte.TryParse(guidstr.Substring(i * 2, 2), System.Globalization.NumberStyles.HexNumber, null, out buf[((3 - (i % 4)) + ((i / 4) * 4))]);
return new Guid(buf);
}
}
}

imagem de keyboardP

Which error message is being thrown? Don't forget to rebuild your setup project as well after modifying any code. You may be ending up with the old version still being packaged.

Faça login para deixar um comentário.