private string AndroidGetRegion() { if (SwrveHelper.IsOnDevice()) { try { using (AndroidJavaClass localeJavaClass = new AndroidJavaClass("java.util.Locale")) { AndroidJavaObject defaultLocale = localeJavaClass.CallStatic <AndroidJavaObject>("getDefault"); return(defaultLocale.Call <string>("getCountry")); } } catch (Exception exp) { SwrveLog.LogWarning("Couldn't get the device region, make sure you are running on an Android device: " + exp.ToString()); } } return(null); }
private string AndroidGetAndroidId() { if (SwrveHelper.IsOnDevice() && (_androidId == null)) { try { using (AndroidJavaClass unityPlayerClass = new AndroidJavaClass(UnityPlayerName)) { AndroidJavaObject context = unityPlayerClass.GetStatic <AndroidJavaObject>(UnityCurrentActivityName); AndroidJavaObject contentResolver = context.Call <AndroidJavaObject> ("getContentResolver"); AndroidJavaClass settingsSecure = new AndroidJavaClass("android.provider.Settings$Secure"); _androidId = settingsSecure.CallStatic <string> ("getString", contentResolver, "android_id"); } } catch (Exception exp) { SwrveLog.LogWarning("Couldn't get the \"android_id\" resource, make sure you are running on an Android device: " + exp.ToString()); } } return(_androidId); }
private void startNativeLocation() { if (SwrveHelper.IsOnDevice()) { try { AndroidGetBridge(); AndroidJavaClass swrvePlotClass = new AndroidJavaClass(SwrveAndroidPlotName); using (AndroidJavaClass unityPlayerClass = new AndroidJavaClass(UnityPlayerName)) { AndroidJavaObject context = unityPlayerClass.GetStatic <AndroidJavaObject>(UnityCurrentActivityName); swrvePlotClass.CallStatic(SwrvePlotOnCreateName, context); } startedPlot = true; } catch (Exception exp) { SwrveLog.LogWarning("Couldn't StartPlot from Android: " + exp.ToString()); } } }
private string AndroidGetAppVersion() { if (SwrveHelper.IsOnDevice()) { try { using (AndroidJavaClass unityPlayerClass = new AndroidJavaClass(UnityPlayerName)) { AndroidJavaObject context = unityPlayerClass.GetStatic <AndroidJavaObject> (UnityCurrentActivityName); string packageName = context.Call <string> ("getPackageName"); string versionName = context.Call <AndroidJavaObject> ("getPackageManager") .Call <AndroidJavaObject> ("getPackageInfo", packageName, 0).Get <string> ("versionName"); return(versionName); } } catch (Exception exp) { SwrveLog.LogWarning("Couldn't get the device app version, make sure you are running on an Android device: " + exp.ToString()); } } return(null); }
private void RequestGooglePlayAdvertisingId(MonoBehaviour container) { if (SwrveHelper.IsOnDevice()) { try { this.googlePlayAdvertisingId = storage.Load(GoogleAdvertisingIdSave); using (AndroidJavaClass unityPlayerClass = new AndroidJavaClass(UnityPlayerName)) { string jniPluginClassName = SwrveAndroidPushPluginPackageName.Replace(".", "/"); if (AndroidJNI.FindClass(jniPluginClassName).ToInt32() != 0) { androidPlugin = new AndroidJavaClass(SwrveAndroidPushPluginPackageName); if (androidPlugin != null) { androidPlugin.CallStatic <bool>("requestAdvertisingId", container.name); } } } } catch (Exception exp) { SwrveLog.LogError("Could not retrieve the device Registration Id: " + exp.ToString()); } } }