Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[signature] Reflect integration methods & SDK v5 influence; Leverage v4 & v5 SDK tabs #1279

Merged
merged 12 commits into from
Jan 24, 2025
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,19 @@ redirects:
v5: /en/sdk/android/integrations/signature-library
---

<Callout type="note">

This page refers to integration steps for the Adjust SDK v4. If you're using the Adjust SDK v5, please select the appropriate tab on the dropdown menu to your left.

</Callout>

Adjust's SDK Signature library is designed to be a standalone plugin for the Adjust SDK. This means you don’t need to change any of your code or change how you use the Adjust SDK in your app. Once you install the plugin, all requests made by the Adjust SDK will continue to work as expected.

## Before you begin {#before-you-begin}

<Callout type="note">

The SDK Signature library is configured to use [16KB page sizes](https://developer.android.com/guide/practices/page-sizes) in [version 3.32.0 or greater](https://github.com/adjust/adjust_signature_sdk/releases/tag/v3.32.0).
The Signature library is configured to use [16KB page sizes](https://developer.android.com/guide/practices/page-sizes) in [version 3.32.0 or greater](https://github.com/adjust/adjust_signature_sdk/releases/tag/v3.32.0).

</Callout>

Expand All @@ -43,24 +49,41 @@ If you previously used Signature v1 or Signature v2, you first need to remove th
- If you previously integrated Signature v1, remove any code that calls to signature functions in your project.
- If you previously integrated Signature v2, remove the Signature v2 library from your project.

### Updating the Signature Library {#updating-the-signature-library}
## Integrate the Signature library {#integrate-the-signature-library}

To update the Adjust Signature library, replace the existing Signature library with a new version and rerun your tests. You don't need to make any immediate changes to your app logic or settings in Adjust as long as your [certificates are configured and haven't been altered](https://help.adjust.com/en/article/sdk-signature#manage-your-certificate-fingerprints). Remember to [deactivate your secret IDs if they meet the following criteria](https://help.adjust.com/en/article/sdk-signature#manage-your-secret-ids):
<Tabs>
<Tab title="Maven" sync="maven">

- They're no longer contributing to your install reporting.
- You've fully released a new version of your app (across all app platforms and stores).
The Signature libraries are released on [GitHub](https://github.com/adjust/adjust_signature_sdk/releases/) and are propagated to Maven from version `3.20.1` onwards. To add the Signature library to your project, append the following to your app-level `build.gradle` (change the version with the [latest available](https://github.com/adjust/adjust_signature_sdk/releases/latest)):

## Integrate the signature library (SDK v4 only) {#integrate-the-signature-library}
```groovy
dependencies {
implementation 'com.adjust.signature:adjust-android-signature:x.x.x'
}
```

<Callout type="note">
Alternatively, the Beta releases are available on Maven from version `3.24.1` onwards. To add the Signature library to your project, append the following to your project-level and app-level `build.gradle` respectively (change the version with the [latest available](https://github.com/adjust/adjust_signature_sdk/releases)):

Adjust SDK v5 supports SDK signature verification natively. If you previously integrated the SDK signature library, you should uninstall it and remove all related code.
```groovy
repositories {
maven {
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
...
```

</Callout>
```groovy
dependencies {
implementation 'com.adjust.signature:adjust-android-signature:x.x.x-SNAPSHOT'
}
```

That’s it! The Signature library is now integrated into your project. Follow the steps in the next section to configure your digital certificates in the Adjust suite.

Follow these steps to integrate the Signature library in your Android project.
</Tab>
<Tab title="Manual integration" sync="manual-integration">

1. Fetch the [Signature library content from GitHub](https://github.com/adjust/adjust_signature_sdk/releases/latest).
1. Fetch from GitHub the [latest Stable](https://github.com/adjust/adjust_signature_sdk/releases/latest) or [Beta](https://github.com/adjust/adjust_signature_sdk/releases) version.
2. Create a new `libs` directory inside your app module directory.
3. Copy the provided AAR library into the `libs` directory.

Expand All @@ -84,6 +107,9 @@ Follow these steps to integrate the Signature library in your Android project.

That’s it! The Signature library is now integrated into your project. Follow the steps in the next section to configure your digital certificates in the Adjust suite.

</Tab>
</Tabs>

## Set up your certificates in the Adjust suite {#set-up-your-certificates-in-the-adjust-suite}

Once you integrate the Signature library into your app, all requests sent by the Adjust SDK to Adjust are signed. The Adjust SDK will also transmit relevant information to Adjust’s servers, including the fingerprint of your signing certificate.
Expand Down Expand Up @@ -242,3 +268,10 @@ To test your Signature library integration:
If these fields are present and contain the correct information, you have successfully integrated the Signature library. If the fields display any other values, review the integration steps again or contact [email protected] for further assistance.

That’s it! You’ve successfully integrated the Signature library into your app. Once [two attribution windows have passed](https://help.adjust.com/en/article/attribution-windows), you can [enforce SDK signature validation](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation) to make sure that only signed requests are accepted by Adjust.

## Updating the Signature Library {#updating-the-signature-library}

Updating the Signature library consists of replacing the existing library with a newer version and rerunning your tests. You don't need to make any immediate changes to your app logic or settings in Adjust. Remember to [deactivate your secret IDs if they meet the following criteria](https://help.adjust.com/en/article/sdk-signature#manage-your-secret-ids):

- They're no longer contributing to your install reporting.
- You've fully released a new version of your app (across all app platforms and stores).
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,26 @@ redirects:
v4: /en/sdk/android/v4/integrations/signature-library
---

<Callout type="note">

This page refers to integration steps for the Adjust SDK v5. If you're using the Adjust SDK v4, please select the appropriate tab on the dropdown menu to your left.

</Callout>

Adjust's SDK Signature library is designed to be a standalone plugin for the Adjust SDK. This means you don’t need to change any of your code or change how you use the Adjust SDK in your app. Once you install the plugin, all requests made by the Adjust SDK will continue to work as expected.

## Before you begin {#before-you-begin}

<Callout type="note">

The SDK Signature library is configured to use [16KB page sizes](https://developer.android.com/guide/practices/page-sizes) in [version 3.32.0 or greater](https://github.com/adjust/adjust_signature_sdk/releases/tag/v3.32.0).
The Signature library is configured to use [16KB page sizes](https://developer.android.com/guide/practices/page-sizes) in [version 3.32.0 or greater](https://github.com/adjust/adjust_signature_sdk/releases/tag/v3.32.0).

</Callout>

To integrate the Signature library into your Android app, ensure the following:

- The Android API version in use is **21 or greater**.
- The Adjust SDK version in use is **4.38.2 or greater**. This requirement applies even when the Adjust SDK is used indirectly.
- The Adjust SDK version in use is **5.0.0 or greater**. This requirement applies even when the Adjust SDK is used indirectly.
- If you use Proguard, you must use the exact same Proguard configuration for both the Signature library and the Adjust SDK.

<Callout type="important">
Expand All @@ -43,24 +49,49 @@ If you previously used Signature v1 or Signature v2, you first need to remove th
- If you previously integrated Signature v1, remove any code that calls to signature functions in your project.
- If you previously integrated Signature v2, remove the Signature v2 library from your project.

rscloura marked this conversation as resolved.
Show resolved Hide resolved
### Updating the Signature Library {#updating-the-signature-library}
## Integrate the Signature library {#integrate-the-signature-library}

To update the Adjust Signature library, replace the existing Signature library with a new version and rerun your tests. You don't need to make any immediate changes to your app logic or settings in Adjust as long as your [certificates are configured and haven't been altered](https://help.adjust.com/en/article/sdk-signature#manage-your-certificate-fingerprints). Remember to [deactivate your secret IDs if they meet the following criteria](https://help.adjust.com/en/article/sdk-signature#manage-your-secret-ids):
<Tabs>
<Tab title="Maven" sync="maven">

- They're no longer contributing to your install reporting.
- You've fully released a new version of your app (across all app platforms and stores).
The Signature libraries are released on [GitHub](https://github.com/adjust/adjust_signature_sdk/releases/) and are propagated to Maven from version `3.20.1` onwards. To add the Signature library to your project, append the following to your app-level `build.gradle` (change the version with the [latest available](https://github.com/adjust/adjust_signature_sdk/releases/latest)):

## Integrate the signature library (SDK v4 only) {#integrate-the-signature-library}
```groovy
dependencies {
implementation('com.adjust.sdk:adjust-android:5.x.x') {
exclude group: 'com.adjust.signature', module: 'adjust-android-signature'
}

<Callout type="note">
implementation 'com.adjust.signature:adjust-android-signature:x.x.x'
}
```

Adjust SDK v5 supports SDK signature verification natively. If you previously integrated the SDK signature library, you should uninstall it and remove all related code.
Alternatively, the Beta releases are available on Maven from version `3.24.1` onwards. To add the Signature library to your project, append the following to your project-level and app-level `build.gradle` respectively (change the version with the [latest available](https://github.com/adjust/adjust_signature_sdk/releases)):

</Callout>
```groovy
repositories {
maven {
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
...
```

Follow these steps to integrate the Signature library in your Android project.
```groovy
dependencies {
implementation('com.adjust.sdk:adjust-android:5.x.x') {
exclude group: 'com.adjust.signature', module: 'adjust-android-signature'
}

implementation 'com.adjust.signature:adjust-android-signature:x.x.x-SNAPSHOT'
}
```

That’s it! The Signature library is now integrated into your project. Follow the steps in the next section to configure your digital certificates in the Adjust suite.

1. Fetch the [Signature library content from GitHub](https://github.com/adjust/adjust_signature_sdk/releases/latest).
</Tab>
<Tab title="Manual integration" sync="manual-integration">

1. Fetch from GitHub the [latest Stable](https://github.com/adjust/adjust_signature_sdk/releases/latest) or [Beta](https://github.com/adjust/adjust_signature_sdk/releases) version.
2. Create a new `libs` directory inside your app module directory.
3. Copy the provided AAR library into the `libs` directory.

Expand All @@ -84,6 +115,9 @@ Follow these steps to integrate the Signature library in your Android project.

That’s it! The Signature library is now integrated into your project. Follow the steps in the next section to configure your digital certificates in the Adjust suite.

</Tab>
</Tabs>

## Set up your certificates in the Adjust suite {#set-up-your-certificates-in-the-adjust-suite}

Once you integrate the Signature library into your app, all requests sent by the Adjust SDK to Adjust are signed. The Adjust SDK will also transmit relevant information to Adjust’s servers, including the fingerprint of your signing certificate.
Expand Down Expand Up @@ -242,3 +276,10 @@ To test your Signature library integration:
If these fields are present and contain the correct information, you have successfully integrated the Signature library. If the fields display any other values, review the integration steps again or contact [email protected] for further assistance.

That’s it! You’ve successfully integrated the Signature library into your app. Once [two attribution windows have passed](https://help.adjust.com/en/article/attribution-windows), you can [enforce SDK signature validation](https://help.adjust.com/en/article/sdk-signature#enforce-signature-validation) to make sure that only signed requests are accepted by Adjust.

## Updating the Signature Library {#updating-the-signature-library}

The Signature library is automatically updated along with any Adjust SDK v5 update. If a specific Signature library version is required, replace the existing library with a newer version and rerun your tests. You don't need to make any immediate changes to your app logic or settings in Adjust as long as your [certificates are configured and haven't been altered](https://help.adjust.com/en/article/sdk-signature#manage-your-certificate-fingerprints). Remember to [deactivate your secret IDs if they meet the following criteria](https://help.adjust.com/en/article/sdk-signature#manage-your-secret-ids):

- They're no longer contributing to your install reporting.
- You've fully released a new version of your app (across all app platforms and stores).
Loading
Loading