FreelyApps

個人によるアプリ開発の日記です。アプリの収入だけで生活できるようになるのが目標です。UnityでAndroid向けのゲームアプリを作成しています。


    アプリ『トランプ・7並べ』を公開しました。
    Android/iOS https://goo.gl/zsFces

    カテゴリ:Unity > Everyplay

      このエントリーをはてなブックマークに追加 Clip to Evernote
    この前の記事はテストをするということでした。
    今回はゲームによって任意のタイミングでEveryplay の録画を開始し、終了するということを実装します。これにより動画にして面白い部分だけを録画することができます。また録画されたくないところを制御するということができます。

    まずは以前は 有効にしておいたEnable test buttons のチェックを外します。これで自動でテスト用のウィンドウが開かなくなります。
    Everyplay の設定はクライアントID、クライアントシークレット、リダイレクトURLとプラットフォームをどれにするかというものを入力している状態になっているはずです。 

    Everyplay の実装は機能をサポートしているか確認、撮影開始、撮影終了、動画確認といったものを入れれば完了です。実装すべきものは以下で赤字にしてあります。

    デリゲートを使ってEveryplayの初期化とサポート端末かのチェックが終了したことのイベントを受け取ります。
    Everyplay.ReadyForRecording += ReadyForRecording;
    上ではvoid ReadyForRecording(bool bReady); という関数を渡しています。Everyplay の初期化等が終わったタイミングでReadyForRecording に引数が渡されて呼ばれるようになります。
    ReadyForRecording 内で機能をサポートしている端末かどうかの判定を行い、どこかにEveryplayが使えるということを保存しておけば良いと思います。  


    わかりづらいと思うので初期化の部分を例として挙げておきます。あとはEveryplay が有効であったら、動画の撮影処理を呼び出せばいいだけです。

    動画の撮影を始めたいところでEveryplay.StartRecording(); を呼びます。これが呼ばれてからEveryplay.StopRecording(); を呼ぶまで撮影が行われます。

    Everyplay.StartRecording(); とEveryplay.StopRecording(); をセットで呼び終えたら、動画の投稿処理を行います。投稿処理といってもEveryplay.ShowSharingModal(); を呼ぶだけです。ボタンを押してからこの関数を呼んでも良いですし、処理の流れで呼んでもかまいません。
    これで一通りの実装が終了になります。

    Everyplay.ShowSharingModal(); を呼ぶと、動画を投稿するためのダイアログが画面に重なって表示されます。ユーザーがこのダイアログ上でSNS の選択をするなどして動画を投稿することができます。

    一度はこのドキュメントに目を通してみてください。足りないところ古いところがありますが、機能的な解説は十分されています。

      このエントリーをはてなブックマークに追加 Clip to Evernote
    まずは試してみることにします。
    スクリプトの編集はまるでありませんので、拍子抜けするかもしれません。

    前の記事でゲームをEveryplayに登録しました。
    今回はテストするためにもクライアントID、クライアントシークレット、リダイレクトURLが必要となるので、ゲームを登録しておいてください。管理サイトで登録したゲームを消す機能はないので、テスト用の名前を取得するのが良いと思います。
    消したい場合はサポートに問い合わせるしか方法はないと思いますが、英語で問い合わせるしかないので面倒です。
    evp-support

    ゲームの登録を済ませクライアントID、クライアントシークレット、リダイレクトURLがあるとして話を進めます。
    Unity アセットストアに行き、Everyplay のパッケージをプロジェクトにインポートしてください。インポート が終わったら一度Unity を終了させます。(Editor スクリプトのビルドをするため)
    再度Unity を立ち上げて、メニューEdit -> Everyplay Settings を押します。

    インスペクタ― にEveryplay の設定内容が以下のように表示されるはずです。
    evp-setting
     (上の図ではAndroid enabled と Enable test buttonsが既に押されています)
    1)で
    クライアントID、クライアントシークレット、リダイレクトURLに対応する場所に管理サイト上で表示されている値を入力します。リダイレクトURLははじめから正しい値が入っているようですが、一応修正します。

    2)で対応プラットフォームにチェックします。

    3)をチェックすると、テスト用のUIが
    表示されます。今回はこれをチェックしてEveryplay がどんなものか体験してください。作業はこれで終わりです。

    対応
    プラットフォーム用にビルドをして実行してください。端末でないと動作しないので注意してください。
    強制プライベートモードになっていなくてもテストできますが、動画をEveryplay に投稿できてしまいます。気をつければむしろ便利です。

    テスト用のUI表示スクリプトはAssets/Plugins/Everyplay/Scripts のEveryplayTest.cs が行っています。これと似たような実装を行えば自分のアプリにあった録画を行うことができます。OnGUI を使用しているので現在の作りにはこれをそのまま使わない方が良いです。
    テスト用とはいえ機能的にはサムネイル以外全部あると言ってもいいものです。これをそのまま使っても良いかもしれませんね。 

      このエントリーをはてなブックマークに追加 Clip to Evernote
    やることは単純です。Everyplay の開発者サイトにログインします。
    ダッシュボードというタブを押すと、ゲームの一覧画面になります。登録してなければ何もないはずです。

     「ゲームを登録」というボタンを押しましょう。
    evp-create
    上のような画面が出ます。なぜか英語表記になります。Everyplay の開発者サイトに行けばわかるのですが英語と日本語が混じっています。翻訳途中ですという主張が感じられます。
    「What is the name of your game?」なので、ゲーム名を入れれば良いです。作成を押しても登録できるとは限りませんが……

    試しにtestと入力して作成してみてください。
    こんな感じに登録を拒否されると思います。
    evp-deny

    使われている名前は登録できないので、これを知っているかどうかは非常に重要です。

    私も名付けたかった名前が既に登録されていてアプリ名を変えることにしました。この名前登録システムは改善した方が良いと思っています。既にあるゲームにEveryplayを入れた場合、ゲーム名を変えて登録するしかないのは嫌だからです。
    今はEveryplayに登録できるかは早い者勝ちなので、アプリ名が決まっているなら実装する前に登録だけしておくことをお勧めします。名前が取れるかわからないので、いくつか試してみて取得しておくのも良いかもしれません。

    名前さえ被らなければ作成ボタンを押すだけで登録は完了します。
    一般情報タブにクライアントID、クライアントシークレット、リダイレクトURLが表示されています。これらはEveryplayを使うために必要なアプリ固有の情報です。

    一般情報タブの下の方にある「強制プライベートモード」をチェックして変更の保存ボタンを押すと動画が公開されなくなるので、開発中はこれをしておく方が良いでしょう。リリースしたらここのチェックはしてしまうとEveryplayの価値が下がる気がします。
     

      このエントリーをはてなブックマークに追加 Clip to Evernote
    Everyplay とはゲームのプレイ動画の投稿、共有ができるサービスのことです。ゲーム専用のSNSみたいなものだと考えるとわかりやすい気がします。Everyplay 用のSDK があり、それをゲームに組み込むことで簡単にプレイ動画を撮り投稿する機能を実現することができます。編集機能や実況機能も対応できるようですが、端末によってはサポートされなかったりするので過信は禁物みたいです。
    一般ユーザー向けのサイトはこちらになります。 いろいろなゲームの動画が投稿されていて面白いと思います。ゲームごとのコミュニティもあり、活発なゲームだとコメントなんかも盛り上がっています。

    開発者としてはまず開発者向けのサイトに行く必要があります。右上にある「サインアップ」を押して登録を行います。以前の記事でUnity アカウントの作り方について書きましたので、もしアカウントがない場合はそちらを参照して作ってください。Unity アカウント以外でも登録できますが、それについては行っていませんので解説しません。たぶん流れは同じだと思います。
    signup

     サインアップを押したら以上の画面が開きます。Unity アカウントと関連付けるため、左上のUnityのマークがあるボタンを押してサインアップします。ログイン後いくつかの情報を登録します。以下のウィンドウに情報を入力します。
    devacc
     ユーザーネームはおそらく公開されるものなので、自分のブランド名的なものがあればそれを入れるのが良いと思います。本名はやめた方が良いでしょう。(登録した後に一般ユーザー向けのサイトのEveryplayで検索したら、登録したユーザー名のユーザーが見つかりました。)EメールはUnity アカウントと同じものを使いました。これは連絡用だと思われるので都合のよいものにすれば良いはずです。誕生日は自分自身のを入れれば大丈夫でした。
    これが終わると会社情報の入力になります。

    company-info
     
    入力が必須なのは連絡先氏名の欄だけです。私は個人開発者ですので連絡先氏名を漢字で本名を書きました。上の2つは空欄のままです。日本語表示されていたので漢字で書きましたが、英語表記でも良いかもしれません。
    同意ボタンにチェックを入れて完了を押せば登録がなされます。

    Unity Account で登録したためかそのまますぐに管理用のサイトに入れました。登録時に来たメールにも登録用のアドレスとかもありませんでした。

    重要なのはユーザー名を本名をしないことだと思います。
    最近はUnity のユーザー名という名称のものは公開されるものだと考えています。Unity におけるユーザー名は一意であり公開されるものという意味なのかもしれません。

    ゲームの登録と実装については私自身も終えてないので、今度まとめてみる予定です。 

    このページのトップヘ