Developer

FeatureVectorPolicy Handling and Compatibilty with v2 Registration Service for Windows

mobile service for development and operations and SAP Mobile Platform Server version 3.0 SP08 and later provides a registration service and Application Settings structure named v2, that is compatible with SAP Mobile Platform SDK version 3.0 SP09 and later.

The SAP Mobile Platform SDK Logon component attempts to connect to the v2 registration service and if it is not available (for example, an older server version) it falls back to the v1 registration service. The ApplicationSettings subcomponent uses the service version for which the registration succeeded to get the application settings. The ApplicationSettings provides access to feature vector policy settings from SP09 on all platforms, which can be accessed through the ApplicationSettings class. The policy is provided as a dictionary (platform dependent) of a string and FeatureVectorPolicy key value pairs.

The properties of a FeatureVectorPolicy are:
  • Properties:
    • AdditionalParameters : IReadOnlyDictionary<string, IReadOnlyProperty>
    • Description : string
    • DisplayName : string
    • Id : string
    • JsModule : string
    • Name : string
    • PluginName : string
    • Version : string
    • Whitelist : string
  • Methods: FeatureVectorPolicy()
ApplicationSettings also provides a simple property to get all Usage related Settings from the IUsageSettings object. Properties are:
  • IsAppSpecificClientUsageKeysEnabled : bool?
  • ShouldCollectClientUsageReports : bool?
  • Usage3GUploadTime : uint?

Windows FeatureVectorPolicy API Usage

ApplicationSettings API:
/// <summary>
/// Contains the FeatureVectorePolicies coming from the SMP/HANA server
/// </summary>
public IReadOnlyDictionary<string, FeatureVectorPolicy> FeatureVectorPolicies { get }

/// <summary>
/// Property for getting the time in days after usage records should be uploaded to SMP/HANA server through 3G connection
/// </summary>
public IUsageSettings UsageSettings { get }
FeatureVectorPolicy:
public sealed class FeatureVectorPolicy {

	public FeatureVectorPolicy(string id) {
		this.Id = id;
	}

	public string Name { get; }

	public string Description { get; }

	public string PluginName { get; }

	public string Id { get; }

	public string JsModule { get; }

	public string Version { get; }

	public string DisplayName { get; }

	public string WhiteList { get; }

	public IReadOnlyDictionary<string, IReadOnlyProperty> AdditionalParameters { get; }
}
Usage configuration settings provided by ApplicationSettings:
/// <summary>
/// Interface for getting the usage settings from SMP/HANA server
/// </summary>
public interface IUsageSettings {

	/// <summary>
	/// Property for getting the time in days after usage records should be uploaded to SMP/HANA server through 3G connection
	/// </summary>
	uint? Usage3GUploadTime { get; }

	/// <summary>
	/// Property for getting whether client usage reports are collected
	/// </summary>
	bool? ShouldCollectClientUsageReports { get; }

	/// <summary>
	/// Property for getting whether application specific client usage keys are enabled
	/// </summary>
	bool? IsAppSpecificClientUsageKeysEnabled { get; }
}