ツテなしフリーランス日誌

ツテが全く無いまま会社を辞め、我が道を行くフリーランスエンジニアのブログです



Unity Ads はじめての組み込み

Unity Adsを組み込んで、AndroidiOS上での動作確認を行います。 組み込んで、動作を確認するまでのステップは次のとおりです。

  1. UnityAdsページで、新しいプロジェクトの追加
  2. 新しいプロジェクトの追加
  3. Unityへの組み込み
  4. AndroidもしくはiOSで実行

この組み込み手順は以下のUnityバージョン以上を対象としています。

  • Unity 5.2以上

1. UnityAdsページで、新しいプロジェクトの追加

Unity Adsのページを開きます。ログインしていない場合は、ログインを行ってください。

2. 新しいプロジェクトの追加

新しいプロジェクトの追加」ボタンを押して、新しいプロジェクトを作成するページに遷移します。

下記情報を入力し、「続ける」を押します。組み込み手順ページに遷移します。

  • プロジェクト名
  • プラットフォームの選択(公開をまだしていない場合でも選択できます)
  • COPPA遵守の明示

3. Unityへの組み込み

組み込み手順ページに従って、UnityへUnity Adsを組み込みます。

新規プロジェクトを作成して組み込み、表示するまでの手順を説明します。

3-1. 新規プロジェクトの作成

通常どおり、Unityの新規プロジェクトを作成します。 適当な名前を入力し作成してください。

3-2. エディターでUnityAdsを有効化します。

1. メニューバーのWindow -> Services -> Ads の順に選び、Ads configuration ウィンドウを開きます。

Serviceの一覧が表示されるので、その中の「Ads」を選択します。

f:id:kurisankaku:20170318154748p:plain

2. 下記情報を切り替えます。

  • Monetize your games」のトグルをオンにします。
  • Platform」で使用するプラットフォームのチェックボックスにチェックを付けます。
  • Test mode」は、開発時には常にチェックを付けておいてください。リリースする際はチェックを外してください。
    • テストモードを開発時に使用すべき理由は公式ドキュメントを参照してください。
  • Advanced」を開きiOSAndroidのGameIDを入力してください。それぞれのGameIDはプロジェクトを追加した際に発行されているので、そちらを参照してください。

f:id:kurisankaku:20170318154807p:plain

3. SETTINGSからCODE SAMPLESに切り替えます。

コードサンプルが表示されています。今回は「Simple」を選択し、「Copy to Clipboard」をクリックし、コピーしてください。そのコピーは次のスクリプトで使用します。

3-3. Unity Ads用のスクリプトを作成

1. 「Project」ビューの「Assets」フォルダの下に「UnityAdsExample.cs」を作成します。このファイル名は、CODE SAMPLESでコピーした際のクラス名にしてください。

f:id:kurisankaku:20170318154838p:plain

2. 作成した「UnityAds」を開き、CODE SAMPLESでコピーしたものを追加し、下記のようにして保存してください。

※ 「using UnityEngine.Advertisements;」はUnity Adsが使用できるプラットフォームの状態のみ使用できます。エラーが出ている場合は、Build Settings -> Platform でiOSまたはAndroidを選択し、「Switch Platform」を押し、切り替えてください。

using UnityEngine;
using UnityEngine.Advertisements;

public class UnityAdsExample : MonoBehaviour
{
    void Update()
    {
        ShowAd();
    }

    bool isShowed = false;
    public void ShowAd()
    {
        if (Advertisement.IsReady() && !isShowed)
        {
            Advertisement.Show();
            isShowed = true;
        }
    }
}

3-4. 作成したスクリプトをオブジェクトのコンポーネントへ追加

追加するオブジェクトは何でも構いません。この例ではわかりやすいように、「Main Cmaera」に追加します。

f:id:kurisankaku:20170318154855p:plain

4. AndroidもしくはiOSで実行

AndroidもしくはiOSの実機、またはエミュレータでビルドし、動作を確認してください。

数秒待つと動画が再生されます。

今回の例では1度実行されたら動画広告を表示しないようにしていますが、本実装では、公式ドキュメントを参考に動画広告を呼び出したいタイミングでスクリプトを実行するように変更などをしてください。

Androidのビルド方法は下記記事を参考にしてください。

www.kurisankaku.xyz

iOSのビルド方法は下記記事を参考にしてください。

www.kurisankaku.xyz

Unity iOSアプリをビルドする

UnityでiOSアプリをビルドする際に、必要な初期設定を行っていきます。

1. Xcodeのインストール

Xcodeをインストールしてください。Xcodeのインストール方法はこの記事では記載しません。

