Jump to content

Viveport SDK issues - What am I doing wrong?


Hollowhead

Recommended Posts

I am trying to submit an app to VivePort , for the Vive Focus., which the end-user must pay for, and this apparently requires some sort of DRM implementation, but the app is being rejected. I am not receiving any error messages in logcat, and I am following the instructions here:

 

https://developer.viveport.com/documents/sdk/en/api_drm.html

 

I updated the andoid manifest, and put in my scene a gameobject with the script which is exactly the same as "Detailed Example in Unity" but the app is still being declined.

 

Supposedly the app is not supposed to start if this is done correctly, but it fully loads up on my Vive Focus.

 

Here is a brief excerpt from the logcat file. "VivePortDRMChecker" is the name of the template file in my case:


04-04 11:55:01.254 4709 4729 E Unity : void Start() -- EXECUTED (public class ViveportDemo : MonoBehaviour)
04-04 11:55:01.254 4709 4729 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
04-04 11:55:01.254 4709 4729 E Unity : UnityEngine.Logger:Log(LogType, Object)
04-04 11:55:01.254 4709 4729 E Unity : VivePortDRMChecker:Start()
04-04 11:55:01.254 4709 4729 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
04-04 11:55:01.284 4709 4729 E Unity : private static void InitStatusHandler(int nResult) -- EXECUTED
04-04 11:55:01.284 4709 4729 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
04-04 11:55:01.284 4709 4729 E Unity : UnityEngine.Logger:Log(LogType, Object)
04-04 11:55:01.284 4709 4729 E Unity : VivePortDRMChecker:InitStatusHandler(Int32)
04-04 11:55:01.284 4709 4729 E Unity : Viveport.Internal.AndroidPluginCallback:onResult(Int32, String)
04-04 11:55:01.284 4709 4729 E Unity : System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
04-04 11:55:01.284 4709 4729 E Unity : System.Reflection.MethodBase:Invoke(Object, Object[])
04-04 11:55:01.284 4709 4729 E Unity : UnityEngine.AndroidJavaProxy:Invoke(String, Object[])
04-04 11:55:01.284 4709 4729 E Unity : UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr)
04-04 11:55:01.284 4709 4729 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
04-04 11:55:01.288 4709 4729 E Unity : Viveport.Core.Logger.Log -- EXECUTED
04-04 11:55:01.288 4709 4729 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
04-04 11:55:01.288 4709 4729 E Unity : UnityEngine.Logger:Log(LogType, Object)
04-04 11:55:01.288 4709 4729 E Unity : VivePortDRMChecker:InitStatusHandler(Int32)
04-04 11:55:01.288 4709 4729 E Unity : Viveport.Internal.AndroidPluginCallback:onResult(Int32, String)
04-04 11:55:01.288 4709 4729 E Unity : System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
04-04 11:55:01.288 4709 4729 E Unity : System.Reflection.MethodBase:Invoke(Object, Object[])
04-04 11:55:01.288 4709 4729 E Unity : UnityEngine.AndroidJavaProxy:Invoke(String, Object[])
04-04 11:55:01.288 4709 4729 E Unity : UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr)
04-04 11:55:01.288 4709 4729 E Unity :
04-04 11:55:01.288 4709 4729 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
04-04 11:55:01.288 4709 4729 E Unity :
04-04 11:55:01.319 1400 2184 W ActivityManager: Unable to start service Intent { cmp=com.htc.vpc/com.htc.store.licensing.LicensingService } U=0: not found
04-04 11:55:01.320 1400 2213 W ActivityManager: Unable to start service Intent { cmp=com.htc.vpc/com.htc.store.licensing.LicensingService } U=0: not found
04-04 11:55:01.328 1400 1797 W ActivityManager: Unable to start service Intent { cmp=com.htc.vpc.odm/com.htc.store.licensing.LicensingService } U=0: not found
04-04 11:55:01.328 1400 4771 W ActivityManager: Unable to start service Intent { cmp=com.htc.vpc.odm/com.htc.store.licensing.LicensingService } U=0: not found
04-04 11:55:01.349 1400 1672 W ActivityManager: Unable to start service Intent { cmp=com.htc.viveport.store/com.htc.store.licensing.LicensingService } U=0: not found
04-04 11:55:01.349 1400 2184 W ActivityManager: Unable to start service Intent { cmp=com.htc.viveport.store/com.htc.store.licensing.LicensingService } U=0: not found
04-04 11:55:01.351 4709 4729 E Unity : Api.GetLicense(new MyLicenseChecker(), VIVEPORT_ID, VIVEPORT_KEY); -- EXECUTED
04-04 11:55:01.351 4709 4729 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
04-04 11:55:01.351 4709 4729 E Unity : UnityEngine.Logger:Log(LogType, Object)
04-04 11:55:01.351 4709 4729 E Unity : VivePortDRMChecker:InitStatusHandler(Int32)
04-04 11:55:01.351 4709 4729 E Unity : Viveport.Internal.AndroidPluginCallback:onResult(Int32, String)
04-04 11:55:01.351 4709 4729 E Unity : System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
04-04 11:55:01.351 4709 4729 E Unity : System.Reflection.MethodBase:Invoke(Object, Object[])
04-04 11:55:01.351 4709 4729 E Unity : UnityEngine.AndroidJavaProxy:Invoke(String, Object[])
04-04 11:55:01.351 4709 4729 E Unity : UnityEngine._AndroidJNIHelper:InvokeJavaProxyMethod(AndroidJavaProxy, IntPtr, IntPtr)
04-04 11:55:01.351 4709 4729 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
04-04 11:55:01.351 4709 4729 E Unity : Api.Init(InitStatusHandler, VIVEPORT_ID); -- EXECUTED
04-04 11:55:01.351 4709 4729 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
04-04 11:55:01.351 4709 4729 E Unity : UnityEngine.Logger:Log(LogType, Object)
04-04 11:55:01.351 4709 4729 E Unity :
04-04 11:55:01.351 4709 4729 E Unity : (Filename: ./Runtime/Export/Debug.bindings.h Line: 43)
04-04 11:55:01.811 4709 4729 E Unity : Material doesn't have a texture property '_MainTex'
04-04 11:55:01.811 4709 4729 E Unity : WaveVR_ControllerLoader:verifyControllerPrefab(GameObject)
04-04 11:55:01.811 4709 4729 E Unity : WaveVR_ControllerLoader:verifyControllerPrefab(GameObject)
04-04 11:55:01.811 4709 4729 E Unity : WaveVR_ControllerLoader:verifyControllerPrefab(GameObject)
04-04 11:55:01.811 4709 4729 E Unity : WaveVR_ControllerLoader:tryLoadModelFromRuntime(String, String)
04-04 11:55:01.811 4709 4729 E Unity : WaveVR_ControllerLoader:onLoadController(WVR_DeviceType)
04-04 11:55:01.811 4709 4729 E Unity : WaveVR_ControllerLoader:onDeviceConnected(Object[])
04-04 11:55:01.811 4709 4729 E Unity : Event:Send(String, Object[])
04-04 11:55:01.811 4709 4729 E Unity : WaveVR:UpdatePoses(WVR_PoseOriginModel, Boolean)
04-04 11:55:01.811 4709 4729 E Unity : <RenderLoop>c__Iterator0:MoveNext()
04-04 11:55:01.811 4709 4729 E Unity : UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
04-04 11:55:01.811 4709 4729 E Unity : [ line 1220]
04-04 11:55:01.811 4709 4729 E Unity : (Filename: Line: 1220)
04-04 11:55:01.955 4709 4729 E Unity : The AssetBundle 'Unity' can't be loaded because another AssetBundle with the same files is already loaded.
04-04 11:55:01.955 4709 4729 E Unity : UnityEngine.AssetBundle:LoadFromFile(String)
04-04 11:55:01.955 4709 4729 E Unity : WaveVR_ControllerLoader:tryLoadModelFromRuntime(String, String)
04-04 11:55:01.955 4709 4729 E Unity : WaveVR_ControllerLoader:onLoadController(WVR_DeviceType)
04-04 11:55:01.955 4709 4729 E Unity : UnityEngine.GameObject:SendMessage(String, Object)
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.VRModuleManagement.RenderModelCreator:UpdateRenderModel()
04-04 11:55:01.955 4709 4729 E Unity : UnityEngine.Events.UnityAction`2:Invoke(T0, T1)
04-04 11:55:01.955 4709 4729 E Unity : UnityEngine.Events.UnityAction`2:Invoke(T0, T1)
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.Vive.Map:InternalMapping(Int32, UInt32)
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.Vive.HandRoleHandler:MappingLeftRightHands()
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.Vive.HandRoleHandler:OnConnectedDeviceChanged(UInt32, VRModuleDeviceClass, String, Boolean)
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.Vive.Map:OnConnectedDeviceChanged(UInt32, VRModuleDeviceClass, String, Boolean)
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.Vive.ViveRole:OnDeviceConnected(UInt32, Boolean)
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.VRModuleManagement.VRModule:InvokeDeviceConnectedEvent(UInt32, Boolean)
04-04 11:55:01.955 4709 4729 E Unity : HTC.UnityPlugin.VRModuleManagement.VRModule:SendAllDevi
04-04 11:55:01.961 4709 4729 E Unity : The AssetBundle 'Unity' can't be loaded because another AssetBundle with the same files is already loaded.
04-04 11:55:01.961 4709 4729 E Unity : UnityEngine.AssetBundle:LoadFromFile(String)
04-04 11:55:01.961 4709 4729 E Unity : WaveVR_ControllerLoader:tryLoadModelFromRuntime(String, String)
04-04 11:55:01.961 4709 4729 E Unity : WaveVR_ControllerLoader:onLoadController(WVR_DeviceType)
04-04 11:55:01.961 4709 4729 E Unity : UnityEngine.GameObject:SendMessage(String, Object)
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.VRModuleManagement.RenderModelCreator:UpdateRenderModel()
04-04 11:55:01.961 4709 4729 E Unity : UnityEngine.Events.UnityAction`2:Invoke(T0, T1)
04-04 11:55:01.961 4709 4729 E Unity : UnityEngine.Events.UnityAction`2:Invoke(T0, T1)
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.Vive.Map:InternalMapping(Int32, UInt32)
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.Vive.HandRoleHandler:MappingLeftRightHands()
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.Vive.HandRoleHandler:OnConnectedDeviceChanged(UInt32, VRModuleDeviceClass, String, Boolean)
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.Vive.Map:OnConnectedDeviceChanged(UInt32, VRModuleDeviceClass, String, Boolean)
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.Vive.ViveRole:OnDeviceConnected(UInt32, Boolean)
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.VRModuleManagement.VRModule:InvokeDeviceConnectedEvent(UInt32, Boolean)
04-04 11:55:01.961 4709 4729 E Unity : HTC.UnityPlugin.VRModuleManagement.VRModule:SendAllDevi
04-04 11:55:02.478 4709 4849 E Unity : MyLicenseChecker > public override void OnSuccess -- EXECUTED
04-04 11:55:02.478 4709 4849 E Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
04-04 11:55:02.478 4709 4849 E Unity : UnityEngine.Logger:Log(LogType, Object)
04-04 11:55:02.478 4709 4849 E Unity : MyLicenseChecker:OnSuccess(Int64, Int64, Int32, Boolean)

 

 

