![]() |
Speedify SDK for Android 16.1.1
|
setDNSServers to set DoH servers.subscriptionEndDateisSelfHosted field.setFixedDelayIPs/setFixedDelayPorts/setFixedDelayDomains. The delay value can be set via setFixedDelay.startSpeedTest(String), startStreamTest(String).setAdvancedIspStats.ispStats. Currently only implemented for Starlink.setConnectionRateLimit(String,long,long)accountCheck/accountCreate/accountPasswordChange have been deprecated. Manage via SSO logins on my.speeedify.com instead.toimplementation 'com.speedify.speedifysdk:speedifysdk:15.0.0+'`AccountingData now contains action to provide hints for what action may be needed on an account.sendLogReport to send logs to the directory server for automatic processingsetNetworkSharingAutoPairBehavior controls how network sharing automatically pairs with other devices on the same account and/or teamOnServiceRestart(State,RestartReason) - Use OnServiceRestart(State) and/or OnLastDisconnectEvent(DisconnectEvent)setNetworkSharingSameUserAutoPair - Use setNetworkSharingAutoPairBehaviorStateTrackingSBR - no longer necessary for tracking startup/disconnect reasonssendFeedback.PAUSED.sdkStateReceivers and foregroundServiceReceivers objects.setMaximumConnectRetry.setMaximumTransportRetry.initialize the VPN permission prior to initializing the SDK for the first time. See Initializing the SDK.StreamStats expanded to include health, remoteIp, remotePort, protocolsetNetworkSharingSameUserAutoPair.ConnectionStats now contains sendBytes and receiveBytes.ErrorType contains 3 new error types:
UpdateForegroundNotification has had its arguments changed to receive a ServiceData object with common SDK state information.createNotification(Context,Options) and createBackgroundActivityNotification(Context,Options) were added to simplify option passing for notifications. clear(Context,String,int) was added to clear notifications created with a tag.OnLockedSetting(String,SettingsLockReason). Use OnSettingError(String,ErrorType,String)NotificationHelper createNotification and createBackgroundActivityNotification functions that do not take an Options object.OnSettingError(String,ErrorType,String)SpeedifySDK(Context,String) via AutoConstruct.setIPLeakProtectionPrivacySettings.ipLeakProtectionGetUuid(Context).GetUuid(Context,UuidHandler).SpeedifyHandler.setServiceNotificationLaunchIntent.SpeedifyHandler.setServiceNotificationIcon.DEVICE_LIMIT when an account has reached it's device limitsetLocalProxyGlobalDomainWatchlistEnable) and reset all entries back to defaults (resetLocalProxyDomainWatchlist).ulpReportIntervalSeconds setting to represent the ULP reporting interval in seconds.setUlpReportIntervalSeconds function.NONE, for cases when there is nothing to report, to the disconnect reasons.refreshOAuthToken to refresh token without triggering a login.IGNORELAST will choose a server other than the last used server using the current selection setting.Version function is now static and can be called without the SDK runningAUTOMATIC connection priorities, where Speedify will manage the priority based on the dynamically discovered connection type. This feature is enabled via enableAutomaticConnectionPriority.AdapterData has 2 new fields:workingPriority - the priority the adapter is functioning underisp - the discovered Internet Service Provider of the connectionprotocol field on ConnectionStats objects is now available on historic tunnel stats.setRequestToDisableDoH.setLocalProxyPorts, setFirewallPorts, and setStreamingPortsConnectionStats objects with a transport type of PROXY.setPriorityOverflowThreshold.setServiceNotificationKillswitchVibeEnabled.SpeedifyHandler.setServiceNotificationLaunchIntent.SpeedifyHandler.setServiceNotificationIcon.SpeedifySDK.AutoConstruct. No code required in Application.onCreate. Details in Initializing the SDK.ISpeedifyHandler provided through the constructor or setHandler. Objects implementing ISdkStateReceiver may be registered via registerSdkStateReceiver/unregisterSdkStateReceiver. The main ISpeedifyHandler remains the only object for customizing the foreground service notification.LogGeneration, including filename, email address, and messaging, are configurable via resource strings. For more information, see SDK Strings.setIPLeakProtection to match other platform SDKs.OnAdapterOverlimit(String,NetworkType,AdapterUsageData)OnDirectorySettings.OnDirectorySettings.enableStatUpdates instead.refreshDirectorySettings.setAppName or automatically via the name parameter of the SpeedifySDK constructor. If setting manually, this must be called before any login method.SpeedifySDK, SpeedifyHandler, and ISpeedifyHandler now use @Nullable and @NonNull annotations on method parameters and returns.SpeedifyHandler are now debounced, to avoid a flurry or reports when changing multiple settings in a row.OnLastDisconnectEvent will now be called automatically after a disconnect event is recorded, instead of only after calling refreshLastDisconnectEvent.UpdateForegroundNotification to provide your own custom foreground notificaiton, you must now use a notification ID of SpeedifyHandler.SPEEDIFY_FOREGROUND_NOTIFICATION_ID to replace the aforementioned temporary minimal foreground notification. The notification channel used is SpeedifyHandler.SPEEDIFY_FOREGROUND_CHANNEL_ID.LogGeneration is now thread-safe.SPEEDIFY_NOTIFICATION_STATE_CONNECTED_SERVER string.StreamStats field health, giving an indication of how well the stream is performing.StreamingStats fields:
ConnectionStats fields:
startStreamTestSpeedTestResultData fields:
SpeedifySDK constructor using ports are now deprecated. Use the port-less versions instead to avoid port conflicts.lossReceive and lossSend to be doubles.connectProxy and using default DNS server settings, or setting an empty DNS server list via setDNSServers with an empty list, the DNS servers of the other physical connections will be used instead of setting an explicit DNS server over the VPN connection.DisconnectEvent objects have 2 new fields: sessionEnd and sessionLengthWebsocketAutoConfig provides access to the local-only IP address and port sed for interprocess communication when not explicitly specifying a port.setLocalProxyIPv6 added.ILogCompleteCallback handler in log generation calls may now be passed in separately from the Activity/Context.
OnLockedSetting(String,SettingsLockReason).AUTO transport mode now automatically scales the number of tcp sockets it uses, providing better performance.SpeedifyHandler from the background process (:vpnservice), in addition to the main process. To enable this, set EnableSDKHandlerFromBackground to true prior to initializing the SDK.setLocalProxyPackages and proxiedPackages the member in setLocalProxyDomainWatchlist.SpeedifySDK object. Use GetUuid(Context)/GetUuid(Context,UuidHandler)startSpeedTest to initiate a new test. Results are provided via OnSpeedTestResults. Results of prior tests can be retrieved with refreshSpeedTestResults.shareLogs and generateLogs now support absolute paths. If required, you must request write permission to this path prior to calling.totalBps, sendBps, and receiveBps to be bits per second.sendEstimateMbps and receiveEstimateMbps to be megabits per second.mbpsDownBenefit and mbpsUpBenefit to specify megabits per second.com.speedify.speedifysdk.Types.TransportMode#MULTITCP transport mode, using multiple TCP sockets over connections to increase bandwidth. com.speedify.speedifysdk.Types.ConnectionStats#numberOfSockets shows how many sockets are in use.OVERLIMIT state.StreamingSettings. These can be set via setStreamingDomains, setStreamingIPv4, setStreamingIPv6, and setStreamingPorts. Use refreshStreamingSettings to pull current settings.OVERQUOTA disconnect reason.sendBps and receiveBps on to be in bits per second, matching totalBps.setLanguage. This takes a 2-character ISO language code. Supported languages include 'en', 'ar, 'de', 'es', 'fr', 'pt', 'ro', 'ru', 'tr', 'zh'.DNSTIMEOUT and TUNNELTIMEOUT.setNeverExitOnSwipe. Services may be manually stopped with ForceExit.logout will now reset your connect method to CLOSEST.setHeaderCompression. Currently support extends to IPv4, UDP, and partial TCP (ports only).SpeedifySDK(Context,String)SpeedifySDK(Context,String,ISpeedifyHandler)portsetDirectoryGatewayURI before logging in with loginOAuth.setDaemonLogSettings.generateLogs. The resulting zip file will be placed in a folder named logs under your application's files directory.eraseAllLogFiles. Note that the current active log file is not erased.setDoNotStoreCredentials. Note that you will have to manually call a login method on every new SDK daemon run.ILogCompleteCallback's logComplete callback now takes a boolean indicating successful log generation.loginOAuth.OnDirectorySettings.refreshDirectorySettings.connectProxy. All traffic through the VPN will be sent out via the Local Proxy over the default network interface.setESNIEnabled if your custom directory server does not support ESNI.refreshLastDisconnectEvent.periods member now contains a list of all requested time periods. Use the period member of SessionStats to identify the period the stats are for.enableStatUpdates to specify wanted time periods.StreamingSessionStats for each period.hasVPNPermission to check if VPN permission has already been granted and initializeVPNPermission to request it.enableStatUpdates instead.periods member now contains a list of all requested time periods. Use the period member of SessionStats to identify the period the stats are for.StreamingSessionStats available in SessionStatssetLocalProxyPorts.setVendorUserData can be used to provide a string of user data for an account.StreamingStats fields: (these are now under StreamingSessionStats as of 10.0)StreamStats fields:groupIddownloadSpeedaverageUploadSpeedaverageDownloadSpeedredundantModeSavesspeedModeSavesnameLocalBroadcastHelper - To remove dependency on a deprecated Google library, this has been rewritten from scratch and now works in conjunction with PooledBroadcastReceiver. Messages are delivered on pooled background threads.register - No longer takes a context. Takes a PooledBroadcastReceiver instead of a BroadcastReceiver.unregister - No longer takes a context. Takes a PooledBroadcastReceiver instead of a BroadcastReceiver.setMode with STREAMING. Statistics on individual streams are available from refreshStreamingStats, and are provided once per second when enabling enableConnectionStatUpdates.OnSessionStats are now tracked over multiple time periods, including current session, last day, last week, last month, and total.ISpeedifyHandlerOnSessionStats now passes in a SessionStatPeriods object instead of a SessionStats to accommodate stats over various time periods.setStartupConnect. Use setConnectMethodAuto/setConnectMethodCountry/setConnectMethodCity/setConnectMethodServer to control how servers are chosen at boot.setKillswitch and implement a boot handler to initialize the killswitch at device startup.setEnableDefaultRoute can be used to disable Speedify from obtaining the default route and handling all Internet traffic.LocalProxyDomainWatchlistItemwatchedDomains and proxiedDomains lists.shareLogsOnCaptivePortals callbacks when captive portals are detected.setFirewallIPv6. ICMP and other protocols are now also blockable by domain and IP.setLocalProxyDomainWatchlist. When an attempt to access a watched domain is seen, OnLocalProxyDomainWatchlistHit is triggered. setLocalProxyDomainWatchlistEnable can then be used to enable that service's domains to be sent through the local proxy instead of the VPN.setLocalVendorSettings for saving a custom JSON object for later consumption.OnServiceRestartOnNewAdapterOnAdapterOverlimitsetDirectoryDomainresetDirectoryDomainConnectionStatsprotocol is now of type TransportModeTransportModeHTTPS now serves the same purpose.setForwardPorts to forward ports on a dedicated server to the client device.setExcludeDefaultPrivateIPRanges can be set to false to allow private IP ranges to be routed over the tunnel.ConnectionStatssendEstimateMbps and receiveEstimateMbps are now doublessetNonVPNApplicationsOnServiceRestart to stop this behavior.OnNewAdapter now has a NetworkType argument.OnConnectedServer now sends a ServerInformationDetailed object with more information on the connect server..setDirectoryDomainresetDirectoryDomainOnAdapterOverlimitOnLoginErrorOnConnectErrorloginAutoAccountsetDNSServersConnectionStats now shows download and upload speeds, as well as download and upload maximum speed estimates for connections.com.speedify.speedifysdk.SpeedifySDK#loginOAuth - When using your own directory server that supports it, OAuth access tokens can be used to authenticate a user. It is the application's responsibility to refresh their access token if a login or connect error of type TOKEN_EXPIRED is returned.setOverflowThreshold and overflowThreshold have been updated to reflect this.SpeedifySDK.setReportingEncryptionKeycom.speedify.speedifysdk.LogGeneration - Creates a zip file of all Speedify SDK logs and shares it via an Android Share dialog.com.speedify.speedifysdk.NotificationHelper - Manages notifications and their associated channels.SpeedifySDK.loginAutoAccount - Log in with an automatically generated account. This takes over for setUserUniqueID.AccountingData / OnAccountingData - Obtain information about the account being used.loginAutoAccount. setUserUniqueID remains in place, and simply calls loginAutoAccount internally to preserve compatibility.com.speedify.speedifysdk.UuidProvider - Obtain the device's unique ID.SpeedifySDK.setAdapterOverlimitRatelimit - Control behavior of an adapter when it reaches it's data limit.
repositories {
...
maven { url 'https://maven.google.com' }
}OnLoginError(String,ErrorType) : The default SpeedifyHandler implementation provides an OnLoginError(String) for compatibilityOnConnectError(String,ErrorType) : The default SpeedifyHandler implementation provides an OnConnectError(String) for compatibility