Forum Discussion
Claytonious
8 years agoProtege
Rejection due to "It appears that your app does not support entitlement checks..."
Our app is being rejected due to this failure in technical review: "It appears that your app does not support entitlement checks to prevent unauthorized use of your content. Documentation on how to add entitlement checks can be found here: https://developer.oculus.com/documentation/platform/latest/concepts/pgsg-get-started-with-sdk/"
However, we *do* perform entitlement checks, exactly as that documentation describes. This happens immediately when the game starts:
However, we *do* perform entitlement checks, exactly as that documentation describes. This happens immediately when the game starts:
void Start()This seems to be exactly what the docs are saying to do, doesn't it? Grateful for any ideas or feedback on this issue... thanks!
{
Debug.Log("TCAuth: Initializing Core...");
Core.Initialize();
Debug.Log("TCAuth: Initialized Core. Checking entitlement...");
Entitlements.IsUserEntitledToApplication().OnComplete(HandleEntitlement);
}
private void HandleEntitlement(Message msg)
{
Debug.Log("TCAuth: Handling entitlement. Error == " + msg.IsError);
if (msg.IsError)
{
Debug.LogError("TCAuth: Not entitled to app");
#if !UNITY_EDITOR
UnityEngine.Application.Quit();
#endif
}
else
{
Debug.Log("TCAuth: Getting logged in user...");
Users.GetLoggedInUser().OnComplete(HandleGetUser);
}
}
9 Replies
Replies have been turned off for this discussion
- palii90Protege@Claytonious
Try to use the async call for the initialization maybe it helps (it worked for me). If you log out from the Oculus app on the test device and start your app the entitlement check will fail so you can test it. - sethwkleinExplorerThis post looks relevant: https://forums.oculusvr.com/developer/discussion/59152/unable-to-get-entitlement-in-unity-working
- ClaytoniousProtege@palii90, thanks for that tip about testing by logging out of Oculus home. This revealed that Platform.Core.Initialize() was throwing an exception. This is supposedly fixed in the latest platform SDK, so I'm trying that now, but other users have reported that they're just catching that exception and treating it as unauthorized, so I'll fallback on that if this doesn't work.
- ClaytoniousProtegeUpdating to the latest platform SDK (1.19) made no difference. (And Utilities 1.20). Core.Initialize() still throws an exception when logged out of Oculus. So, trying with the catch, then...
- AnonymousI'm having a similar issue as my entitlement checks are failing. Let me know if you figure out how to fix this.
- ClaytoniousProtegeAdding an exception handler for the call to Core.Initialize() allowed us to pass review.
- AnonymousSorry for the confusion but can you elaborate on how you did this? Going off of the script you used above I'm finding the entitlement check always passes even when the app id is wrong. Thanks again for the help.
void Start()
{
Debug.Log("TCAuth: Initializing Core...");
Core.Initialize("0234");
Debug.Log("TCAuth: Initialized Core. Checking entitlement...");
Entitlements.IsUserEntitledToApplication().OnComplete(HandleEntitlement);
}
private void HandleEntitlement(Message msg)
{
Debug.Log("TCAuth: Handling entitlement. Error == " + msg.IsError);
if (msg.IsError)
{
Debug.LogError("TCAuth: Not entitled to app");
#if !UNITY_EDITOR
UnityEngine.Application.Quit();
#endif
}
else
{
Debug.Log("TCAuth: entitled");
}
} - ClaytoniousProtegeOne difference is that I'm not passing the App Id to the Initialize call, but letting it populate from the OculusSettings.asset instead. The only change I made was to try/catch on the call to Initialize, like this:
try
{
Core.Initialize();
}
catch(Exception ex)
{
Debug.LogError("TCAUTH: Failed to init Core - assuming user is unauthorized...");
UnityEngine.Application.Quit(); // Or whatever your REAL handling is...
} - AnonymousThanks!
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device