When a Grokker is attached for the very first time (a brand new Grokker that has never been used before), the SDK sends a request to the U Grok It server to get the list of regions of the world that Grokker can operate in (the first region in the list is FCC (US), IC (Canada)). This list is presented to the user. After the user chooses a region, the Grokker is configured for that region.
Request:
https://api.ugrokit.com/firmware/regions?hardwareRevision=GROKKER_HARDWARE_REVISION&serialNumber=GROKKER_SERIAL_NUMBER
Sending the Grokker serial number can be disabled, see Sending Grokker serial number)
The response is a small JSON list of available regions.
To disable this use of the server and instead set a specific region (or choose from a list of specific regions):
iOS: Ugi singleton].configurationDelegate.specificRegionsForGrokkerInitialization = [NSArray arrayWithObjects:@"FCC (US), IC (Canada)", @"ETSI (EU)", nil]; ANDROID: ugi.getConfigurationDelegate().setSpecificRegionsForGrokkerInitialization( new String[] { "FCC (US), IC (Canada)" }); WINDOWS: Ugi.Singleton().ConfigurationDelegate.SpecificRegionsForGrokkerInitialization = new String[] { "FCC (US), IC (Canada)", "ETSI (EU)" }; CORDOVA: ugi.setSpecificRegionsForGrokkerInitialization(["FCC (US), IC (Canada)", "ETSI (EU)"]); XAMARIN: Ugi.Singleton().SpecificRegionsForGrokkerInitialization = new string[] {"FCC (US), IC (Canada)", "ETSI (EU)"};
If you want to control if and when the Grokker firmware is updated when using your app, contact us and we can discuss options.
When the Android device connects to a Grokker, the SDK sends a request to the U Grok It server to see if there is newer firmware available. If so, another server call is made to get that firmware.
Request:
Seeing if an update is available: https://api.ugrokit.com/firmware/info?channel=release&serialNumber=GROKKER_SERIAL_NUMBER Loading an update: https://api.ugrokit.com/firmware/update?serialNumber=GROKKER_SERIAL_NUMBER
Sending the Grokker serial number can be disabled, see Sending Grokker serial number)
The response is a small JSON list of available updates.
To disable this use of the server
iOS: [Ugi singleton].configurationDelegate.doAutomaticFirmwareUpdate = NO; ANDROID: ugi.getConfigurationDelegate().setDoAutomaticFirmwareUpdate(false); WINDOWS: Ugi.Singleton().ConfigurationDelegate.DoAutomaticFirmwareUpdate = false; CORDOVA: ugi.setDoAutomaticFirmwareUpdate(false); XAMARIN: Ugi.Singleton().DoAutomaticFirmwareUpdate = false;
If you want to control if and when the Grokker firmware is updated when using your app, contact us and we can discuss options.
When first connected to a Grokker, the SDK looks up the Android device's model number in an internal table. If the model is not found, the SDK loads the most up to date version of the table from our server.
Request:
https://api.ugrokit.com/firmware/devices?platform=android&model=ANDROID_DEVICE_MODEL
ANDROID_DEVICE_MODEL is the Android device's Model string
The response is a JSON table.
To disable this use of the server
ANDROID: ugi.getConfigurationDelegate().setCheckServerForUnknownDevices(false); CORDOVA: ugi.setCheckServerForUnknownDevices(false); XAMARIN: Ugi.Singleton().CheckServerForUnknownDevices = false;
To help us improve Android device compatibility, reports are sent to the U Grok It server in two cases:
- When the Android device first successfully connects to any Grokker
- After the Android device finished the automatic configuration process
First-connection request:
https://api.ugrokit.com/firmware/deviceFirstConnection Data: { "model": "SCH-I535", "audioConfigurationSource": "Local", "deviceInfo": { "name": "Samsung Galaxy S3", "models": ["SCH-I535", "GT-I9300"], "notTested": false, "notSupported": false, "configuration": { "jackOnTop": true, "audioConnectionParams": { "sampleRate": 44100, "samplesPerBit": 8, "sampleAveragingPeriod1": 0, "sampleAveragingPeriod2": 0, "sendNonSymmetric": false, "numInputBuffers": 1, "inputBufferSize": 512, "numOutputBuffers": 1, "outputBufferSize": 512 } } }, "apiLevel": 19, "androidManufacturer": "samsung", "androidProduct": "d2vzw", "androidBrand": "Verizon", "androidDevice": "d2vzw", "sdkVersion": "1.7.18", "firmwareVersion": "1.10.1", "hardwareRevision": 6, "date": "Sep 19, 2015 4:53:34 PM", "serialNumber": 140100115 (can be disabled, see Sending Grokker serial number) }
Automatic-configuration request:
https://api.ugrokit.com/firmware/deviceAutoConfig Data: { "deviceInfo": { "name": "Unknown Tue Sep 29 16:38:17 MDT 2015", "models": ["Nexus 7"], "notTested": false, "notSupported": false, "configuration": { "jackOnTop": false, "audioConnectionParams": { "sampleRate": 44100, "samplesPerBit": 8, "sampleAveragingPeriod1": 0, "sampleAveragingPeriod2": 0, "sendNonSymmetric": false, "numInputBuffers": 1, "inputBufferSize": 240, "numOutputBuffers": 1, "outputBufferSize": 240 } } }, "defaultSampleRate": 48000, "success": true, "apiLevel": 22, "androidManufacturer": "asus", "androidProduct": "razor", "androidBrand": "google", "androidDevice": "flo", "sdkVersion": "1.7.19", "firmwareVersion": "1.9.9", "hardwareRevision": 6, "date": "Sep 29, 2015 4:38:17 PM", "elapsedSeconds": 60, "serialNumber": 140100115 (can be disabled, see Sending Grokker serial number) }
In both cases, the server does not send any data in response.
To disable this use of the server:
ANDROID: ugi.getConfigurationDelegate().setSendFirstConnectionAndAutomaticConfigurationReports(false); CORDOVA: ugi.setSendFirstConnectionAndAutomaticConfigurationReports(false); XAMARIN: Ugi.Singleton().SendFirstConnectionAndAutomaticConfigurationReports = false;
In a few places the Grokker serial number is sent to the U Grok It server. This can be disabled by:
iOS: [Ugi singleton].configurationDelegate.sendGrokkerSerialNumber = NO; ANDROID: ugi.getConfigurationDelegate().setSendGrokkerSerialNumber(false); WINDOWS: Ugi.Singleton().ConfigurationDelegate.SendGrokkerSerialNumber = false; CORDOVA: ugi.setSendGrokkerSerialNumber(false); XAMARIN: Ugi.Singleton().SendGrokkerSerialNumber = false;
Copyright © 2012-2017 U Grok It, Inc. connect@UGrokIt.com U Grok It and the U Grok It logo are registered trademarks of U Grok It, Inc. All other trademarks and copyrights are the property of their respective owners |