diff --git a/.idea/compiler.xml b/.idea/compiler.xml index fb7f4a8..b589d56 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/README.md b/README.md index d151997..e0e53de 100644 --- a/README.md +++ b/README.md @@ -2,41 +2,29 @@ ![jitpack](https://maven-badges.herokuapp.com/maven-central/com.argyle/argyle-link-android/badge.svg) -Argyle’s Android Link SDK provides a way to integrate [Link](https://docs.argyle.com/guides/docs/argyle-link-overview) into your Android app. - -First-time installation instructions are below. To update versions, visit our [upgrade guide](https://github.com/argyle-systems/argyle-link-android/blob/master/UPGRADING.md). +Argyle’s Android Link SDK provides a way to integrate [Link](https://argyle.com/docs/link/overview) into your Android app. **Requirements:** -- Android 8.0 (API level 26) and above -- Kotlin `1.7.10+` -- Android Gradle Plugin `7.2+` -- Gradle `7.2+` +``` +android { + compileSdk 34 + defaultConfig { + minSdk 26 + ... + } + ... +} +``` ## Installing the SDK - - -1. Add the following line within the dependencies of your `build.gradle` [configuration file](https://developer.android.com/studio/build#top-level): - -```kotlin +1. Add the following line within the dependencies of your app `build.gradle` [configuration file](https://developer.android.com/build/dependencies#add-dependencies-without-catalogs): +```groovy dependencies { - implementation 'com.argyle:argyle-link-android:5.x.x' + implementation 'com.argyle:argyle-link-android:5.+' } ``` - -1. [Sync your Android project](https://developer.android.com/studio/build#sync-files) to import the build configuration changes - -### Notes - -- Starting with Link `4.7.3` we dropped JitPack as means of distribution in favor of [Maven Central](https://central.sonatype.dev/). -- If you are using tools like ProGuard to obfuscate your code… - - Make sure to exclude the Link SDK package `com.argyle.*` - - For example, add the following line to the `proguard-rules.pro` file of your ProGuard configuration: - - ``` - -keep class com.argyle. { *; } - ``` - +2. [Sync your Android project](https://developer.android.com/build#sync-files) to import the build configuration changes ## Implementing Link @@ -45,12 +33,12 @@ dependencies { 2. Create a user token: - **New users** 1. Create a new user by sending a **POST** to the [users endpoint](https://docs.argyle.com/guides/reference/create-a-user) of the Argyle API - 2. The response payload will include an `id` and `user_token` - 3. Save the `id` for quickly creating user tokens for this user in the future + 2. The response payload will include an `id` and `user_token` + 3. Save the `id` for quickly creating user tokens for this user in the future 4. Initialize Link by passing the `user_token` as the value for the `userToken` parameter - **Returning users** 1. Send a **POST** request to the [user-tokens endpoint](https://docs.argyle.com/guides/reference/create-a-user-token) of the Argyle API - - Include the `id` of the user in the request body as a JSON object in the format `{"user": ""}` + - Include the `id` of the user in the request body as a JSON object in the format `{"user": ""}` 2. A `user_token` will be included in the response payload 3. Initialize Link by passing the `user_token` as the value for the `userToken` parameter 1. Initialize Link using the Link key and user token. @@ -84,7 +72,7 @@ config.onDDSError = { data -> Log.d("Result", "onDDSError $data") } config.onTokenExpired = { handler -> - // generate your new token here + // generate your new token here // handler(newToken) } diff --git a/UPGRADING.md b/UPGRADING.md deleted file mode 100644 index 4c0286d..0000000 --- a/UPGRADING.md +++ /dev/null @@ -1,69 +0,0 @@ -# Android SDK version upgrade guide - -## Learn how to upgrade to the newest Link version. -If you are looking to integrate Argyle Link for the first time navigate to [integration guide](https://github.com/argyle-systems/argyle-link-android#readme). - -- [Android SDK upgrade guide](#android-sdk-upgrade-guide) -- [Migrating to Link 4](#migrating-to-link-4) - ---- -## Android SDK upgrade guide -### Review the changes in the latest version -Before you upgrade to a new version of the Link SDK, you should review the [Releases page](https://github.com/argyle-systems/argyle-link-android/releases). This will help you to understand any changes that you will need to make in your code as the result of an upgrade. - -We strongly recommend upgrading the SDK as soon as there is a new version available. Doing so will help you to provide the best Argyle Link experience in your application. - ---- -### Upgrade to a new SDK version -**The minimum supported Android version is Android 6.0 (API level 23).** - -- In your app module gradle file (typically found at `app/build.gradle`) locate the Argyle dependency within your dependencies block and increment the version number according to the latest version number displayed in the [Releases page](https://github.com/argyle-systems/argyle-link-android/releases). - -``` -implementation 'com.argyle:argyle-plugin-android-source:' -``` - -- To verify the change initiate a gradle sync and confirm no errors. - -- If you are using pro-guard, make sure you have the most up-to-date Proguard rules which can be found in our [integration guide](https://github.com/argyle-systems/argyle-link-android#readme). - ---- -# Migrating to Link 4 - -If you're using a previous version of Link and would like to migrate to the new version, please review updates described below, make necessary changes and then follow the usual [Android Link SDK version upgrade instruction](#upgrade-to-a-new-sdk-version) defined above. - ---- -### Updated configuration attributes - -Please find below a list of all configuration attributes that have been removed or changed. - ---- - -**introSearchPlaceholder: removed** - -Became redundant due to [Intro screen](https://argyle.com/docs/products/link-4#intro-screen) redesign. - ---- -**searchScreenTitle: removed** - -Became redundant due to [Search screen](https://argyle.com/docs/products/link-4#search-screen) redesign. - ---- -**searchScreenSubtitle: removed** - -Became redundant due to [Search screen](https://argyle.com/docs/products/link-4#search-screen) redesign. - ---- -**dataPartners: removed** - -The property has been deprecated since introduction of Link 3 in favor of `linkItems`. - ---- - -### Updated error code - -[Link Initialization error](https://argyle.com/docs/developer-tools/link-initialization-errors#) **invalid_plugin_key: renamed** - -The error was renamed to `invalid_link_key`. - ---- diff --git a/app/build.gradle b/app/build.gradle index 1643fd9..81d2236 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,12 +6,12 @@ plugins { android { namespace 'com.argyleexample' - compileSdk 33 + compileSdk 34 defaultConfig { applicationId "com.argyleexample" minSdk 26 - targetSdk 33 + targetSdk 34 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -19,13 +19,14 @@ android { buildTypes { release { - minifyEnabled false + minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.debug } } kotlinOptions { - jvmTarget = '1.8' + jvmTarget = JavaVersion.VERSION_11.toString() } buildFeatures { @@ -33,16 +34,16 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 } } dependencies { - implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' - implementation 'com.argyle:argyle-link-android:5.3.0' + implementation 'com.argyle:argyle-link-android:5.+' testImplementation 'junit:junit:4.13.2' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 42bc2b3..f1b4245 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -19,5 +19,3 @@ # If you keep the line number information, uncomment this to # hide the original source file name. #-renamesourcefileattribute SourceFile - --keep class com.argyle.** { *; } \ No newline at end of file diff --git a/build.gradle b/build.gradle index fbcea29..e6c7524 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - kotlin_version = '1.8.0' + kotlin_version = '1.9.25' } repositories { @@ -11,7 +11,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:7.4.1' + classpath 'com.android.tools.build:gradle:8.5.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle.properties b/gradle.properties index dbe0688..9843fe0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,3 +25,5 @@ android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f233f33..e2a0adc 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sun Jul 04 23:14:55 EEST 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists