How to hide Suspended applications from the Google’s Play Developer console

3 min read

Sometimes when looking at an old developer account with over 10 applications in the console, it gets a bit annoying trying to navigate through them, and the filters available are just not that great.

At the moment we only get 2 options: Show/Hide Unpublished apps, and Show/Hide Draft apps.

Sometimes these filters are not enough. When people start building many apps, even after having experience, sometimes applications unwillingly and unknowingly violate some google agreements, and Google just suspends the application with no warning.

This can lead to having multiple suspended applications in your Google Play Developer Console, and as many of you know, you CANNOT remove applications from your developer console unless they are “Draft applications” — applications that have not been published yet. Not even unpublished applications can be removed.

I look at my developer console on a daily basis, and i needed to find a way to hide the applications i never wanted to see.

So i wrote a script to do just that.

// ==UserScript==
// @name         Hide suspended apps
// @namespace    josiassena.com
// @version      1.0
// @description  Get compatible devices
// @author       Josias Sena
// @match        https://play.google.com/apps/publish/*
// @require      http://code.jquery.com/jquery-latest.js
// @grant        none
// ==/UserScript==

$(function () {
    var checkExist = setInterval(function() {
        if ($('.PBFCSRB-Sc-y').is(':visible')) {
            $('.PBFCSRB-Sc-y tbody tr').filter(function () {
                return $.trim($(this).find('td').eq(6).text()) === "Suspended";
            }).toggle();

            clearInterval(checkExist);
        }
    }, 100);
});

Note: i am no JS expert, this script may be written in a better way but this works for me.

This is a pretty basic script, but to me it is very helpful. What it does is checks every 100ms if the table in the console is visible. and when it is it hides all suspended applications. The reason it runs every 100ms is because the Google Play Developer Console has a loading screen.

Once the loading screen is gone, a few more elements load up and then the table shows up. Once the table with all of the applications are displayed the suspended applications are removed from the list and the script stops.

This happens every single time i open my developer console. I personally use http://tampermonkey.net/ but you can use the tool of your choice.

You can get the chrome extension here: https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=en

Once the extension is installed and added to chrome, you should be able to see the extension in the top right hand side of your chrome browser. Head to the TamperMonkey dashboard by clicking here:

Once you get to the TamperMonkey dashboard click the add new script button

Copy and paste the snippet above, click the save button on the top left corner of your editor, or you can click Ctrl + S or Command + S on a mac.

Head over to the dashboard and make sure your script is enabled. Now, when you enter the Google Play Developer console all of your suspended applications will be hidden.

If you want to stop this script from running and you want to see your suspended applications you can just disable the TamperMonkey plugin from the top right hand side of the Chrome extension.

Thats all folks, thanks for reading and i hope you find this as helpful as i did 🙂

EDIT

This following script allows the items to always be removed rather than toggled. Toggled sometimes made the items display again, if they were already hidden/removed.

// ==UserScript==
// @name         Hide suspended apps
// @namespace    josiassena.com
// @version      1.0
// @description  Get compatible devices
// @author       Josias Sena
// @match        https://play.google.com/apps/publish/*
// @require      http://code.jquery.com/jquery-latest.js
// @grant        none
// ==/UserScript==

$(function () {
    var checkExist = setInterval(function() {
        if ($('.IDWJ4SB-ed-y').is(':visible')) {
            $('.IDWJ4SB-ed-y tbody tr').filter(function () {
                return $.trim($(this).find('td').eq(6).text()) === "Suspended";
            }).remove();
            
            clearInterval(checkExist);
        }
    }, 100);
});

EDIT 2 (Note)

Google changes the table class name every few days. As i write this the current class name was changed to PBFCSRB-Kc-y (from the previous one ‘IDWJ4SB-ed-y’). In order to figure out what to change the class name to you can right click the developer portal (when the list of apps are displayed), select inspect code, and look for the table, shouldn’t be to hard to find since its the main/biggest table in the page, and you will see this:

The yellow text is the table class name.

EDIT 3

I made a better script for this, where you no longer have to check what the table id is anymore. It will always work.

var checkExist = setInterval(function() {
    var list = $('tbody > tr > td:nth-child(7):contains("Suspended")').parent().remove();
}, 100);