あなたの拡張機能を世界に共有しましょう!
昨年、SketchUp のアクティベーションは同一ユーザーの重複アクセスを除いて 3,000 万件を超え、そのうち毎週 250 万件以上がアクティブに利用されています。 世界中で毎秒 30 人が SketchUp を起動しています。 Extension Warehouse は、あなたの SketchUp Extension を SketchUp コミュニティ全体に届ける手段となります。
公開プロセス
以下は、拡張機能を Extension Warehouse に公開するプロセスの一般的な説明です。
- コードを記述する: SketchUp ユーザーに役立つ斬新なアイデアを考え、それを実現するコードを記述します。 コードをテストして、意図したとおりに動作することを自分で確かめます。
- rbz インストーラーを作成する: このページに記載されている技術要件に従って、リリース準備が整った RBZ を作成します。
- Extension Warehouse にアップロードする: アップロード フォームに記入し、あなたの拡張機能が何をするのか、それが潜在的なユーザーの役に立つのかどうか、詳細を記載してください。
- 最終チェックと公開: 細部まで入念に確認したら、覚悟を決めて "Submit for Review (審査に提出)" ボタンを押します。
- SketchUp チームの審査: 提出された拡張機能は当社の精鋭審査チームがチェックし、審査・承認基準に照らして検証します。 何か不備が見つかった場合は、修正が必要な点を説明するメッセージをお送りします。修正が行われるまで、拡張機能は公開されません。
- 公開準備完了: おめでとうございます! あなたの拡張機能は審査を通過し、公開の準備が整いました。 承認され次第、良いニュースをメールでお知らせします。
- 公開: この時点で、“My Extensions (マイ拡張機能)” ページに戻って拡張機能を公開する必要があります。 公開するまで、一般の方には表示されません。
公開ガイドライン
このセクションでは、開発者が Warehouse で拡張機能を公開する前に満たすべき要件について説明します。 なお、これらの要件は当社の裁量により随時変更される場合があります。
提出要件
Extension Warehouse を通じて SketchUp ユーザーに提供される拡張機能の最小提出要件は以下のとおりです。 Warehouse を通じて提供される拡張機能は、以下の条件を満たす必要があります。もちろん、提供するものがこれを上回っていても問題ありませんが、これに満たないものは受け付けられません。
- 役立つこと: 拡張機能は、SketchUp ユーザーにとって有益な機能を提供する必要があります。
- 独自性: SketchUp クライアントの既存の機能やサービスを単に複製するのではなく、コア機能を大幅に拡張するか、まったく新しい機能を追加するものである必要があります。
機能性: インストール後に、説明どおりに動作する必要があります。 SketchUp がクラッシュしたり、動作が遅くなったりする原因になってはなりません。
お客様にとって機能的で役立つものとするために、UX ガイドラインも必ずご確認ください。- 安全性: 開発者の悪意によって、ユーザーのデータやオペレーティング システムに損害を与えてはなりません。
- 文書化: 説明書を作成していただく必要があります。 SketchUp チームが代わりに説明書を作成することはありません。
- サポート対応: 開発者は、ユーザーが拡張機能をインストールした後に、テクニカル サポートの質問に回答できる必要があります。 SketchUp チームは、あなたのユーザーにサポートを提供いたしません。
- RBZ アーカイブとして適切にパッケージ化: RBZ ファイルは、特定の内部フォルダ構造を持つ Ruby スクリプトやその他のアセットを ZIP 形式で圧縮したものにすぎません。
- SketchUp Pro の機能を SketchUp Make ユーザー向けに複製しない: 拡張機能は、SketchUp Make ユーザーが利用できない SketchUp Pro の機能を複製したものであってはなりません。 拡張機能が Pro の機能を複製する場合、「独自性」の要件 (上記を参照) を満たす必要があり、さらにその拡張機能は SketchUp Make で動作してはなりません。
技術要件
以下は、提出されるすべての拡張機能に適用される最小技術要件です。 これらの要件を守ることで、拡張機能が SketchUp クライアント アプリケーション内で適切に動作し、効率的に動作します。
なお、ここではあなたがすでに経験豊富な SketchUp Ruby 開発者であることを想定しています。 初心者の方は、API ドキュメントで SketchupExtensions や RBZ ファイルの詳細について、developer page (開発者ページ) を参照してください。
パッケージ化: Extension Warehouse は、RBZ パッケージのみを受け付けます。 RBZ は ZIP ファイルと同じで、ファイル拡張子が異なるだけです。 RBZ に含めるべきものについて、いくつかの要件があります。 rbz パッケージのルートには、拡張機能を読み込む 1 つの ruby ファイルと、拡張機能のその他のファイルを含むフォルダのみが許可されています。
注: フォルダ名は、ruby ファイルと同じ名前 (ファイル拡張子 ".rb" は含まない) である必要があります。- 独自の拡張名: 拡張機能の作成は、独自の名前を選択することから始まります。 たとえば、Swivel Driver というプラグインを作成していて、会社名が GoCorp だとします。 その場合、拡張機能ファイル名の先頭にあなたのイニシャルまたは会社名を付けることを強くお勧めします。
- 名前空間: すべてのコードを開発者用の名前空間でラップして、他の開発者のスクリプトとの競合を防ぎましょう。
- 「元に戻す」のベストプラクティス: 拡張機能がモデルに追加または変更するものである場合は、これらの手順を Model.start_operation/commit_operation 呼び出し内にラップすることを強くお勧めします。これにより、ユーザーは Edit (編集) > Undo (元に戻す) を 1 回クリックするだけでモデルを元に戻すことができます。
サポート要件
SketchUp チームは、あなたの拡張機能のユーザー サポートを担当しません。 ユーザーをサポートするための仕組みをご用意いただく必要があります。最低限必要なものは以下のとおりです。
文書化: 意外なほど多くのユーザーが、SketchUp 拡張機能をインストールしても、その新機能をユーザー インターフェース内で見つけたり、その使い方を理解したりできなくて困っています。サポートがないためです。 成功する拡張機能とは、ユーザーが使い方を習得できる拡張機能です。このステップを軽視してはいけません。 あなたの Web サイトのサポート ページで以下の情報を提供することを強くお勧めします。
開始方法の詳細な手順。可能であれば、具体的なメニュー名とスクリーンショットを使用してください。
- 使い方を示すビデオ。
- 必要に応じて、ユーザーが「ベスト ケース」シナリオでプラグインをデモできるサンプル ファイルへのリンク。
- サポート連絡先: ユーザーがサポートのためにあなたに連絡できるようにしておく必要があります。 アカウントのプロファイル リンクまたは拡張機能の説明フィールドに Web サイトまたはサポート メール アドレスを入力してください。
- トレーニング: 必須ではありませんが、トレーニング ビデオその他の資料を提供することで、ユーザーが使い方を覚える手助けができ、多くのユーザーに喜ばれるでしょう。
コードの依存関係
拡張機能が他のコード ライブラリに依存している場合は、それらを拡張機能パッケージにまとめる必要があります。または、ユーザーに対して、それらのライブラリのダウンロードおよびインストール方法を明確に案内する必要があります。
拡張機能が承認されない理由
実際のところ、あなたの拡張機能が審査プロセスを通過しない可能性もあります。 そうなった場合、理由は軽微で簡単に修正できるものになることを願っています。 以下は、拡張機能を却下する際に挙げる可能性のある理由のリストです。 このリストは、拡張機能が審査プロセスに合格する可能性を高めるためのガイドとなることを意図したものです。
拡張機能が使用時にクラッシュする、読み込んだ時に SketchUp がクラッシュしたり、パフォーマンスが低下したりする。 拡張機能が単にクラッシュするだけなら、誰にとってもあまり役に立ちません。
他の人の拡張機能をクラッシュさせたり、パフォーマンスを低下させたりする。 Extension Warehouse に参加するからには、そこがあなただけの場ではないことを認識する必要があります。 参加者全員がルールを守ってこそ、この仕組みはうまく機能します。
広告どおりに使用できない明らかなバグがある。 正しく動作しないコードを好む人はいません。 それはあなたにも当社にも悪い印象を与えます。 提出する前にコードをテストし、想定どおりに動作することを確認してください。
あなたの拡張機能が広告どおりに動作しない。 ユーザーを「おとり商法」の罠にかけてはいけません。 拡張機能で何ができるのかを説明し、その機能を確実に提供する必要があります。
あなた拡張機能は、SketchUp で文書化されていない API を使用している。 文書化されていない API は、いつでも変更される恐れがあり、おそらく十分にテストされていないため、安全に使用できません。 言い換えれば、明日には動作しなくなる可能性があります。 適切にテストしていないため、仮に動作しても、今日の段階であまり良好に、または信頼性を持って動作しない可能性が高いです。
あなたの拡張機能が、他人の拡張機能の複製である。あなたが自分のものであると主張する拡張機能は、他人の作品の単なるコピーであってはなりません。 独創性を持たせるか、派生品の場合は少なくとも何か新しい要素を追加すべきです。単なる完全なコピーは避けてください。
あなたの拡張機能がスパムである。 他の何かの広告に過ぎない拡張機能は受け付けられません。
当社の利用規約、エンドユーザー ライセンス契約、またはプライバシー ポリシーに違反している。
他人の商標、著作権、特許を侵害している。
別のユーザーのコンピューターに損害を与えることを目的とした悪意のあるコードを実行する。
不適切、中傷的、わいせつ、煽情的、ポルノ的、または違法な情報、画像、または素材が含まれている。
適用されるすべての法的要件に準拠していない。