{"id":20936207,"url":"https://github.com/adzerk/audience-android-sdk","last_synced_at":"2025-10-09T02:14:27.377Z","repository":{"id":51484000,"uuid":"177610427","full_name":"adzerk/audience-android-sdk","owner":"adzerk","description":"SDK to integrate Android Apps with Kevel Audience","archived":false,"fork":false,"pushed_at":"2024-10-07T12:53:31.000Z","size":510,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-03-13T02:43:38.309Z","etag":null,"topics":["audience"],"latest_commit_sha":null,"homepage":"https://docs.audience.kevel.com/sdk/android","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adzerk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-25T15:09:53.000Z","updated_at":"2024-10-04T10:19:13.000Z","dependencies_parsed_at":"2025-01-19T19:59:03.910Z","dependency_job_id":"0c050d28-f0e1-49ec-8354-45a01b58bb86","html_url":"https://github.com/adzerk/audience-android-sdk","commit_stats":null,"previous_names":["velocidi/velocidi-android-sdk"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/adzerk/audience-android-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzerk%2Faudience-android-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzerk%2Faudience-android-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzerk%2Faudience-android-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzerk%2Faudience-android-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adzerk","download_url":"https://codeload.github.com/adzerk/audience-android-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzerk%2Faudience-android-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259870917,"owners_count":22924592,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audience"],"created_at":"2024-11-18T22:18:23.555Z","updated_at":"2025-10-09T02:14:27.357Z","avatar_url":"https://github.com/adzerk.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DEPRECATED Kevel Audience SDK\n\n[![No Maintenance Intended](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.velocidi/velocidi-android-sdk/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.velocidi/velocidi-android-sdk)\n\nThis **SDK has been deprecated** and is no longer maintained. We suggest using our [Android platform guide](https://docs.audience.kevel.com/platform-guides/android) instead.\n\n## Installation\n\nKevel Audience SDK is published to Maven central as a single module. Please reference the badge above or go to the [release page](https://github.com/adzerk/audience-android-sdk/releases) to check our latest version.\n\nTo install the SDK in your application you just need to add the following dependency to the `app/build.gradle` file.\n\n```gradle\ndependencies {\n    implementation 'com.velocidi:velocidi-android-sdk:0.5.0'\n}\n```\n\nYou also need to add the following permissions to ensure the good functioning of the SDK.\n\nIn your application `AndroidManifest.xml`:\n\n```xml\n\u003c!-- Required for internet. --\u003e\n\u003cuses-permission android:name=\"android.permission.INTERNET\"/\u003e\n```\n\n## Usage\n\n### Initialize the SDK\n\nWe highly recommend initializing the SDK on the `onCreate` method in your `Application` subclass.\nIf you don't already have an `Application` subclass, you can also instantiate it in your `MainActivity` although it is not recommended.\n\n```kotlin\nimport com.velocidi.Velocidi\n\nclass SampleApplication : Application() {\n    override fun onCreate() {\n        super.onCreate()\n        val config = Config(URL(\"https://cdp.yourdomain.com\"))\n        Velocidi.init(config, this)\n    }\n}\n```\n\n### Collecting IDs\n\nKevel Audience's SDK does not collect any user ID by default. These IDs have to be explicitly provided when executing the requests.\nWe recommend taking a look at Android's documentation about [Best practices for unique identifiers](https://developer.android.com/training/articles/user-data-ids).\n\n#### Using Your Own First-Party IDs\n\nYou can use any ID in our list of [supported IDs](https://docs.audience.kevel.com/collect/user-ids/#default-id-types) with\n[`com.velocidi.UserId`](https://github.com/adzerk/audience-android-sdk/blob/master/velocidi-sdk/src/main/kotlin/com/velocidi/UserId.kt).\nIf you would like to use an ID not present in our list of supported IDs, please contact our support so that we can add it.\n\n#### Using the GAID\n\nGoogle Advertising ID (GAID) is a user-resettable identifier that uniquely identifies a particular user for advertising use cases.\n\nThis ID can be fetched using Android's [Adversiting ID library](https://developer.android.com/reference/androidx/ads/identifier/package-summary).\nA comprehensive guide with examples on how to get the GAID can be found in Android's documentation in\n[Get a user-resettable advertising ID](https://developer.android.com/training/articles/ad-id#kotlin). Once we have the GAID, it can be used like any other ID.\n\n```kotlin\nimport com.velocidi.UserId\nval userId = UserId(\"\u003cgoogleAdId\u003e\", \"gaid\") // UserId(ID Value, ID Type)\n```\n\n#### User ID Matches\n\nThe `match` method allows you to identify a user across multiple channels (Browser, Mobile App, CRM, ...).\nBy performing a match between multiple ids you are telling Kevel Audience that these are the same user\nand all the information retrieved with either one of these IDs belongs to the same user.\nA typical use case for this is, during the login action,\nto associate the user's email with Google's [Advertising ID](https://support.google.com/googleplay/android-developer/answer/6048248).\n\n**Please note** that Kevel Audience SDK is not responsible for managing opt-in/opt-out status or\nensuring the Google's privacy policy are respected. That should be your app's responsibility.\n\n\n```kotlin\nimport com.velocidi.Velocidi\nimport com.velocidi.UserId\n\n// Match the device Advertising Id with the user's email hash\nVelocidi.match(\"\u003cmatchProviderName\u003e\",\n  listOf(\n    UserId(\"\u003cAdvertising ID\u003e\", \"gaid\"),\n    UserId(\"\u003cUser Email Hash\u003e\", \"email_sha256\")))\n```\n\nFor more information refer to [Cross-Channel Matches](https://docs.audience.kevel.com/collect/matches/).\n\n\n### Collecting Events\n\nThe `track` method allows you to collect user activity performed in your application.\nThis method is expecting a tracking event, in the format of a JSON string or a `org.json.JSONObject` with the event details. For more information check our list of [supported events](https://docs.audience.kevel.com/collect/events)\n\n```kotlin\nimport com.velocidi.Velocidi\nimport com.velocidi.UserId\n\n// Using a JSON String\nval eventJsonString =\n    \"\"\"\n    {\n      \"clientId\": \"velocidi\",\n      \"siteId\": \"velocidi.com\",\n      \"type\": \"appView\",\n      \"title\": \"Welcome Screen\"\n    }\n    \"\"\"\n\nVelocidi.getInstance().track(\n  UserId(\"\u003cAdvertising ID\u003e\", \"gaid\"),\n  eventJsonString)\n\n// Using a JSONObject\nval eventJsonObj = mapOf(\n    \"clientId\" to \"velocidi\",\n    \"siteId\" to \"velocidi.com\",\n    \"type\" to \"appView\",\n    \"title\" to \"Welcome Screen\"\n)\n\nVelocidi.getInstance().track(\n  UserId(\"\u003cAdvertising ID\u003e\", \"gaid\"),\n  JSONObject(eventJsonObj))\n```\n\n\n## Need Help?\n\nYou can find more information about Velocidi Private CDP in our https://docs.velocidi.com/\n\nPlease report bugs or issues to https://github.com/velocidi/velocidi-android-sdk/issues or send us an email to engineering@velocidi.com.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadzerk%2Faudience-android-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadzerk%2Faudience-android-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadzerk%2Faudience-android-sdk/lists"}