stomt / stomt-unity-sdk Goto Github PK
View Code? Open in Web Editor NEWCollect feedback in-game with STOMT for Unity3D.
Home Page: https://www.assetstore.unity3d.com/en/#!/content/64669
License: MIT License
Collect feedback in-game with STOMT for Unity3D.
Home Page: https://www.assetstore.unity3d.com/en/#!/content/64669
License: MIT License
With the Stomt widget from the Unity Asset store I get the following error when the game starts up.
For context: https://stomt.co/UqO12
TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a
at Mono.Security.Protocol.Tls.RecordProtocol.EndReceiveRecord (System.IAsyncResult asyncResult) [0x00040] in <59bcb3a41e31492f91d9513566444e88>:0
at Mono.Security.Protocol.Tls.SslClientStream.SafeEndReceiveRecord (System.IAsyncResult ar, System.Boolean ignoreEmpty) [0x00000] in <59bcb3a41e31492f91d9513566444e88>:0
at Mono.Security.Protocol.Tls.SslClientStream.NegotiateAsyncWorker (System.IAsyncResult result) [0x00071] in <59bcb3a41e31492f91d9513566444e88>:0
Rethrow as IOException: The authentication or decryption has failed.
at Mono.Security.Protocol.Tls.SslClientStream.EndNegotiateHandshake (System.IAsyncResult result) [0x0003b] in <59bcb3a41e31492f91d9513566444e88>:0
at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (System.IAsyncResult asyncResult) [0x0000c] in <59bcb3a41e31492f91d9513566444e88>:0
Rethrow as IOException: The authentication or decryption has failed.
at Mono.Security.Protocol.Tls.SslStreamBase.EndRead (System.IAsyncResult asyncResult) [0x00057] in <59bcb3a41e31492f91d9513566444e88>:0
at Mono.Net.Security.Private.LegacySslStream.EndAuthenticateAsClient (System.IAsyncResult asyncResult) [0x00011] in <f044fe2c9e7e4b8e91984b41f0cf0b04>:0
at Mono.Net.Security.Private.LegacySslStream.AuthenticateAsClient (System.String targetHost, System.Security.Cryptography.X509Certificates.X509CertificateCollection clientCertificates, System.Security.Authentication.SslProtocols enabledSslProtocols, System.Boolean checkCertificateRevocation) [0x0000e] in <f044fe2c9e7e4b8e91984b41f0cf0b04>:0
at Mono.Net.Security.MonoTlsStream.CreateStream (System.Byte[] buffer) [0x0006a] in <f044fe2c9e7e4b8e91984b41f0cf0b04>:0
Rethrow as WebException: Error: TrustFailure (The authentication or decryption has failed.)
at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) [0x00064] in <f044fe2c9e7e4b8e91984b41f0cf0b04>:0
at Stomt.StomtAPI+<LoadTarget>c__Iterator0.MoveNext () [0x000b1] in G:\Quiz\Repo\Assets\stomt Collect Player-Feedback\Scripts\StomtAPI.cs:246
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
Stomt.<LoadTarget>c__Iterator0:MoveNext() (at G:\Quiz\Repo\Assets\stomt Collect Player-Feedback\Scripts\StomtAPI.cs:252)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:\buildslave\unity\build\Runtime\Export\Coroutines.cs:17)
(Filename: <59bcb3a41e31492f91d9513566444e88> Line: 0)
Maybe wrong target id
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:Log(Object)
Stomt.<LoadTarget>c__Iterator0:MoveNext() (at G:\Quiz\Repo\Assets\stomt Collect Player-Feedback\Scripts\StomtAPI.cs:253)
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr) (at C:\buildslave\unity\build\Runtime\Export\Coroutines.cs:17)
(Filename: G:/Quiz/Repo/Assets/stomt Collect Player-Feedback/Scripts/StomtAPI.cs Line: 253)
Hi, so this is a weird one. On MacOS, and only on MacOS, when I "build and run" a Unity project with STOMT I get the following error:
NotSupportedException: The URI prefix is not recognized.
at System.Net.WebRequest.Create (System.Uri requestUri, System.Boolean useUriBase) [0x000db] in <f044fe2c9e7e4b8e91984b41f0cf0b04>:0
at System.Net.WebRequest.Create (System.String requestUriString) [0x00017] in <f044fe2c9e7e4b8e91984b41f0cf0b04>:0
at Stomt.StomtAPI.WebRequest (System.String method, System.String url) [0x00002] in G:\Quiz\Repo\Assets\stomt Collect Player-Feedback\Scripts\StomtAPI.cs:218
at Stomt.StomtAPI+<LoadTarget>c__Iterator0.MoveNext () [0x00049] in G:\Quiz\Repo\Assets\stomt Collect Player-Feedback\Scripts\StomtAPI.cs:234
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00028] in /Users/builduser/buildslave/unity/build/Runtime/Export/Coroutines.cs:17
UnityEngine.MonoBehaviour:StartCoroutine_Auto_Internal(MonoBehaviour, IEnumerator)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator) (at /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/MonoBehaviourBindings.gen.cs:62)
Stomt.StomtAPI:Start() (at G:\Quiz\Repo\Assets\stomt Collect Player-Feedback\Scripts\StomtAPI.cs:213)
I looked at the code and my first guess was that somehow restServerUrl wasn't set properly. However, I added some log statements immediately before the WebRequest call in StomtAPI.cs:234 and the value was "https://rest.stomt.com" as expected.
Also the error only started showing up after upgrading to the newest version from the Asset store. On Windows and Linux the error does not appear in builds or editor. The error does also not appear on MacOS when the code is run in the editor.
The error only appears with the new .NET 4.6 backend, not with the old .NET 2.0 one.
I attached an example project that includes nothing but the STOMT plugin on a Canvas which reproduces the error for me:
Stomt MacOS Test.zip
So this one is from someone else:
OK so I'm trying to integrate it with my android game in Unity.
The problem I'm facing is the StomtPopup class doesn't seem to have a publicly accessible way of toggling the popup without the use of a Toggle Key - for example toggling it with an Event or with a Button.
Extending the StomtPopup class doesn't work either due to a number of key fields and methods (_ui, Show()) being private.
What I'm left with is hacking the supplied StomtPopup class itself, which is less than ideal. It would be great if your devs could consider a more API-like implementation. Maybe it's just me, but I don't like editing third party source, I much prefer extending it with my own implementation classes.
Additionally I try to actively avoid anything that checks once per frame in Update() unless I absolutely need it. I feel the implementation would be much better with an Event rather than if (Input.GetKeyDown(_toggleKey)) { on every frame. Mobile devs are paranoid about CPU cycles :slight_smile:
Otherwise the service seems solid and it's a useful way of integrating feedback. I'm yet to investigate how public the feedback is, and whether I have any way of moderating it.
Inspite of what the documentation says, there are no (public) methods to show the popup. I'd like to automatically display the popup in my pause menu.
I just added a new public method that does the same thing as the toggle button, i.e.:
public void ShowPopup()
{
StartCoroutine(Show());
}
Is there a reason this isn't provided by default?
Should would/because showup pre-entered in the textfield?
The letters counter should count with 120 letters
Make target icon manageable from root Gameobject
I would recommend tweaking the texture import settings on your Sprites.
Mobile app developers really care about sprite sizes. It impacts build size and memory consumption, both of which generally need to be as small as possible. You should try to have all your sprites the as small as possible, and using the most optimum image format.
I would not use Compressed format because it usually ends up looking like shit. And, on Android, there isn't even a standard for Compressed so a lot of devices will end up converting it back to uncompressed at runtime. If you do want to use Compressed though, go into the iOS overrides and you can set the Compressed quality to High.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.