AppStoreなどから各環境に合わせてインストールをお願いします。

2. Platformの選択

1. メニューバーのFile -> Build Settingsを開きます。

f:id:kurisankaku:20170318143751p:plain

2. PlatformからiOSを選択し、「Switch Platform」を押してください。

f:id:kurisankaku:20170318154420p:plain

3. Bundle Identifierの設定

Player Settings -> Other Settings -> Identification -> Bundle Identifierを入力してください。

f:id:kurisankaku:20170318154434p:plain

4. Target SDKの設定

実機での実行環境を構築するか、シミュレータでの実行環境を構築するかを選択できます。

Player Settings -> Other Settings -> Configuration -> TargetSDKに構築したいSDKを選択してください。

  • Device SDK ・・・ iOSの実機で実行できる環境を構築します。
  • Simulator SDK ・・・シミュレータで実行できる環境を構築します。

f:id:kurisankaku:20170318154446p:plain

5. ビルド

Build Settings の「Build」を押し、xcodeのプロジェクトを作成します。

6. Xcodeで実行

作成されたxcodeプロジェクトをXcodeで開き、実行ボタンを押し、実行してください 。

リリース作業などは通常のXcodeでのアプリ作成と同じ手順で、作成することができます。

Androidビルド方法

Androidのビルド方法については、下記記事を参照してください。

www.kurisankaku.xyz

Unity Androidアプリをビルドする

UnityでAndroidアプリをビルドする際に、必要な初期設定を行っていきます。

1. Android Studioのインストール

Android SDKを使用するために、Android Studioをインストールします。

公式ページからAndroid Studioをインストールしてください。

Android Studio

2. JDKのインストール

Oracleの公式ページよりJDKをインストールしてください。

Java SE Downloads

3. UnityでAndroid SDKJDKのパスを設定

1. Unityでプロジェクトを開きます。メニューバーの Unity -> Preferences を選択します。

2. External Toolsを開き、Android -> SDKの「Browse」を選択します。Android SDKが入っている場所を選択してください。

(例)/Users/ユーザー名/Library/Android/sdk

3. Android -> JDKの「Browse」を選択します。JDKが入っている場所を選択してください。

(例)/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

f:id:kurisankaku:20170318144258p:plain

4. Platformの選択

1. メニューバーのFile -> Build Settingsを開きます。 f:id:kurisankaku:20170318143751p:plain

2. PlatformからAndroidを選択し、「Switch Platform」を押してください。 f:id:kurisankaku:20170318143759p:plain

3. Player Settingsを押し、Other Settings -> Identification -> Bundle Identifierにパッケージ名を入力してください。

f:id:kurisankaku:20170318144213p:plain

5. APKの作成

5-1. 実機をPCに認識済みもしくは、エミュレータを立ち上げ済みの場合

Build Settingsの「Build And Run」を押し、ファイル名を入力して保存すると、APKが作成されるのと同時に実機もしくはエミュレータにAPKがインストールされます。

5-2. APKのみの作成

Build」を押し、ファイル名を入力し、保存するとAPKが作成できます。

※ビルド時に「Unable to list target platforms. Please make sure the android sdk path is correct.」のエラーが出た場合

5-3. Android Studio用のプロジェクトをエクスポートする方法

BuildSettingsの 1. 「Build System」から「Gradle」を選択 1. 「Export Project」にチェックをつける 1. 「Export」ボタンを押し、エクスポート場所を選んで保存する

f:id:kurisankaku:20170318143808p:plain

iOSのビルド方法

iOSのビルド方法は下記記事を参照してください。

www.kurisankaku.xyz

新潟のB級グルメ「ぽっぽ焼き」を食す

地方のB級グルメを食すことが、旅行の醍醐味になってきていると思う今日このごろ、
 
地元新潟のB級グルメで特におすすめしたい一品を紹介します!
 
それが、
 
 
ぽっぽ焼き」
 
 
一切イメージがわかない食べ物ですよね。
 
けど、これが無性に食べたくなり、ハマってしまうお手頃価格の食べ物なんです。
 
 
ぽっぽ焼きとは
 
新潟の下越地方中心で見られる細長いパンのようなお菓子です。
 
お祭りでは必ずと言っていいほど、出店しており、
 
必ず人が並んで、大量にみなさん買って行かれる人気お菓子となっています!
 
 
お祭りで買って食べるのが醍醐味なんですが、お祭りでなくても買える場所もいくつかあります。
 
