Device Fingerprinting

This documentation explains how to create and submit a device fingerprint for a users mobile device.

Introduction

📘

Per the Bazaarvoice Authenticity Policy, you must send a device fingerprint attached to each submission. If you fail to send a device fingerprint with your submission, Bazaarvoice may take any action deemed necessary in Bazaarvoice’s sole discretion to protect the integrity of the network. Such actions may include but are not limited to: rejection of your content, halting syndication of your content on the Bazaarvoice network, revocation of your API key, or revocation of your API license.

Bazaarvoice has partnered with iovation, an industry leader in device reputation technology, to ensure authenticity in consumer-generated content. Bazaarvoice Mobile SDKs for Android and iOS support the ability to include the iovation fingerprint along with Conversations API Submission requests, using the fingerPrint parameter. Contact your Bazaarvoice support representative to request an evaluation of the iovation integration.

Refer to the Device Fingerprinting page of the Bazaarvoice Developer Portal for technical details about creating and submitting device fingerprinting information from iovation with consumer-generated content. Refer to the Mobile Device Fingerprinting page of the Developer Portal for mobile-specific details about integrating with iovation.

Downloading the iovation SDK

  • BV SDK version 8.5.2

Retrieve the fraudforce-lib-4.1.1-release.aar file from iovation/deviceprint-SDK-Android, and add it to your app/libs directory (create the libs directory in your app directory if it does not exist).

Add the libs directory to your repositories in your build.gradle file, e.g.

  repositories {
    flatDir {
      dir 'libs'
    }
  }

Add iovation to your dependencies in your build.gradle, e.g.

  dependencies {
    implementation('com.iovation.fraudforce.lib.FraudForce:fraudforce-lib-4.1.1-release:4.1.1@aar')
  }
  • BV SDK version 7.0.0

Retrieve the fraudforce-lib-release-3.0.1.aar file from iovation/deviceprint-SDK-Android, and add it to your app/libs directory (create the libs directory in your app directory if it does not exist).

Add the libs directory to your repositories in your build.gradle file, e.g.

  repositories {
    flatDir {
      dir 'libs'
    }
  }

Add iovation to your dependencies in your build.gradle, e.g.

  dependencies {
    implementation('com.iovation.fraudforce.lib.FraudForce:fraudforce-lib-release-3.0.1:3.0.1@aar')
  }
  • BV SDK versions pre 7.0.0

Retrieve the deviceprint-lib-release-2.3.3.aar file from iovation/deviceprint-SDK-Android, and add it to your app/libs directory (create the libs directory in your app directory if it does not exist).

Add the libs directory to your repositories in your build.gradle file, e.g.

  repositories {
    flatDir {
      dir 'libs'
    }
  }  

Add iovation to your dependencies in your build.gradle, e.g.

  dependencies {
    compile('com.iovation.deviceprint.lib.DevicePrint:deviceprint-lib-release-2.3.3:2.3.3@aar')
  }

Android integration

After you integrate the iovation aar, register an instance of the IovationFingerprint class with the BVConversationsClient.Builder. All requests will automatically have a fingerprint applied to them.

IovationFingerprint fpProvider = new IovationFingerprint(BVSDK.getInstance());
 
BVConversationsClient client = new BVConversationsClient.Builder(BVSDK.getInstance())
  .fingerprintProvider(fpProvider)
  .build(); // Use one instance
 
ReviewSubmission submission = new ReviewSubmission.Builder(Action.Submit, productId)
  // other submission params here
  .build();
 
client.prepareCall(submission).loadAsync(new ConversationsCallback<ReviewSubmissionResponse>() {
  @Override
  public void onSuccess(ReviewSubmissionResponse response) {
    // Handle repsonse
  }
 
  @Override
  public void onFailure(BazaarException exception) {
    // Failure, handle error appropriately
  }
});