Link to comment
Share on other sites

There is one thing I noticed and that is the set of lines involving the following: Unable to start service Intent { cmp=com.htc.vpc/com.htc.store.licensing.LicensingService } U=0: not found

 

I do not understand this aspect of the logcat. Could it be related to my problem?

Link to comment
Share on other sites

Yaking

 

I sent you a longer logcat file directly to your e-mail. One of your associates already forwarded my problem to you.

 

I can't find onfailure executing anywhere in my logcat file before I took off the HMD.

 

I will do more testing tomorrow.

 

When is onfailure supposed to execute?

 

Link to comment
Share on other sites

,


 


Here is more accurate log information from my most recent APK.


 


I didn't know how to make Viveport.Core.Logger.log messages appear in adb logcat previously.


 


I have not heard from anyone at HTC as of Monday. Has review proceeded to the next step?


 


[MyLicenseChecker] issueTime: 1554608644511


[MyLicenseChecker] expirationTime: 1555818244511


[MyLicenseChecker] latestVersion: 0


[MyLicenseChecker] updateRequired: False


 


Is it safe to assume, based on this log information, that the DRM code has been correctly implemented?

Link to comment
Share on other sites

Hi   / Jason! 

I apologize for the delay in response, as previously mentioned in our email conversation, we had a short work week due to a national holiday and, as promised, this past Monday morning I did queue up your case with additional team members--I apologize for not responding to you and keeping you posted. We did not forget about you! 

 

I hope you don't mind, as David mentioned it would be better to switch this to Zendesk or email, and as such i will resume this conversation there : ) 

Link to comment
Share on other sites

David,

 

I cannot access the devhelp system without being prompted to open a new ticket, which is something I do not want to do. Our communication is already difficult as it is without introducing more complexity. 

 

Is it your intention for me to open a new ticket on this, or is there already an open ticket which you are encouraging me to access?

Link to comment
Share on other sites

I think I have the code properly implemented, but how do I test onfailure?

 

I have the ShutdownHandler implemented correctly, or just Application.Quit(); if I don't want to use the ShutdownHandler.

 

If I intentionally put the wrong key in, it gives me this error, but still proceeds with the log message of "Init(): 0":

 

AndroidJavaException: java.lang.IllegalArgumentException: java.security.spec.InvalidKeySpecException: java.lang.RuntimeException: error:0c0000b9:ASN.1 encoding routines:OPENSSL_internal:WRONG_TAG

 

   

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...