# Other methods

### Represents access to the public API

```
@interface RPAPIEntry : NSObject {
}
- (void)refresh;
```

### Entry point class for RaxelPulse SDK. Start your work with this class instance initialization.

```
@interface RPEntry : NSObject
```

### Properties

| Item                                                   | Method                                                                                                                            |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- |
| Current SDK Version                                    | `@property (readonly, nonatomic) NSString *version;`                                                                              |
| API Entry point                                        | `@property (readonly, nonatomic) RPAPIEntry *api;`                                                                                |
| Virtual device token                                   | `@property (weak, nonatomic) NSString * _Nullable virtualDeviceToken;`                                                            |
| Disables tracking while leaving some SDK functions on. | `@property (assign, nonatomic) BOOL disableTracking;`                                                                             |
| Force API Language                                     | `@property (nonatomic) RPApiLanguage apiLanguage;`                                                                                |
| Advertising identifier. It can be send with heartbeat. | `@property (strong, nonatomic) NSUUID *advertisingIdentifier;`                                                                    |
| Delegate for event logging.                            | `@property (weak, nonatomic) id<RPLogDelegate> logDelegate;`                                                                      |
| Delegate for speeding events.                          | <p><code>@property (weak, nonatomic) id\<RPSpeedLimitDelegate> speedLimitDelegate;</code><br><code>#pragma mark - Root</code></p> |

### **RPEntry**

#### **Initialises new RPEntry class instance with specified device ID. Must be the first method calling from RaxelPulse SDK.**

```
@param useHardware Indicates whether the SDK should enable hardware monitoring in addition to GPS location updates.
+ (void)initializeWithHardwareMonitoring:(BOOL)useHardware __attribute__ ((deprecated("use [RPEntry initializeWithRequestingPermissions:] method")));
```

#### Initialises new RPEntry class instance with specified device ID. Must be the first method calling from RaxelPulse SDK.

```
@param requestPermissions Indicates whether the SDK should request system permissions.
+ (void)initializeWithRequestingPermissions:(BOOL)requestPermissions;
```

#### Returns shared RPEntry class instance. This method can be called only after initializeWithDeviceToken:useHardwareMonitoring: method execution.

```
@return Shared RPEntry class instance.
+ (instancetype)instance;
- (instancetype)init NS_UNAVAILABLE;+ (instancetype)new NS_UNAVAILABLE;
```

### Utils

#### Remove virtual device token. Use this method instead of setting empty token.

```
- (void)removeVirtualDeviceToken;
```

### RPAPIEntry

```
@param response The server response. Final type depends on the query.
@param error The error describing failure.
typedef void(^RPAPIEntryCallback)(id response, NSError *error);
@class RPAPIEntry;@class RPTrack;
```

**IMPORTANT:** You must call these methods from your app delegate's methods with the same signatures

```
+ (void)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;
+ (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler;
+ (void)applicationDidBecomeActive:(UIApplication *)application;
+ (void)applicationDidEnterBackground:(UIApplication *)application;
+ (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;
+ (void)applicationWillTerminate:(UIApplication *)application;+ (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(void))completionHandler;
```
