Linkester
Linkester is an Android library that aims to help Android developers test their deep links implementation.
The idea is to have a new launcher activity for your App (in debug builds) that will list all deep/app links available in your App and with a click on any of them you should be able to test it.
Features
- Auto colelct all deep/app links.
- Manually add some deep links.
- Write any deep link and click on "try it out" button to see how your App will react.
- Long press on a deep link will auto fill it in the edit text box so that you can edit or add query params to the deep link before testing it.
Demo
Getting started
-
To use Linkester, add the Linkester dependency to your app’s build.gradle file:
Groovy
dependencies { // debugImplementation because Linkester should only run in debug builds. debugImplementation 'com.mlegy.linkester:linkester:0.0.1' }
Kotlin
dependencies { // debugImplementation because Linkester should only run in debug builds. debugImplementation("com.mlegy.linkester:linkester:0.0.1") }
-
There is 2 ways to list the deep links from your App into Linkester:
-
Automatically collect all deep links from the App. To be able to let Linkester gather all your deep/app links automatically we only need to apply Linkester Gradle plugin into your project.
Build script snippet for use in all Gradle versions:
Groovy
buildscript { repositories { maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "com.mlegy.linkester:gradle-plugin:0.0.1" } } apply plugin: "com.mlegy.linkester"
Kotlin
buildscript { repositories { maven { url = uri("https://plugins.gradle.org/m2/") } } dependencies { classpath("com.mlegy.linkester:gradle-plugin:0.0.1") } } apply(plugin = "com.mlegy.linkester")
-
Manually add your most common used deep links yourself. The second option you can use is to provide a json file with most common deep links in your app. You can do that by creating a raw json file in
res/values
the file must be namedlinkester_manually_added_links.json
It should be a list of deep links where each link is an object oftitle
andlink
fields Example:[ { "title": "Home", "link": "https://app.melegy.com/home" }, { "title": "Item details", "link": "https://app.melegy.com/list?id=12" } ]
-
Credits:
License
Copyright 2021 Ahmad Melegy.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.