Android Manual Installation


01 Download Latest SDK (0.8.1)

02 Add taperecorder.aar To Your Android Studio Project

  • Unzip the downloaded file.
    Copy tapeRecorder.aar file to the "libs" folder in your Android Studio project.

  • copy to project img
  • Open app build.gradle file.
    Edit this file as shown in the picture below.

  • edit file img

03 Edit AndroidManifest.xml file

  • Add the following permissions to your AndroidManifest.xml file:

  • <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

  • Add the TapeRecorder upload service to your AndroidManifest.xml file inside <application> tag:

  • <service android:name="com.taperecorder.uploadservice.UploadService" />

  • edit manifest img

04 Initialize TapeRecorder In Your Starting Activity

  • Import TapeRecorder at the top of your activity:

  • import com.taperecorder.TapeRecorder;

  • Start Recording with your API key. Add call to start recording inside the onCreate method:

  • TapeRecorder.startRecordingWithKey("YOUR_API_KEY_HERE", this);

  • start recording img

05 Optional

  • If you use a custom View that overrides onDraw(Canvas canvas) method and use BitmapShader then you need to disable hardware acceleration on that View.

  • CustomImageView customImg = (CustomImageView) findViewById(R.id.customImageView); customImg.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

  • customimg img

iOS Manual Installation


01 Download Latest SDK (1.2)

02 Add Taperecorder.framework To Your Project

  • Unzip the downloaded file.
    Drag TapeRecorder.framework and drop it in your project.

  • drag to project img

03 Add The Following Frameworks To Your App

  • QuartzCore.framework
    AVFoundation.framework
    SystemConfiguration.framework
    CoreMedia.framework
    CoreVideo.framework
    OpenGLES.framework
    Accelerate.framework

  • add frameworks img

04 Initialize TapeRecorder In Your Appdelegate.m

  • Import header at the top of your AppDelegate.m

  • #import <TapeRecorder/TapeRecorder.h>

  • Start Recording with your API key. Add call to start recording at the top of your application:didFinishLaunchingWithOptions:

  • [TapeRecorder startRecordingWithKey:@"YOUR_API_KEY_HERE"];

  • initialize img
  • Press home button to upload recording. (Do not stop Xcode. Videos are uploaded when your app is minimized to the background).

iOS SDK Reference


+(void)startRecordingWithKey:(NSString *)apiKey;

Registers a TapeRecorder session and starts the recording for the app denoted by apiKey.

This method should be called only once at the top of application:didFinishLaunchingWithOptions. It registers the session and starts recording the video. The video is automatically stopped and uploaded 10 seconds after the app is minimized to the background. This method should not be called if calling registerWithApiKey:apiKey. If you want to manually start and stop the recording use registerWithApiKey:apiKey instead.

Parameters

apiKey: The API key for this project.

+(void)registerWithApiKey:(NSString *)apiKey;

Registers a TapeRecorder session for the app denoted by apiKey.

This method should be called only once at the top of application:didFinishLaunchingWithOptions. This method should be used if you want manual control over starting and stopping the recording. Do not use if you are already calling startRecordingWithKey:apiKey.

Parameters

apiKey: The API key for this project.

+(void)startRecording;

Starts recording the session.

It starts recording the video of the session. The video is automatically stopped and uploaded 10 seconds after the app is minimized to the background. Or you can manually stop the session with stopRecording. The video will always be automatically uploaded.

+(void)stopRecording;

Stops recording the session.

It stops recording the video of the session. Once the recording is stopped it cannot be resumed. The video is automatically uploaded 10 seconds after the app is minimized to the background.

+(void)recordEvent:(NSString *)eventName;

Records a custom event specified by eventName.

This method allows you to specify custom events within your app. This is in addition to the events that are collected automatically from third party analytics platforms.

Parameters

eventName: Name of the event.

+(void)occludeView:(UIView *)view;

Hide view that contains sensitive information.

This method allows you to hide a view that contains sensitive information by overlaying a red square on top of the view. UITextFields with isSecureTextEntry set to YES are occluded automatically.

Parameters

view: The View to hide.

+(void)setShouldCollectAnalyticsEventData:(BOOL)collectEventData;

Enable automatic collection of event data from analytics platforms.

Use this method to control if events data from third party analytics platforms are automatically collected. Currently supported Flurry, Google Analytics, Mixpanel, KISSMetrics, Localytics, Keen.io

Default value is YES.

Parameters

collectEventData: NO to stop automatically collecting event data.

+(void)setLogLevel:(TapeRecorderLogLevel)logLevel;

Generates debug logs to console.

This is a method that allows you to tune the amount of debug information related to TapeRecorder SDK.

Default value is TapeRecorderLogLevelCritical.

Parameters

logLevel: Log level.

+(void)setUserID:(NSString *)userID;

Assign a unique id for a user in your app.

Be sure not to pass any confidential information about the user.

Parameters

userID: The app id for a user.

Android SDK Reference


startRecordingWithKey(String apiKey, Activity activity);

Starts the TapeRecorder session for the app denoted by apiKey.

This method should be called in every activity that is an entry point to your app inside the onCreate method.
It starts recording the video of the session. The video is automatically stopped and uploaded after the app is closed.

Parameters

apiKey: The API key for this project.

activity: Activity that is an entry point to your app.

recordEvent(String eventName);

Records a custom event specified by eventName.

This method allows you to specify custom events within your app.

Parameters

eventName: Name of the event.

occludeView(View view);

Hide view that contains sensitive information.

This method allows you to hide a view that contains sensitive information by overlaying a red square on top of the view.

Parameters

view: The View to hide.

setUserID(String userID);

Assign a unique id for a user in your app.

Be sure not to pass any confidential information about the user.

Parameters

userID: The app id for a user.