Ionic 5 - Open URLs in Chrome Custom Tabs with Cordova and Ionic Native 5

Ionic 5 - Open URLs in Chrome Custom Tabs with Cordova and Ionic Native 5

Chrome custom tabs allows you to open a in app chrome tab in your Ionic 5 mobile app to open external URLs and web sites.

In this tutorial we are going to see a simple Ionic 5 example that makes use of Chrome In App Custom tabs.

Creating a New Ionic 5/Angular App

The first step will be creating a new app using the Ionic CLI 5. Simply run the following command:

ionic start ChromeCustomTabsExample blank 
cd ChromeCustomTabsExample 

Installing the Chrome Browertab Cordova and Ionic Native Plugins

Next, install the required plugins from npm:

$ ionic cordova plugin add cordova-plugin-browsertab --save 
$ npm install --save @ionic-native/browser-tab    

Now you need to add this plugin to your app main module.

Head over to the src/app/app.module.ts file and update it as follows:

/* ... */
import { BrowserTab } from '@ionic-native/browser-tab';

@NgModule({
declarations: [
    MyApp,
    HomePage 
],
imports: [
    BrowserModule,
    IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
    MyApp,
    HomePage
],
providers: [
    StatusBar,
    SplashScreen,
    BrowserTab,
    {provide: ErrorHandler, useClass: IonicErrorHandler}
]
})
export class AppModule {}        

Now, we are ready to use BrowserTab by injecting it in any component from where we want to launch a chrome custom tab.

Open the src/pages/home/home.ts file and add a method to open an url:

import { Component } from '@angular/core';
import { BrowserTab } from '@ionic-native/browser-tab';

@Component({
selector: 'home',
templateUrl: 'home.html',
})
export class HomePage {

constructor(private browserTab: BrowserTab) {
}

openUrl(){
    this.browserTab.isAvailable()
        .then((isAvailable: boolean) => {

        if(isAvailable) {

            this.browserTab.openUrl('https://www.techiediaries.com');

        } else {

            // if custom tabs are not available you may  use InAppBrowser

        }

        });        
}
}

You can now add a button to trigger the method as follows:

<button ion-button (click)="openUrl()"> Open Techiediaries</button>

Conclusion

To test your application, start by adding a target Android platform then build and run your Ionic 5 app in a real mobile device.