FAQ & Troubleshooting - hippogamesunity/SimpleSignIn GitHub Wiki
Common
General steps before you start troubleshooting
- Create a new empty project;
- Import the latest asset version from the Asset Store;
- Refer to the manual and make platform specific changes (for Android, copy AndroidManifestExample.xml to Plugins/Android/AndroidManifest.xml);
- Build, run and test on a device;
- If it works, find a difference in setup with your main project;
- If it doesn't work, contact me on Discord;
Personal assistance to setup your app
- I'm available for online help and troubleshooting for $200/h (VISA banking transfers only). Please email to
[email protected].
The app is not resumed/launched after I perform sign in on Android
- Check custom URI scheme in AndroidManifest.xml;
- Some web browsers may block deep links by default (like Samsung Browser). We guaranty support for Google Chrome, Safari and Firefox;
Sign-in doesn't work in emulators and embedded browsers
- We guaranty support for Google Chrome, Safari and Firefox. Requests from embedded browsers (web views) and emulators may be blocked;
Undefined symbol: OBJC_CLASS$_SFSafariViewController
In Unity, make sure that Plugins/iOS/SafariViewController.mm exists. Select it, navigate to Rarely used frameworks and enable SafariServices. Rebuild your Xcode project.
[WebGL/Safari] Nothing happens when I click [Sign In] (the OAuth screen not showing up)
Safari is relatively more strict when compared to Chrome or Firefox, in terms of handling browser permissions. And then there’s limitations of Application.OpenURL API for WebGL. You can allow popups from Safari settings (opening new tabs is considered as popups). Unfortunately, there is nothing we can do on Unity side, except warning users about using Safari.
The name 'Registry' does not exist in the current context
Switch API Compatibility Level to .Net Framework in Player Settings.
DeploymentOperationFailedException: No activity in the manifest with action MAIN and category LAUNCHER.
Unity 6 introduces changes like UnityPlayerGameActivity as the default activity entry point. You can switch back to Activity or update AnroidManifest.xml (replace com.unity3d.player.UnityPlayerActivity with com.unity3d.player.UnityPlayerGameActivity).
Google shows errors in the sign in window
- Check OAuth client ID that you've created in Google Cloud;
Google sign-in doesn't work from emulators
- For security reasons Google allows OAuth in trusted browsers only. Requests from embedded browsers (web views) and emulators may be blocked;
How can I get a server auth code to be used with Unity Authentication, PlayFab and other services?
- Unfortunately, you can NOT do this with my asset that uses public API. A client app can NOT request an auth code for another client ID. The Google Sign-in SDK and GPGS both supports this, but they use an undocumented, non OAuth2 standard mechanism to retrieve a code for both the client and server simultaneously (more info).
Do I need to update API calls when asked by Unity?
Yes! As our asset keeps compatibility with old Unity versions, some API calls may be obsolete in new Unity versions. Unity will update all call automatically when importing the asset.
An email app is opened in Samsung Internet browser when signing in with Google
This may happen when the user clicks email texts when selecting an account. Unfortunately, we can't affect this unwanted behaviour of Samsung Internet.
URL Blocked
- At first, make sure you've added a correct URL to
Facebook Login > Settings > Valid OAuth Redirect URIs. If you run inside the Editor, then the callback to "localhost" is being used. It's allowed only for apps that haveApp Mode: Development. The demo scene will not work inside the Editor is your app is set toApp Mode: Life. If you still get the error, please check the asset with default settings (create a new project and make fresh assert install), it should work both inside the Editor and for builds for any platform.
Facebook Login is currently unavailable for this app
- All apps making requests for Advanced Access, including for email and public profile, require Business Verification (stackoverflow).
TikTok
How to get [App signature] and [Signing certificate fingerprints] for Android?
For Sandbox, you can just use 00000000000000000000000000000000 and 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 values. For Production, use keytool -list -v -keystore [xxx] -keypass [xxx] (you can find it inside your JDK installation or here: C:\Program Files\Unity\Hub\Editor\xxx\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\keytool.exe).