Help in developing an Add-On

64 views
Skip to first unread message

Edward Ulle

unread,
Jul 2, 2019, 6:36:02 PM7/2/19
to Google Apps Script Community
I have been working on a Google Doc add-on that will perform calculations including engineering units.  Much like the way MathCAD works.  I have been developing it as a bound script to avoid publishing intermediate steps during development.  Ultimately I would move it to a stand alone app file for publishing.  The add-on would have a Doc sidebar to help preparing each equation.

What do I need to do to publish the add on for the Google store and will the sidebar work just like the bound script?  Any suggestions would be appreciated.  Thanks.

Alan Wells

unread,
Jul 2, 2019, 8:52:45 PM7/2/19
to Google Apps Script Community
Yes, the sidebar will work the same.  There is ultimately no difference in how a bound and stand alone script will work in a published add-on.  The difference is during development, when trying to test triggers.  A bound script will run all the triggers, a stand alone script being tested with "Run -> Test as Add on" won't run installable triggers.

What you need to do to publish the add-on publicly, isn't as easy to answer.  The first thing you need to do is to create a "standard" Google Cloud Project to associate with the Apps Script project.  Then you need to add the G Suite Marketplace SDK to the Google Cloud Project.  Then you need to add the scopes to both the G Suite Marketplace SDK AND to the APIs and Services -> Credentials - OAuth Consent screen.  From the OAuth Consent screen you'll need to "Submit for verification."  You should get your verification before publishing publicly.   You'll need to provide some graphics with transparent backgrounds.  The add-ons advisor may suggest that you have a YouTube video explaining how to install the add-on.  They may suggest that you use the add-ons CSS package.  You'll need a Terms of Service and Privacy Policy, which will require you to have a website, where you can post them.  So, you'll need to be your own lawyer, website designer, and graphics artist.

Edward Ulle

unread,
Jul 2, 2019, 10:36:00 PM7/2/19
to Google Apps Script Community

AJ, thanks for all the information.  Developing it is the easy part, getting it publish and being able to distribute is the hard part.

Alan Wells

unread,
Jul 3, 2019, 7:49:16 AM7/3/19
to Google Apps Script Community
I created a YouTube video with some information about the Google Cloud Platform, creating a standard GCP project and associating it with your Apps Script project.

Edward Ulle

unread,
Jul 3, 2019, 9:13:00 AM7/3/19
to Google Apps Script Community
AJ, great YouTube video.  If you get a chance you should continue with an explaination of the Add-On Configuration around 12:00 in the video.

Christopher Webster

unread,
Jul 30, 2019, 8:05:03 PM7/30/19
to Google Apps Script Community
Thank you for this answer AJ.  I have a script that I wanted to publish as my first add-on but have found the multiple instructions provided by Google to be contradictory and confusing.  It seemed that even for a simple script the process was cumbersome and costly, but I wasn't sure.  This confirms it.  I could not even find templates for these Terms of Service and Privacy Policy that are required.  Do they exist?  Also is there any clear explanation of the structure of this zip file that they want?  

Anyways, I wish I would have found your reply sooner as it would have saved me the time I wasted researching add-ons.  Publishing an add on just doesn't seem worth it.

Davis Jones

unread,
Jul 30, 2019, 8:15:12 PM7/30/19
to google-apps-sc...@googlegroups.com
My two cents on add-on publishing so far:
1. It's super complicated and your code needs to be modified. What works on your account will often break when deployed as an add-on.
2. It's very hard to troubleshoot your add-on, because you can't look under the hood when using it with your test accounts. This is especially true of anything that uses a time-driven trigger. So, I added automated error collecting and communication tools to help me see inside any problems once the app is deployed.
3. The new scope restrictions almost make it impossible to deliver value to users without undergoing the restricted scope review process. For example, the only thing you can do within Gmail that's not restricted is working with the user's labels!
4. It's much easier to publish your add-on from the apps script IDE (Publish > as Addon) than through the zip uploading method.

--
You received this message because you are subscribed to the Google Groups "Google Apps Script Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-apps-script-c...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-apps-script-community/c9ad45a4-6e6e-4cba-b091-b33048ac4315%40googlegroups.com.

Alan Wells

unread,
Jul 30, 2019, 9:14:40 PM7/30/19
to Google Apps Script Community
Don't upload a zip file.  That's a common mistake that people make.  That's taken care of automatically by the Apps Script code editor when publishing an add-on.  If you upload a zip file, you'll have lots of problems.  But of course, that's what they ask for right at the very top.

I'm not sure where I originally got ideas for my Terms of Service.  No doubt I used existing TOS's that I could find for ideas.  And if I see a TOS somewhere I look at it quickly just out of curiosity.

Most programming probably isn't worth it.  The vast majority of projects are never finished, fail, or are so bad that it's worse using them than not.  If it's a small script that doesn't take a lot of work, and saves you some time and effort, then it's worth it.  Once you try to create something for public use, it's a million times more work.  And even if you create a successful add-on, it could become obsolete and stop functioning if you don't keep working on it.

I don't want to discourage anyone, but I also don't want anyone to waste their time for nothing.  Just know that it could be about 100 times more work than you would have guessed.

Christopher Webster

unread,
Jul 30, 2019, 9:39:20 PM7/30/19
to Google Apps Script Community
Thanks again for the candor and advice.  The add on I wanted to publish was a little script I wrote to track Ramda function usage in code.  I thought it might be helpful to the Ramda community.  I tested it as an add on and it seemed to work well.  I have decided instead of publishing it as an add on, I will just leave the code available on Github here.  I just wish there was an easier way to share GAS projects since it is kind of a pain for others (especially none GAS users) to get a project running from a bunch of .gs files. 

Alan Wells

unread,
Jul 30, 2019, 10:08:50 PM7/30/19
to Google Apps Script Community
You can share the Apps Script file to anyone with the link, and then they can make a copy of the file.  The copy is owned by them.  If you feel comfortable doing that.  If you do that, I'd leave it unpublished, and unauthorized so that someone can't run the code in your account.
Reply all
Reply to author
Forward
0 new messages