My extension review keeps on failing

Hi all,
I created a very simple panel extension. All the extension does is send events to Google Analytics on page view.
my extension is composed of

  1. panel.html - loads the different JS files
    <meta charset="UTF-8">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, shrink-to-fit=no">
    <script src="https://extension-files.twitch.tv/helper/v1/twitch-ext.min.js"></script>
    <script src="jquery.min.js"></script>
    <script src="viewer.js" type="text/javascript"></script>
    <title>Viewer</title>
  1. viewer.js - sends the GA event on page view
(function (i, s, o, g, r, a, m) {
    i['GoogleAnalyticsObject'] = r;
    i[r] = i[r] || function () {
        (i[r].q = i[r].q || []).push(arguments)
    }, i[r].l = 1 * new Date();
    a = s.createElement(o), m = s.getElementsByTagName(o)[0];
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js','ga')
;
ga('create', 'UA-XXXXX-1', 'auto');
ga('send', 'pageview');
console.log('extension test')
  1. jquery.min.js
  2. config.html - the extension needs no configuration:
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, shrink-to-fit=no">
    <script src="https://extension-files.twitch.tv/helper/v1/twitch-ext.min.js"></script>
</head>
<body>
    <h1>Geolocation tracker</h1>
    <h2>No Configuration needed, on page view an event is sent to Google Analytics</h2>
    <h3>Provide Marketplayz clients with an easy way to monitor their viewers Geo Locations</h3>
</body>
</html>
  1. index.js - to run the extension locally

When i test my extension with Twitch Developer Rig its working.

I can also see the extension in the channel i added to test this extension.

But the extension was rejected twice with the following notes:

1.2: We are unable to complete a full review of your Extension due to its failure to load. Please do not submit test Extensions for review
1.3: The functionality of your Extension is not intuitive therefore, we could not test it. Please update your description and/or configuration instructions to better describe how to use your Extension. You can also provide testing instructions, such as test account/email credentials. Please do not submit test Extensions for review.
1.5: We were unable to successfully configure and activate your Extension.

I’m really not sure how to proceed with those errors, because as i see it its the simplest extension i could make - it does nothing else but sending events to Google Analytics on pageview, and its working ( i can see events in GA)

Please help !!

If that’s all your code, the your issue is that you’re not handling the onAuthorized event fired by the helper, which MUST be handled or Twitch assumes your extension failed to load.

Also, if sending tracking data is all your extension does, Twitch may consider that failure to load as it’s not actually doing anything for the user. at a bare minimum you should have some sort of opt-in functionality so that you’re not tracking users without their consent. Because of the nature of your extension I hope you also have an appropriate privacy agreement and meet all required privacy laws.

1 Like

Did you test your extension both on light and dark modes of Twitch to ensure your configuration page is legable on both?

I had a denial recently as my config page, whislt containing text, was completely invisible on light mode Twitch. As I forgot to test light mode.

So the tester may have only tested your extension config page under dark mode and you didn’t have any CSS in place to ensure legability. Regardless of the Twitch Theme the user has selected

1 Like

Thanks for the quick replay!
Indeed i missed the onAuthorized part, adding it now.
I didnt check the different modes… will add this as-well. thanks !
I will update as soon as i get a new response from Twitch.