Getting Started

Get up and running with Pushlink in 6 small steps

Pushlink is currently working for all Android versions. Tested up to the Android 11.

1 Create an Account to obtain an API Key

Visit https://www.pushlink.com/signup.xhtml and create your free account.

You'll be redirected to the dashboard. Copy your API key from the navigation bar.

Option #1: Gradle

//project/build.gradle
allprojects {
  repositories {
    google()
    jcenter()
    maven { url "https://jitpack.io" }
  }
}
//project/app/build.gradle
dependencies {
  implementation 'com.pushlink:pushlink-android:5.5.3'
}

Option #2: Maven

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.pushlink</groupId>
  <artifactId>pushlink-android</artifactId>
  <version>5.5.3</version>
</dependency>

Option #3: Download JAR File

Download pushlink-android-5.5.3.jar [s3 mirror]

3 Set up permissions in your AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<application android:name=".PushlinkSetup" ... >
  <uses-library android:name="org.apache.http.legacy" android:required="false"/>
  <provider 
    android:name="com.pushlink.android.FileProvider" 
    android:authorities="your.package.name" <--- change it ---
    android:exported="true" />
</application>

The use of org.apache.http.legacy is required in Android 9 (API 28) or higher

4 Call PushLink.start() in the Main UI Thread

public class PushlinkSetup extends android.app.Application {
  @Override
  public void onCreate() {
    super.onCreate();
    String yourDeviceID = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
    PushLink.start(this, R.mipmap.ic_launcher, "yourApiKey", yourDeviceID);
    //you can use R.drawable.icon for older sdks
  }
}

Avoiding headaches

Don't call the start method inside an ordinary Activity. Call this as higher as possible inside the class that extends android.app.Application exactly as shown above. This is the right place to call things that must survive for the whole application lifetime. Also, this is going to be called again if your application was restarted by the android system or anything else.

It's up to you to identify the device

Make sure you've read the Android Device ID Guide.

You can find the Upload Apk button in the menu bar at the Pushlink dashboard.

Don't forget or your installation will fail:

1 - Don't forget to upload to Pushlink a full signed release APK. It's a common mistake uploading development/debug APKs. Also, remember to checkV2 (Full APK Signature)in the Android Studio release wizard (Android 11 requirement).

2 - Don't forget to increment theandroid:versionCode

3 - Don't forget to adapt your app to the newer Android versions.

6 Enroll your devices (Just install & run)

First installation options:

Option #1: From the terminal

This use to be performed by a tech person before sending the device to the field.

curl -o yourApp.apk 'https://www.pushlink.com/download?package=some.package.name&api_key=yourApiKey'
adb install yourApp.apk

You can also generate a hashed download link in the dashboard to hide your credentials.

Option #2: From the device itself

Download the APK from QRCode and install it.

Final words

That's it. Now, every time you upload a new apk version to Pushlink and make that the current version, all the devices using your application will receive and apply the update.

Take a look at the whole docs to get an idea of how Pushlink can help you with.

Last updated