谷歌登入

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
實用連結

  • Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
    HackMD Portal: -CLICK ME-
  • Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
    GitHub Org: -CLICK ME-
  • Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
    GitHub Repo:
    • Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
      Frontend: -CLICK ME-
    • Image Not Showing Possible Reasons
      • The image file may be corrupted
      • The server hosting the image is unavailable
      • The image path is incorrect
      • The image format is not supported
      Learn More →
      Backend: -CLICK ME-
  • Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
    Google Drive: -CLICK ME-

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
坑團會

  • 時間:星期五 19:00 ~ 21:00
  • 地點:O-311-1

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →


I never try it.
I am trying it.
I do not want to try it again.
FUCK UNITY.
Mibudin


Google Sign-In in Unity

Preparation Note (Imagined)

Unity Settings

  • Package Name
  • Project Keystore
    • A custom keystore or a debug keystore (in default).
    • Setting Path:
      Edit > Project Settings > Palyer > <Platform> > Publishing Settings > Project Keystore

Google Cloud Platform Project

  • GCP Project

    Following this and this.

    • Project Generation Guide
      • It MAY be easier and less difficulties to follow the tutorials of the official websites step-by-step.
      • For Android / iOS
    • Platforms
      • For each platform (Android / iOS), the client IDs corresponding to them should be generated respectively.
    • Package Name
      • The Package Name set in Unity.
    • SHA-1 Signing Certificate
      • Generate SHA-1 of the Project Keystore.
        General Generation:

        Following this, this, this, and this.

        • The Keytool to be used
          • <JDK> > bin > keytool.exe
          • Already in the environment paths generally.
        • The Command to be run
        ​​​​​​​​​​​​keytool -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
        
        • The Custom Keystore
          • -alias <?>: The alias of the keystore.
          • -keystore <?>: The path of the keystore.
        • The Debug Keystore (defaultly)
          • -alias <?>: androiddebugkey
          • -keystore <?>:
            • Mac/Linux: ~/.android/debug.keystore
            • Windows: %USERPROFILE%\.android\debug.keystore
        • Others
          • -list: List entries (showing more informations).
          • -v: Target verbose output.
        • Exception
          • Keystore file does not exist:
            • This exception occurs if the default debug keystore does not exist there (never generated).
            • You can run other associated program, software, or application to let them generate this file automatically.
            • Or generate one manually:
              ​​​​​​​​​​​​​​​​​​​​​​​​keytool -genkey -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore -storepass android -keypass android -dname "C=US,O=Android,CN=Android Debug" -storetype PKCS12 -keyalg RSA -keysize 2048 -sigalg SHA1WithRSA -validity 10950
              
              • -genkey: Generate a key pair.
              • -v: Target verbose output.
              • -alias <?>: The alias of the keystore.
                Default: androiddebugkey
              • -keystore <?>: The path of the keystore.
                Default:
                • Mac/Linux: ~/.android/debug.keystore
                • Windows: %USERPROFILE%\.android\debug.keystore
              • -storepass <?>: The store password of a keystore.
                Default: android
              • -keypass <?>: The key password of an entry.
                Default: android
              • -dname <?>: The distinguished name.
                Default: "C=US,O=Android,CN=Android Debug"
              • -storetype <?>: The keystore type.
                Default: PKCS12
              • -keyalg <?>: The key algorithm name.
                Default: RSA
              • -keysize <?>: The key bit size.
                Default: 2048
              • -sigalg <?>: The signature algorithm name.
                Default: SHA1WithRSA
              • -validity <?>: The validity number of days.
                Default: 10950 (30 common years)
            • Or WHY NOT create a custom keystore in Unity.

Google Sign-In Unity Plugin

  • Plugins

    Following this.

    • There are (maybe) two plugins to be needed
      • Play Services Resolver for Unity
        (External Dependency Manager for Unity (EDM4U))
        • Hereinafter called the pre-plugin.
        • (MAYBE already in default Unity which installed all Android associated modules. Or)
      • Google Sign-In Unity Plugin
        • Hereinafter called the plugin.
    • The pre-plugin file from here.
      • (Download the Unity Package file in the root path of the source code.)
    • The plugin and sample releases from here.
      • (Download the releases.)
  • Import Process

    Following this.

    • (If needed,) Install the Android Build Support, Android SDK & NDK Tools, and OpenJDK modules of the Unity.
      • (If needed,) Remember to check whether the paths to these modules or tools pointed to the correct places where these internal or external things should be.
      • Setting Path:
        Edit > Preferences > External Tools > Android > ...
    • (If needed(?),) Switch the platform of Unity to Android.
    • (If needed,) Remove TextMesh Pro.
      • (If needed to handle some weird exceptions; Or if this plugin is needed, it is a good attempt not to remove it.)
    • (If needed(?),) Import the pre-plugin.
    • Import the plugin EXCEPT ./Parse/.
    • (If needed,) Handle the exception of duplicated files Google.VersionHandler.dll
      • (It MAY be better to delete the duplicated file in plugin).
    • Synchronize the gradle files in the project.
      • Command Path:
        Assets > Play Services Resolver > Android Resolver > Resolve
        and then
        Assets > Play Services Resolver > Android Resolver > Force Resolve
      • Command Path: (alternative sometimes due to different versions maybe)
        Assets > External Dependency Manager > Android Resolver > Resolve
        and then
        Assets > External Dependency Manager > Android Resolver > Force Resolve
    • (If needed,) Import the sample scene.
  • Web Client ID
    • The Web Client ID provided by GCP Project.
    • This ID is needed to apply the main features of this plugin.
  • USE IT
    • Try to follow the provided sample scene.
    • It seems that there is no such an official document to this plugin. Maybe the source codes of the plugin and the sample help.
    • Or visit the official Google Sing-In website to understand the basic conceptions, maybe useful (or not).

Implement Note