その一つが、新潟市万代の「ameya poppo」。
 
 
ameya poppo 
住所   新潟県新潟市中央区万代1-6-1 バスセンタービル 1F
営業時間 [月~金]11:00~17:00[土・日・祝]10:30~18:30
定休日 毎週水曜日
 
 
 
ぽっぽ焼きってどんな感じ?
 
屋台以外で買うのは初めてなのですが、どんな感じのお店なんでしょう。
 

f:id:kurisankaku:20160426083511j:plain

 
祭りの屋台と違って、可愛い感じの外観ですねー。
 
これはこれで有りです。
 
 
 
買える本数ですが、
 
『10本、12本、16本、20本、24本、30本』
 
と幅広く指定できます!
 
お祭りの屋台の場合は、『9本、15本、30本』の3パターンから選ぶのが平均的なので、
 
それに比べると選べる本数の幅が広くていいですね。
 
 
 
本数に関しては、「最低でも10本って多くない?」って思う人がいると思いますが、
 
実際食べてみると、1本が軽々食べれてしまうという不思議な感じなので、
 
最低10本を一人で食べきれますし、好きな人は30本を買う人もよく見ます。
 
 
 
そして、実際のものですが、
 
 

f:id:kurisankaku:20160426083540j:plain

 
 
茶色い袋に包まれてます。
 
ぽっぽ焼き自体がふにゃふにゃとしていて、水分を含んでいるので、袋が湿っていますね。
 
 
 
中をみるとこんな感じ。
 

f:id:kurisankaku:20160426083604j:plain

 
 
祭りの屋台と違う点が、緑の紙にくくまれていないことです。
 
あの緑の紙がお祭りだな〜って感じさせてくれているので、そこは少しさびしい。
 
 
 
一本がこれぐらいのサイズです。
 

f:id:kurisankaku:20160426083625j:plain

 
 
うまい棒とだいたいおんなじサイズ感かなと思います。
 
手に取ると、ふにゃふにゃしていて、匂いも独特で、
 
「なんだこの食べ物は。。。」
 
というのが、私の第一印象でした!(笑)
 
 
 
ぽっぽ焼きの食感と味は??
 
 
味は、黒砂糖のふにゃっとした味が楽しめます!
 
もちもちしていて、この食感と味の組み合わせでは、ぽっぽ焼き以外に例えるものを知りません。
 
昔ながらの素朴な味って言う表現が良いのかなと思います。
 
 
ぽっぽ焼きの食べごろは??
 
お祭りの屋台で買うと「できたてほやほや」が手に入るので、私はそれが一番好きです!!
 
冷えきったぽっぽ焼きもまた違った味わいになるので、そちらもおすすめです!
 
要するに、いつでも美味しいってことですね!
 
 
注意点としては、屋台でできたてを買って、長時間もっていると、袋が湿ってきて、
 
すこし袋が破けそうだなーって雰囲気にはなってくるので、気をつけて持ちましょうってところです。
 
 
新潟に来たら是非この一品を食べてみてください!!
 
Amazonでもあるらしいので、ちょっと遠いと思う方は、こちらからどうぞ!
 

Vimでクリップボードにコピー&ペースト

Vimでファイルを編集している時のコピー方法としては、
vまたはVで選択範囲して、yでコピー。

ペーストはpです。

しかし、GUIで他の場所からマウスで選択して、クリップボードにコピーし、 vimにペーストをした時にペースト出来ないことがあります。
  

確実にVimの内容をクリップボードにコピーし、 またクリップボードの内容を確実にVimにペーストする方法を書きます。

Vimのテキストをクリップボードにコピー

選択範囲をクリップボードにコピー

  1. vもしくはVを使用し、コピーする範囲を選択します。
  2. 選択した状態で、:w !pbcopyと入力しEnterを押して下さい。
      

これでクリップボードにコピーされました。

ファイル全体をクリップボードにコピー

  1. :%w !pbcopyと入力し、Enterを押して下さい。
      

これでファイル全体がクリップボードにコピーされました。

  

Vimクリップボードの内容をペーストする

  1. カーソルを使い、他のエディタもしくはWebなどから普通にコピーします。
  2. Vimで対象のファイルを開きます。
  3. ペーストしたいところまでいき、:r !pbpasteと入力します。

もしくは

  1. vVを入力し、ビジュアルモードにします。
  2. :!pbpasteを入力し、Enterを押して下さい。
      

他のサイトにも色々なやり方が書いてありますが、vimでヤンクして、他でクリップボードにコピーしてなどを繰り返しているとコピペが出来ないことがありました。
  

今回紹介した方法はいつでもコピペができるので、困ったときは試してみてください。

