Available in Batch 1.15.0 and higher

URLs present in notifications and mobile landings/in-app messages are handled by the Batch SDK in the following ways:

  • the default implementation by the SDK will automatically create a new intent using Intent i = new Intent(ACTION_VIEW, deeplink) with any URL it encounters
  • alternatively you can use a BatchDeeplinkInterceptor to handle the URL your way

Add an interceptor

  • Kotlin
  • Java
//Inside app onCreate() before Batch.setConfig()
Batch.Actions.setDeeplinkInterceptor(object: BatchDeeplinkInterceptor {
    override fun getTaskStackBuilder(context: Context, deeplink: String): TaskStackBuilder? {
    	//Called only on puhs notifcations
    	//Allowing you to create a activities task stack when a push is clicked
        TODO("not implemented")

    override fun getIntent(context: Context, deeplink: String): Intent? {
    	//Called for notifications and mobile landings/in-app messages
    	//Allowing you to customize the deeplink intent
        TODO("not implemented")

    override fun getFallbackIntent(context: Context): Intent? {
    	//Called for notifications and mobile landings/in-app messages
    	//Allows you to create a fallback when a previous task stack builder or intent could not be launched.
        return super.getFallbackIntent(context)

The method getFallbackIntent(context) doesn't need to be overrided, by default Batch will use the LAUNCHER activity from your manifest.