├── .gitignore ├── Adjust ├── build.gradle ├── examples │ ├── example-app-fbpixel │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ └── AdjustExample-FbPixel.html │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── examples │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ │ └── xml │ │ │ └── network_security_config.xml │ ├── example-app-java │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── examples │ │ │ │ ├── GlobalApplication.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── ServiceActivity.java │ │ │ │ └── ServiceExample.java │ │ │ └── res │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ └── activity_service.xml │ │ │ ├── menu │ │ │ └── menu_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── example-app-keyboard │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── examples │ │ │ │ └── keyboard │ │ │ │ ├── GlobalApplication.java │ │ │ │ ├── KeyboardInputMethodService.java │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ ├── key_preview.xml │ │ │ └── keyboard_view.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ │ └── xml │ │ │ ├── keyboard.xml │ │ │ └── method.xml │ ├── example-app-kotlin │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── examples │ │ │ │ ├── GlobalApplication.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── ServiceActivity.kt │ │ │ │ └── ServiceExample.kt │ │ │ └── res │ │ │ ├── layout │ │ │ ├── activity_main.xml │ │ │ └── activity_service.xml │ │ │ ├── menu │ │ │ └── menu_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── example-app-tv │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── examples │ │ │ │ ├── GlobalApplication.java │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── values-w820dp │ │ │ └── dimens.xml │ │ │ └── values │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ └── example-app-webbridge │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ └── AdjustExample-WebView.html │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── examples │ │ │ └── MainActivity.java │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── network_security_config.xml ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── plugins │ ├── sdk-plugin-huawei-referrer │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── sdk │ │ │ │ └── huawei │ │ │ │ ├── AdjustHuaweiReferrer.java │ │ │ │ ├── HuaweiInstallReferrerDetails.java │ │ │ │ ├── HuaweiInstallReferrerResult.java │ │ │ │ ├── HuaweiReferrerClient.java │ │ │ │ ├── OnHuaweiInstallReferrerReadListener.java │ │ │ │ └── Util.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── sdk-plugin-imei │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── sdk │ │ │ │ └── imei │ │ │ │ ├── AdjustImei.java │ │ │ │ ├── TelephonyIdsUtil.java │ │ │ │ └── Util.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── sdk-plugin-meta-referrer │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── sdk │ │ │ │ └── meta │ │ │ │ ├── AdjustMetaReferrer.java │ │ │ │ ├── MetaInstallReferrerDetails.java │ │ │ │ ├── MetaInstallReferrerResult.java │ │ │ │ ├── MetaReferrerClient.java │ │ │ │ ├── OnMetaInstallReferrerReadListener.java │ │ │ │ └── Util.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── sdk-plugin-oaid │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── libs │ │ │ └── oaid_sdk_2.0.0.aar │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── sdk │ │ │ │ └── oaid │ │ │ │ ├── AdjustOaid.java │ │ │ │ ├── HmsSdkClient.java │ │ │ │ ├── MsaSdkClient.java │ │ │ │ ├── OaidInfo.java │ │ │ │ ├── OaidResult.java │ │ │ │ ├── OnOaidReadListener.java │ │ │ │ └── Util.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── sdk-plugin-samsung-clouddev │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── sdk │ │ │ │ └── samsung │ │ │ │ └── clouddev │ │ │ │ ├── AdjustSamsungCloudDev.java │ │ │ │ ├── SamsungCloudDevClient.java │ │ │ │ └── Util.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── sdk-plugin-samsung-referrer │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── sdk │ │ │ │ └── samsung │ │ │ │ ├── AdjustSamsungReferrer.java │ │ │ │ ├── OnSamsungInstallReferrerReadListener.java │ │ │ │ ├── SamsungInstallReferrerDetails.java │ │ │ │ ├── SamsungInstallReferrerResult.java │ │ │ │ ├── SamsungReferrerClient.java │ │ │ │ └── Util.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── sdk-plugin-vivo-referrer │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── adjust │ │ │ │ └── sdk │ │ │ │ └── vivo │ │ │ │ ├── AdjustVivoReferrer.java │ │ │ │ ├── OnVivoInstallReferrerReadListener.java │ │ │ │ ├── Util.java │ │ │ │ ├── VivoInstallReferrerDetails.java │ │ │ │ ├── VivoInstallReferrerResult.java │ │ │ │ └── VivoReferrerClient.java │ │ │ └── res │ │ │ └── values │ │ │ └── strings.xml │ ├── sdk-plugin-webbridge │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets │ │ │ ├── adjust.js │ │ │ ├── adjust_config.js │ │ │ ├── adjust_event.js │ │ │ ├── adjust_store_info.js │ │ │ └── adjust_third_party_sharing.js │ │ │ └── java │ │ │ └── com │ │ │ └── adjust │ │ │ └── sdk │ │ │ └── webbridge │ │ │ ├── AdjustBridge.java │ │ │ ├── AdjustBridgeInstance.java │ │ │ ├── AdjustBridgeUtil.java │ │ │ └── FacebookSDKJSInterface.java │ └── sdk-plugin-xiaomi-referrer │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── adjust │ │ │ └── sdk │ │ │ └── xiaomi │ │ │ ├── AdjustXiaomiReferrer.java │ │ │ ├── OnXiaomiInstallReferrerReadListener.java │ │ │ ├── Util.java │ │ │ ├── XiaomiInstallReferrerDetails.java │ │ │ ├── XiaomiInstallReferrerResult.java │ │ │ └── XiaomiReferrerClient.java │ │ └── res │ │ └── values │ │ └── strings.xml ├── sdk-core │ ├── adjust-proguard-rules.txt │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── adjust │ │ │ └── sdk │ │ │ ├── ActivityHandler.java │ │ │ ├── ActivityKind.java │ │ │ ├── ActivityPackage.java │ │ │ ├── ActivityState.java │ │ │ ├── Adjust.java │ │ │ ├── AdjustAdRevenue.java │ │ │ ├── AdjustAttribution.java │ │ │ ├── AdjustConfig.java │ │ │ ├── AdjustDeeplink.java │ │ │ ├── AdjustEvent.java │ │ │ ├── AdjustEventFailure.java │ │ │ ├── AdjustEventSuccess.java │ │ │ ├── AdjustFactory.java │ │ │ ├── AdjustInstance.java │ │ │ ├── AdjustLinkResolution.java │ │ │ ├── AdjustPlayStorePurchase.java │ │ │ ├── AdjustPlayStoreSubscription.java │ │ │ ├── AdjustPreinstallReferrerReceiver.java │ │ │ ├── AdjustPurchaseVerificationResult.java │ │ │ ├── AdjustReferrerReceiver.java │ │ │ ├── AdjustSessionFailure.java │ │ │ ├── AdjustSessionSuccess.java │ │ │ ├── AdjustSigner.java │ │ │ ├── AdjustStoreInfo.java │ │ │ ├── AdjustTestOptions.java │ │ │ ├── AdjustThirdPartySharing.java │ │ │ ├── AndroidIdUtil.java │ │ │ ├── AttributionHandler.java │ │ │ ├── AttributionResponseData.java │ │ │ ├── BackoffStrategy.java │ │ │ ├── Constants.java │ │ │ ├── DeviceInfo.java │ │ │ ├── EventResponseData.java │ │ │ ├── FirstSessionDelayManager.java │ │ │ ├── GlobalParameters.java │ │ │ ├── GooglePlayInstallReferrerDetails.java │ │ │ ├── GooglePlayServicesClient.java │ │ │ ├── IActivityHandler.java │ │ │ ├── IAttributionHandler.java │ │ │ ├── ILogger.java │ │ │ ├── IPackageHandler.java │ │ │ ├── IPurchaseVerificationHandler.java │ │ │ ├── IRunActivityHandler.java │ │ │ ├── ISdkClickHandler.java │ │ │ ├── InstallReferrer.java │ │ │ ├── InstallReferrerReadListener.java │ │ │ ├── LogLevel.java │ │ │ ├── Logger.java │ │ │ ├── OnAdidReadListener.java │ │ │ ├── OnAmazonAdIdReadListener.java │ │ │ ├── OnAttributionChangedListener.java │ │ │ ├── OnAttributionReadListener.java │ │ │ ├── OnDeeplinkResolvedListener.java │ │ │ ├── OnDeferredDeeplinkResponseListener.java │ │ │ ├── OnEventTrackingFailedListener.java │ │ │ ├── OnEventTrackingSucceededListener.java │ │ │ ├── OnGoogleAdIdReadListener.java │ │ │ ├── OnGooglePlayInstallReferrerReadListener.java │ │ │ ├── OnIsEnabledListener.java │ │ │ ├── OnLastDeeplinkReadListener.java │ │ │ ├── OnPurchaseVerificationFinishedListener.java │ │ │ ├── OnSdkVersionReadListener.java │ │ │ ├── OnSessionTrackingFailedListener.java │ │ │ ├── OnSessionTrackingSucceededListener.java │ │ │ ├── PackageBuilder.java │ │ │ ├── PackageFactory.java │ │ │ ├── PackageHandler.java │ │ │ ├── PreinstallUtil.java │ │ │ ├── PurchaseVerificationHandler.java │ │ │ ├── PurchaseVerificationResponseData.java │ │ │ ├── ReferrerDetails.java │ │ │ ├── Reflection.java │ │ │ ├── ResponseData.java │ │ │ ├── SdkClickHandler.java │ │ │ ├── SdkClickResponseData.java │ │ │ ├── SessionResponseData.java │ │ │ ├── SharedPreferencesManager.java │ │ │ ├── StoreInfoUtil.java │ │ │ ├── SystemLifecycle.java │ │ │ ├── SystemLifecycleContentProvider.java │ │ │ ├── TrackingState.java │ │ │ ├── Util.java │ │ │ ├── network │ │ │ ├── ActivityPackageSender.java │ │ │ ├── ErrorCodes.java │ │ │ ├── IActivityPackageSender.java │ │ │ ├── UrlStrategy.java │ │ │ └── UtilNetworking.java │ │ │ └── scheduler │ │ │ ├── AsyncTaskExecutor.java │ │ │ ├── FutureScheduler.java │ │ │ ├── RunnableWrapper.java │ │ │ ├── SingleThreadCachedScheduler.java │ │ │ ├── SingleThreadFutureScheduler.java │ │ │ ├── ThreadExecutor.java │ │ │ ├── ThreadFactoryWrapper.java │ │ │ ├── ThreadScheduler.java │ │ │ ├── TimerCycle.java │ │ │ └── TimerOnce.java │ │ └── res │ │ └── values │ │ └── strings.xml ├── settings.gradle └── tests │ ├── test-app-core │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── adjust │ │ │ └── testapp │ │ │ ├── AdjustCommandExecutor.java │ │ │ ├── Command.java │ │ │ ├── CommandListener.java │ │ │ ├── MainActivity.java │ │ │ └── Util.java │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── test-app-webbridge │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ ├── AdjustTestApp-WebView.html │ │ ├── command_executor.js │ │ └── test_library.js │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── testappwebbridge │ │ │ ├── MainActivity.java │ │ │ └── TestLibraryBridge.java │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── test-library │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── adjust │ │ │ └── test │ │ │ ├── Constants.java │ │ │ ├── ICommandJsonListener.java │ │ │ ├── ICommandListener.java │ │ │ ├── ICommandRawJsonListener.java │ │ │ ├── IOnExitListener.java │ │ │ ├── Networking.java │ │ │ ├── TestCommand.java │ │ │ ├── TestLibrary.java │ │ │ ├── Utils.java │ │ │ └── ws │ │ │ ├── ControlSignal.java │ │ │ ├── ControlWebSocketClient.java │ │ │ └── SignalType.java │ │ └── res │ │ └── values │ │ └── strings.xml │ └── test-options │ ├── .gitignore │ ├── build.gradle │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── adjust │ └── test_options │ ├── TLSSocketFactory.java │ └── TestConnectionOptions.java ├── CHANGELOG.md ├── MIT-LICENSE ├── README.md ├── VERSION └── tools └── adjust-dtt /.gitignore: -------------------------------------------------------------------------------- 1 | # Copyright: Benjamin Weiss (keyboardsurfer) https://github.com/keyboardsurfer 2 | # Under CC-BY-SA V3.0 (https://creativecommons.org/licenses/by-sa/3.0/legalcode) 3 | 4 | # orig files 5 | *.orig 6 | 7 | # built application files 8 | *.apk 9 | *.ap_ 10 | *.jar 11 | 12 | # lint folder 13 | lint 14 | 15 | # files for the dex VM 16 | *.dex 17 | 18 | # Java class files 19 | *.class 20 | 21 | # generated files 22 | bin/ 23 | gen/ 24 | classes/ 25 | gen-external-apklibs/ 26 | 27 | # maven output folder 28 | target 29 | 30 | # Local configuration file (sdk path, etc) 31 | local.properties 32 | 33 | # Eclipse project files 34 | .classpath 35 | .project 36 | .metadata 37 | .settings 38 | 39 | # IntelliJ files 40 | .idea 41 | *.iml 42 | 43 | # OSX files 44 | .DS_Store 45 | 46 | # Windows files 47 | Thumbs.db 48 | 49 | # vi swap files 50 | *.swp 51 | 52 | # backup files 53 | *.bak 54 | 55 | # gradle directory 56 | .gradle 57 | build/ 58 | 59 | # Ignore Gradle GUI config 60 | gradle-app.setting 61 | 62 | # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) 63 | !gradle-wrapper.jar 64 | 65 | # Cache of project 66 | .gradletasknamecache 67 | 68 | #for oh-my-zsh jira plugin (https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins#jira) 69 | .jira-url 70 | atlassian-ide-plugin.xml 71 | 72 | # add exception for private libraries 73 | google-services.json 74 | 75 | # generated native code 76 | .externalNativeBuild/ 77 | -------------------------------------------------------------------------------- /Adjust/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | // common in all sub-projects 4 | subprojects { 5 | } 6 | 7 | ext { 8 | // Android config. 9 | coreMinSdkVersion = 21 10 | coreCompileSdkVersion = 35 11 | coreTargetSdkVersion = 35 12 | coreVersionName = '5.4.0' 13 | defaultVersionCode = 1 14 | webbridgeMinSdkVersion = 21 15 | samsungReferrerMinSdkVersion = 21 16 | vivoReferrerMinSdkVersion = 23 17 | samsungCloudDevMinSdkVersion = 23 18 | 19 | // POM. 20 | adjustGroupId = 'com.adjust.sdk' 21 | } 22 | 23 | buildscript { 24 | ext.kotlin_version = '2.1.0' 25 | 26 | repositories { 27 | mavenCentral() 28 | google() 29 | } 30 | dependencies { 31 | classpath 'com.android.tools.build:gradle:8.8.0' 32 | 33 | // NOTE: Do not place your application dependencies here; they belong 34 | // in the individual module build.gradle files. 35 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } 36 | } 37 | 38 | allprojects { 39 | repositories { 40 | mavenCentral() 41 | google() 42 | } 43 | gradle.projectsEvaluated { 44 | tasks.withType(JavaCompile) { 45 | options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdk 35 5 | 6 | defaultConfig { 7 | applicationId "com.adjust.examples" 8 | minSdkVersion 21 9 | targetSdkVersion 35 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | 21 | compileOptions { 22 | sourceCompatibility 1.8 23 | targetCompatibility 1.8 24 | } 25 | namespace 'com.adjust.examples' 26 | } 27 | 28 | dependencies { 29 | implementation fileTree(dir: 'libs', include: ['*.jar']) 30 | implementation 'androidx.appcompat:appcompat:1.3.1' 31 | implementation "androidx.constraintlayout:constraintlayout:2.1.1" 32 | implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0' 33 | implementation 'com.android.installreferrer:installreferrer:2.2' 34 | implementation 'com.google.android.gms:play-services-appset:16.0.2' 35 | 36 | implementation project(':sdk-core') 37 | implementation project(':plugins:sdk-plugin-webbridge') 38 | implementation 'com.adjust.signature:adjust-android-signature:3+' 39 | } 40 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/java/com/adjust/examples/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.adjust.examples; 2 | 3 | import androidx.appcompat.app.AppCompatActivity; 4 | 5 | import android.os.Bundle; 6 | import android.util.Log; 7 | import android.webkit.ConsoleMessage; 8 | import android.webkit.WebChromeClient; 9 | import android.webkit.WebView; 10 | import android.webkit.WebViewClient; 11 | 12 | import com.adjust.sdk.webbridge.AdjustBridge; 13 | import com.adjust.sdk.webbridge.AdjustBridgeInstance; 14 | 15 | public class MainActivity extends AppCompatActivity { 16 | 17 | @Override 18 | protected void onCreate(Bundle savedInstanceState) { 19 | super.onCreate(savedInstanceState); 20 | setContentView(R.layout.activity_main); 21 | 22 | WebView webView = (WebView) findViewById(R.id.webView1); 23 | webView.getSettings().setJavaScriptEnabled(true); 24 | webView.setWebChromeClient(new WebChromeClient()); 25 | webView.setWebViewClient(new WebViewClient()); 26 | webView.setWebChromeClient(new WebChromeClient() { 27 | public boolean onConsoleMessage(ConsoleMessage consoleMessage) { 28 | String message = String.format("%s - %d: %s", consoleMessage.sourceId(), consoleMessage.lineNumber(), consoleMessage.message()); 29 | Log.d("AdjustExample", message); 30 | return super.onConsoleMessage(consoleMessage); 31 | } 32 | }); 33 | 34 | AdjustBridgeInstance defaultInstance = AdjustBridge.registerAndGetInstance(getApplication(), webView); 35 | defaultInstance.registerFacebookSDKJSInterface(); 36 | 37 | try { 38 | webView.loadUrl("file:///android_asset/AdjustExample-FbPixel.html"); 39 | } catch (Exception e) { 40 | e.printStackTrace(); 41 | } 42 | } 43 | 44 | @Override 45 | protected void onDestroy() { 46 | AdjustBridge.unregister(); 47 | 48 | super.onDestroy(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 19 | 22 | 25 | 26 | 27 | 28 | 34 | 35 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adjust/android_sdk/3b78c5a92760622259ebbfc9eb57a1b7b6bb47cc/Adjust/examples/example-app-fbpixel/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | example-fbpixel 3 | 4 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-fbpixel/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-java/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | repositories { 4 | maven { 5 | url "https://oss.sonatype.org/content/repositories/staging/" 6 | } 7 | } 8 | 9 | android { 10 | compileSdk 35 11 | 12 | defaultConfig { 13 | applicationId "com.adjust.examples" 14 | minSdkVersion 21 15 | targetSdkVersion 35 16 | versionCode 1 17 | versionName "1.0" 18 | } 19 | buildTypes { 20 | release { 21 | minifyEnabled true 22 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 23 | } 24 | } 25 | compileOptions { 26 | sourceCompatibility 1.8 27 | targetCompatibility 1.8 28 | } 29 | namespace 'com.adjust.examples' 30 | } 31 | 32 | dependencies { 33 | implementation fileTree(dir: 'libs', include: ['*.jar']) 34 | implementation 'androidx.appcompat:appcompat:1.3.1' 35 | implementation "androidx.constraintlayout:constraintlayout:2.1.1" 36 | implementation 'com.google.android.gms:play-services-ads-identifier:17.1.0' 37 | implementation 'com.android.installreferrer:installreferrer:2.2' 38 | implementation 'com.google.android.gms:play-services-appset:16.0.2' 39 | 40 | implementation project(':sdk-core') 41 | implementation 'com.adjust.signature:adjust-android-signature:3+' 42 | } 43 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-java/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/pfms/Development/Android_SDK/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -keep public class com.adjust.sdk.** { *; } 19 | -keep class com.google.android.gms.common.ConnectionResult { 20 | int SUCCESS; 21 | } 22 | -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient { 23 | com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context); 24 | } 25 | -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info { 26 | java.lang.String getId(); 27 | boolean isLimitAdTrackingEnabled(); 28 | } 29 | -keep public class com.android.installreferrer.** { *; } 30 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-java/src/main/java/com/adjust/examples/ServiceActivity.java: -------------------------------------------------------------------------------- 1 | package com.adjust.examples; 2 | 3 | import android.content.Intent; 4 | import android.net.Uri; 5 | 6 | import androidx.appcompat.app.AppCompatActivity; 7 | 8 | import android.os.Bundle; 9 | import android.view.View; 10 | 11 | import com.adjust.sdk.Adjust; 12 | import com.adjust.sdk.AdjustDeeplink; 13 | 14 | public class ServiceActivity extends AppCompatActivity { 15 | 16 | @Override 17 | protected void onCreate(Bundle savedInstanceState) { 18 | super.onCreate(savedInstanceState); 19 | setContentView(R.layout.activity_service); 20 | 21 | Intent intent = getIntent(); 22 | Uri data = intent.getData(); 23 | AdjustDeeplink adjustDeeplink = new AdjustDeeplink(data); 24 | Adjust.processDeeplink(adjustDeeplink, getApplicationContext()); 25 | } 26 | 27 | public void onServiceClick(View v) { 28 | Intent intent = new Intent(this, ServiceExample.class); 29 | startService(intent); 30 | } 31 | 32 | public void onReturnClick(View v) { 33 | finish(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Adjust/examples/example-app-java/src/main/res/layout/activity_service.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 |