So you’ve got a great idea for a Twitch Extension, but do you know the most common reasons why Extensions fail moderation review? Get a deeper understanding of key Twitch policies to observe, and learn how to best prioritize your testing efforts before submitting—so you can pass the first time.
3. TwitchCon 2018 San Jose, California
300+ Live Extensions
2039
Reviews
1304
Approvals
29%
Approved 1st Try
Twitch Extension
Review Statistics
4. What do we do? What
happens when we get
to the approval
process?
EXTENSION APPROVAL PROCESS
Help you understand
policyLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
01.
Provide clear review
guidanceLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
02.
HI SANYU,
YOUR EXTENSION HAS NOT PASSED REVIEW.
YOUR EXTENSION MUST HAVE AT LEAST ONE VALID SCREENSHOT.
IF YOU HAVE ALREADY ADDED A SCREENSHOT, BUT ADDED IT AFTER
MOVING TO HOSTED TEST, PLEASE IGNORE THIS MESSAGE AND MOVE
YOUR EXTENSION BACK INTO REVIEW.
FILES & CODE REVIEW ISSUES:
• EMBEDDABLE IFRAMES ARE NOT ALLOWED WITHIN EXTENSIONS.
• ALL EXTERNAL CSS/JS MUST BE INCLUDED WITH YOUR UPLOAD
TWITCHDEV
TO ME >
WHAT? OH NO! BOOOOOOO!
5. What do we do? What
happens when we get
to the approval
process?
EXTENSION APPROVAL PROCESS
Help you understand
policyLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
01.
Provide clear review
guidanceLorem ipsum dolor
sit amet,
consectetur
adipiscing elit, sed
do eiusmod
tempor incididunt
ut labore et dolore
02.
HI SANYU,
CONGRATULATIONS. YOUR EXTENSION HAS BEEN APPROVED!
TWITCHDEV
TO ME >
HOORAH! YAY! AWESOME!
6. How are we going to do that?
- Walkthrough the Extension Lifecycle
- Discuss the the Extension Review Process
- Look at the Top 10 Extension Review Failure Reasons
- Final Tips and Tricks
8. TwitchCon 2018 San Jose, California
Extension
Lifecycle
Create Extension
dev.twitch.tv
Create
Extension
EXTENSION REVIEW PROCESS
9. TwitchCon 2018 San Jose, California
Test Extension
- Develop and test
frontend and backend
- Submit metadata and
assets
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
10. TwitchCon 2018 San Jose, California
Submit Extension for
Review
- Metadata Review
- Policy Review
- Functional Review
- Code Review
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
11. TwitchCon 2018 San Jose, California
HI SANYU,
YOUR EXTENSION HAS N
YOUR EXTENSION MUST
IF YOU HAVE ALREADY AD
MOVING TO HOSTED TES
YOUR EXTENSION BACK I
FILES & CODE REVIEW IS
• EMBEDDABLE IFRAMES
• ALL EXTERNAL CSS/JS M
TWITCHDEV
TO ME >
WHAT? OH NO! BO
O!
Failed Review
- Metadata Issues
- Policy Issues
- Functional Issues
- Code Issues
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
12. TwitchCon 2018 San Jose, California
Submit Extension for
Review
- Metadata Review
- Policy Review
- Functional Review
- Code Review
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
13. TwitchCon 2018 San Jose, California
HI SANYU,
CONGRATULATIONS. YO
TWITCHDEV
TO ME >
HOORAH! YAY! AW
Extension Approved
- No review issues found
- Ready for go live
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
Approved
14. TwitchCon 2018 San Jose, California
Go Live!
- Developer has full
control release timing
Under
Review
Test /
Hosted Test
Extension
Lifecycle
Create
Extension
EXTENSION REVIEW PROCESS
Approved
Released
15. TwitchCon 2018 San Jose, California
Twitch Extension
Review Process
- Metadata Review
- Policy Review
- Code Review
- Functional Review
16. TwitchCon 2018 San Jose, California
Metadata
Missing icon or images - No Twitch Images - Incomplete descriptions
Review
17. TwitchCon 2018 San Jose, California
Policy Review
Extensions Guidelines, Developer Agreement, Twitch Terms of
Service, Community Guidelines, Bits Acceptable Use Policy, Oh My!
18. TwitchCon 2018 San Jose, California
Functional Review
Is your review channel live? Is your backend up? Is your Extension
configuration easy to understand?
19. TwitchCon 2018 San Jose, California
Code Review
Obfuscation, eval(), Missing HTML/JS files
20. TwitchCon 2018 San Jose, California
Top 10 Extension Review
Failure Reasons
21. TwitchCon 2018 San Jose, California
YOUR LIVE REVIEW CHANNEL IS THE MOST EFFECTIVE
WAY FOR US TO TEST YOUR EXTENSION
Number of ways you can set this up
- ffmpeg
- Include optimal review times in your
review notes
#1: Review Channel
Not Live (Functional)
Starting today, we are reducing the
number of use cases where a review
channel required
22. TwitchCon 2018 San Jose, California
YOUR LIVE REVIEW CHANNEL IS THE MOST EFFECTIVE
WAY FOR US TO TEST YOUR EXTENSION
Number of ways you can set this up
- ffmpeg
- Include optimal review times in your
review notes
#1: Review Channel
Not Live (Functional)
Starting today, we are reducing the
number of use cases where a review
channel required
23. TwitchCon 2018 San Jose, California
DO NOT MAKE CHANGES TO YOUR EXTENSIONS ICONS,
IMAGES, DESCRIPTION, AND CATEGORY IN HOSTED TEST
Always move your Extension back into
Test before making metadata changes
#2: Metadata Change in
Hosted Test (Metadata)
We are working on a better solution
for this!
24. TwitchCon 2018 San Jose, California
DO NOT MAKE CHANGES TO YOUR EXTENSIONS ICONS,
IMAGES, DESCRIPTION, AND CATEGORY IN HOSTED TEST
Always move your Extension back into
Test before making metadata changes
#2: Metadata Change in
Hosted Test (Metadata)
We are working on a better solution
for this!
25. TwitchCon 2018 San Jose, California
DOUBLE CHECK YOUR MANIFEST BEFORE SUBMITTING
FOR REVIEW
- You must include Extension helper in
your asset upload to the Twitch CDN
- If you are not providing a config.html,
remove reference to it from your
manifest
#3: HTML/JS/CSS Files
Missing (Code Review)
26. TwitchCon 2018 San Jose, California
MINIFICATION IS OK IF CODE IS STILL HUMAN-
READABLE
New Obfuscation Policy!
#4: Obfuscation
(Code Review)
27. TwitchCon 2018 San Jose, California
MINIFICATION IS OK IF CODE IS STILL HUMAN-
READABLE
New Obfuscation Policy!
#4: Obfuscation
(Code Review)
28. TwitchCon 2018 San Jose, California
YOUR DESCRIPTION SHOULD DESCRIBE
ACCURATELY AND COMPLETELY THE
FUNCTIONALITY AVAILABLE IN YOUR EXTENSION
#5: Insufficient Description
(Metadata)
29. TwitchCon 2018 San Jose, California
You must resubmit for review if you update your
broadcaster whitelist
IF WE CANNOT REVIEW IT, WE CANNOT APPROVE IT
- Provide clear testing instructions
- Make sure your backend is live
- Use account whitelisting for pre-release testing
#6: Failed to Load
(Functional)
30. TwitchCon 2018 San Jose, California
You must resubmit for review if you update your
broadcaster whitelist
IF WE CANNOT REVIEW IT, WE CANNOT APPROVE IT
- Provide clear testing instructions
- Make sure your backend is live
- Use account whitelisting for pre-release testing
#6: Failed to Load
(Functional)
31. TwitchCon 2018 San Jose, California
IF YOU DON’T HAVE THE RIGHTS TO USE THE IMAGE,
DON’T INCLUDE IT IN YOUR SUBMISSION.
#7: Unauthorized Usage of
Twitch IP (Policy)
32. TwitchCon 2018 San Jose, California
YOUR EXTENSION CAN INCLUDE AUDIO BUT IT MUST BE
OFF BY DEFAULT, AND IT MUST PROVIDE A WAY FOR
VIEWERS TO ADJUST THE VOLUME
#8: Audio (Policy)
33. TwitchCon 2018 San Jose, California
EXTENSIONS ARE MEANT TO ENHANCE THE
BROADCASTER AND VIEWER EXPERIENCE ON TWITCH
#9: Offsite Links to
Ads or Non-Twitch
Functionality (Policy)
34. TwitchCon 2018 San Jose, California
REVIEW THE BITS-IN-EXTENSIONS GUIDELINES AND THE
BITS ACCEPTABLE USE POLICY
New Bits-in-Extensions Policy!
#10: Violates Bits
Usage Policies (Policy)
35. TwitchCon 2018 San Jose, California
REVIEW THE BITS-IN-EXTENSION GUIDELINES AND THE
BITS ACCEPTABLE USE POLICY
New Bits-in-Extensions Policy!
#10: Violates Bits
Usage Policies (Policy)
36. TwitchCon 2018 San Jose, California
Final Tips
and Tricks
- Provide a clear description &
detailed testing instructions
- Use account whitelisting for pre-
release testing
- Think BIG
- Reach out for help or advice or to
give us feedback