Amazon.Util.Internal.AmazonHookedPlatformInfo.Init C# (CSharp) 메소드

Init() 공개 메소드

Init this instance. This methods needs to be called from the main thread, Otherwise the values may not be initialized correctly
public Init ( ) : void
리턴 void
        public void Init()
        {

            PersistentDataPath = Application.persistentDataPath;

            UnityVersion = Application.unityVersion;

            if (InternalSDKUtils.IsAndroid)
            {
                //device related information
                PlatformVersion = AndroidInterop.GetStaticJavaField<string>("android.os.Build$VERSION", "RELEASE");
                Platform = ANDROID_OS;
                Model = AndroidInterop.GetStaticJavaField<string>("android.os.Build", "MODEL");

                Make = AndroidInterop.GetStaticJavaField<string>("android.os.Build", "MANUFACTURER");

                var locale = AndroidInterop.GetJavaObjectStatically("java.util.Locale", "getDefault");
                Locale = AndroidInterop.CallMethod<string>(locale, @"toString");

                //application related information
                var context = AndroidInterop.GetAndroidContext();
                PackageName = AndroidInterop.CallMethod<string>(context, "getPackageName");

                var packageManager = AndroidInterop.CallMethod(context, "getPackageManager");
                var packageInfo = AndroidInterop.CallMethod(packageManager, "getPackageInfo", PackageName, 0);
                var applicationInfo = AndroidInterop.CallMethod(packageManager, "getApplicationInfo", PackageName, 0);
                VersionCode = System.Convert.ToString(AndroidInterop.GetJavaField<int>(packageInfo, "versionCode"));
                VersionName = AndroidInterop.GetJavaField<string>(packageInfo, "versionName");
                Title = AndroidInterop.CallMethod<string>(packageManager, "getApplicationLabel", applicationInfo);
            }
            else if (InternalSDKUtils.IsiOS)
            {
                //platform related information
                if (!string.IsNullOrEmpty(NSLocale.AutoUpdatingCurrentLocale.Identifier))
                {
                    Locale = NSLocale.AutoUpdatingCurrentLocale.Identifier;
                }
                else
                {
                    Locale = NSLocale.AutoUpdatingCurrentLocale.LocaleIdentifier;
                }

                using (var device = UIDevice.CurrentDevice)
                {
                    Platform = device.SystemName;
                    PlatformVersion = device.SystemVersion;
                    Model = device.Model;
                }

                Make = "apple";

                //Application related information
                using (var bundle = NSBundle.MainBundle)
                {
                    var infoPtr = ObjC.MessageSendIntPtr(bundle.Handle, Selector.GetHandle("infoDictionary"));
                    using (var info = ThirdParty.iOS4Unity.Runtime.GetNSObject<NSDictionary>(infoPtr))
                    {
                        Title = info.ObjectForKey("CFBundleDisplayName").ToString();
                        VersionCode = info.ObjectForKey("CFBundleVersion").ToString();
                        VersionName = info.ObjectForKey("CFBundleShortVersionString").ToString();
                        PackageName = info.ObjectForKey("CFBundleIdentifier").ToString();
                    }
                }
            }
        }
AmazonHookedPlatformInfo