追記

もう一つのコピー&ペーストの方法があります。

  1. GUIで他の場所からマウスで選択して、クリップボードにコピー
  2. Vim上で :a! を入力し、enter
  3. Vim上で、command + c(Macの場合)
  4. ペースト内容が表示されるので、キーボードのescを押し、テキストを反映

こちらのやり方のほうが、単純かつ簡単でよいかもしれません。 最近はこちらの方法でコピペを私はしています。   

ダメになるソファを1年使ってダメになったのか

楽な体勢でプログラミングがしたい!
 
会社では仕事モードなので、ピシっと背筋を伸ばして作業がしたいんですが、
 
 
 
自宅ではできるだけリラックスしてコードが書きたい!
 
 
 
ということで、自分の体勢を自由に変えられかつ、いつでも寝れる体勢にもっていけるであろう
 
 
 
「人をダメにするソファ」を1年間使って、プログラミングしてみました!
 
 

最初の1週間目

 
家にものが届いた時はテンションが上りましたが、
 
 
 
意外とでかい。。。
 
 
 
イメージ図で見ると色んな体勢で気持ちよさそうに座っているので、
 
いざトライ!
 
 
 
 
うん???
 
 
なんか、沈むけどあんまりシックリこない。。。
 
向きを変えて座ってみるけど、
 
うーん、微妙に体になじまない。。。
 
 
多分、まだいい具合に柔らかくなってないんでしょうね。
 
 

1ヶ月経過

 
 
大分体に馴染み、いい感じで座れてました!
 
座ってる時に疲れは感じず、腰も痛くならず、
 
 
 
というか良い体制で寝れる!
 
でかい枕としても使える!!
 
 
これはいい。。。
 
 
コーディングもMacBookでしてるので、膝に乗せてそのまま出来る。
 
これはいい。。。
 
 

半年経過

 
 
ぺしゃんこになるのかなと思いきや、この時が一番フィットしてました。
 
体にちょうど馴染み、自分の理想かつ快適なポジショニングが取れる。
 
なんと素晴らしい。
 
そして、、、
 
 
コタツとの組み合わせが最高!!!
 
 
もう出れないですね。コタツの中で眠る率が倍以上に増えました。。
 
コーディングしながらふと寝てるときも度々。
 
冬にこのコンボはダメになる気持ちがわかります。
 
 

1年経過

 
座るとあれ?
 
 
なんか硬いものが触れる。。
 
これは床の硬さだな。。
 
 
 
真ん中寄りに座れば大丈夫なんですが、
 
端によると床の硬さが分かってしまいます。
 
 
 
寄りかかる分には良いクッションなんですが、
 
座るものとしてはもうだめなのかなー。
 
 

1年半経過

 
座り心地というよりも
 
すでにクッション兼まくらという感じになってきました。
 
こんな感じに少しへこたれました。
 

f:id:kurisankaku:20160421212735j:plain

 
 
 
カバーをかけてるので壊れるとか破けるとかはないんですが、
 
もうソファというより巨大クッションですね(笑)
 
 
 
でも快適にコーディングは出来てます!
 
 

結論

 
ソファとしての機能は1年経ったあたりから欠けてきました!
 
毎日座ってたので、ヘコたれるスピードが早かったのかもしれないです。
 
 
 
ただ、クッションとかまくらとかではすごく良い感じに使えてるので、
 
捨てるってことはしないですね。
 
 
 
でっかいクッション兼ソファが欲しいって方にはすごくおすすめです!
 
ソファが欲しい!って方はソファを買って下さい!(笑)
 
 
あ、1年使いましたが、私自身はこのソファのせいでダメになったとかは特に無かったです!
 
心地よいクッションが増えてよかったなーぐらいの感じですね。
 
 

Vagrantでネットワークエラーになる。git clone, pushが出来ない時

Vagrantvagrant sshでログインして、作業をし、git pushをしようとしました。

しかし、下記のようなエラーが出ました。

ssh: Could not resolve hostname github.com: Temporary failure in name resolution
fatal: The remote end hung up unexpectedly

  

pingコマンドを試した所

$ ping www.yahoo.co.jp
ping: unknown host www.yahoo.co.jp

  

unknownと言われる始末。。。

vagrantを再起動した所、正常に動作しました。
  

多分、PCをスリープ状態にしたためにnetworkがstopしたのではないかと思います。
ただ、スリープをしても起きないこともよくあるので、どの時に起こるのかは突き止められていません。
  

networkのエラーが出た場合は、再起動もしくは/etc/init.d/network restartをして、networkを起動させて下さい。