自作のAppSheetアプリをテンプレートとして公開する
Google Apps Scriptの場合、作成したアプリのサンプルはスプレッドシートをそのまま公開すれば、相手にコピーしてもらって即使える状態になります。一方で、AppSheetはDrive上でファイルで存在してるわけじゃない為、共有する手法が別に存在します。この手法を使って公開することで、ユーザはURLを開いて、自分のテナントにコピーすることが可能になります。
テンプレート化する方法
結構面倒な手順を踏む必要があります。他人に使ってもらうだけならば、共有に相手のユーザアドレスを入れれば良いだけなのですが、ファイルを複製できるようにしてあげるには、まずアプリをテンプレート化してあげる必要があります。
テンプレート化する手順
現在制作中のアプリが完成し、他の人にコピーしてもらえるようにテンプレート化するための手順は以下のとおりです。
- アプリ作成画面の左サイドバー下の方にある歯車アイコン(settings)をクリックする
- informationを開く
- 「App Properties」にある「Personal use only?」のスイッチをオフにする
- 次に左サイドバーにある「Security」のアイコンをクリックする
- Require Sing-inを開く
- 「Require user signin?」のスイッチをオンにする
- Authentication providerについては「Google」を選択します
- 「Allow all signed-in users」のスイッチをオフにします。
- 次に左サイドバーにある「Manage」のアイコンをクリックする
- Collaborate and Publishをクリックする
- Team Workを開く
- 「Make this a public sample?」のスイッチをオンにする
- Change Visibilityボタンをクリックする
ただし、これで公開されるのはアプリが「デプロイ」されている場合であって、デプロイしていない場合には表示されません。逆に表示されてるものを非表示にしたい場合はアプリをデプロイ⇒プロトタイプの状態に戻すことで非表示にすることが可能です。
図:personalのチェックは外しておく
図:Securityの設定
図:Publicで全世界公開になります
公開するURL
コピーすることの出来る共有URLを構築する必要があります。以下の手順で構築します。
- 右上の自分のアイコンをクリックし、Account Settingsをクリックします。
- 上記タブの「Collab」をクリックする
- Portfolio Descriptionに適当に何か書く
- Saveをクリックする
- 元の自分のアプリの編集画面に戻る
- 右上上部にある「Share」のアイコンをクリックする
- Copy Shareing Linksをクリックする
- Browser LinkのURLをコピーする
- Browser LinkのURLのStartのスラッシュ以降の文字列だけを切り出す(スラッシュは含まない)
- 切り出した文字列を以下のような文字列として構築する
1https://www.appsheet.com/templates?appGuidString=ここに切り出した文字列 - 10.のURLを開いてみる
例えば自分のテストで作ったアプリならば、このようなURLとなります。このURLをブログや相手に公開してコピーしてもらうようにします。
図:アカウント設定に入る
図:説明を追加する
図:共有リンクのURLをコピーする
注意点
今回の設定は「全世界公開」となるため、以下のような点に注意をする必要があります。
- 公開してはマズイデータや値の設定などをテンプレートの元になるアプリに含めておかない
- 社内のみにする場合にはManageの画面に於いて、Team Workにて「Make this a public sample?」ではなく、「Make this a team sample?」の方をチェックオンとする
スプレッドシート連結であっても、DBになにかオカシイデータが無いか?各種設定に於いてハードコードで流出してはマズイものが記述されていないか?(メアドやトークンなど)、それらをチェックしてから公開するようにしましょう(スプシも一緒に複製される為)。
ユーザがコピーする方法
アプリをコピーする
アプリを複製して使いたい側のユーザは前述の共有リンクを元に複製することが可能です。
- 取得した共有リンクを開く
- Copy and Customizeをクリックする
- リクエスト画面が出るので許可を与える
- 小さなダイアログが出るので、Copy Appをクリックする
この時、エラーが出ることがありますが、アプリ自体はコピーが完了していますので、AppSheetのトップ画面に戻って確認します(エラーが出る理由の多くは、対象のアプリを開くと治ります)。
図:共有リンクを開いた様子
図:許可を与える
注意点
コピーが完了した場合、例えばスプレッドシートを起点としたアプリの場合は、連結先のスプレッドシートも実はコピーされて自分のテナントの以下のドライブの中に格納されています。
1 |
マイドライブ => appsheet => data => プロジェクト名 |
この中にスプレッドシートもコピーされているので、これとリンクした状態になっています。もちろん、違うスプレッドシートへと接続し直すことも可能なので、変更したい場合は自身で変更すれば良いです。スプレッドシート自体はIDでリンクされているので場所を違うところへ格納することも可能です。
図:スプシもくっついてきた