2015年7月10日金曜日

【スマフォアプリマネタイズ】Unity Ads ミートアップ in 大阪 に参加してきた


7/8に大阪で開催されたUnityAdsの勉強会に参加してきました。

【スマフォアプリマネタイズ】Unity Ads ミートアップ #4 in 大阪

UnityAdsミートアップって集まりは毎月東京でやってるらしいです。
今回はたまたま関西での開催だった模様。

到着〜勉強会開始まで

19:45頃に到着したときには15人ぐらいいたかな?
遅刻だと思って急いで来たけどみんな唐揚げ食べてた。
ちゃんとタイムテーブル見てみると20:30開始、19:30は乾杯だったw
タイムテーブル

数人知り合いがいたのでとりあえずビールで乾杯。
唐揚げとピザを食べながらビール。しかも無料。なんて幸せな・・・

20:30頃、Lサイズのピザ3枚が届いたのと同時に勉強会開始。
始まる頃にはみんなお腹いっぱい

20:30〜 Unity Ads トレンドのご案内

Unityジャパン松井さんの発表。
UnityAdsはこんなものですよ〜とか。
どういうアプリに実装されてますよ〜。みたいな紹介。

導入アプリの数や広告数、フィルレート、eCPMとかふむふむって聞いてた。
ところどころの数字は喋っちゃダメって言ってたから伏せとく。
(どこがダメだったかは酔っ払ってて覚えてない)

導入数に関して言うと今年頭からすでに2倍以上になってるらしい。

あとは代表的な広告の表示方法の紹介とか。

代表的な広告表示方法

UnityAdsは動画広告のみなので表示するタイミングが重要。
ざっくりと4種類紹介された。

アイテムプレゼント型

動画みたらアイテムあげるよ!的なあれ。
見るか見ないかユーザーが選べるしいいよね。最近増えてるのも納得。
コンバージョン、eCPM共に高い。

強制表示型

定期的に強制表示されるやつ。かなりうっとうしい。
5秒でスキップできる場合が多いけどそれでもイライラしちゃう。
コンバージョンは並、eCPMは高い。

コンティニュー型

動画みたらもう一度コンティニューさせてあげるよってやつ。
毎回じゃなくハイスコアに届きそうなときとか、ユーザーが悔しい思いをしたときに出すと効果的らしい。たしかに。広告じゃないけどツムツムとかそうやね。
コンバージョンやや高い、eCPMは高い。

ゲーム開始前表示型

開始前に見ると強くてニューゲームできるよ。みたいな。
今からこのゲームを遊ぶ!ってときに出すから効果は低いらしい。
コンバージョン、eCPM共に低い。

Unityを信じて!

この言葉が印象的だったw
効果の高い広告が出やすいように自動的に最適化されていくから2〜3ヶ月は変にいじらず使ってみて。って言ってた。
いじるってブラックリストやホワイトリストで表示する広告をカスタマイズすることね。

21:15~ Unityのアプリに動画広告を実装するには

続いて鎌田さんの発表。
ソースコード見せながらこんな感じで実装できますって紹介。

実装方法

1.UnityAdsのアセットをインポート

※Unity5.2からはUnityAdsが標準ライブラリに含まれるみたいで、アセットのインポートは不要になるらしい。

2.実装する

コードはこれだけ。
using UnityEngine.Advertisements;
public class UnityAdsTest : MonoBehaviour
{
   void Start()
   {
   if(Advertisement.isSupported && Advertisement.isInitialized)
     {
      Advertisement.Initialize("gameID");
     }
   }

   public void ShowAds()
   {
      if( Advertisement.isReady())
      {
        Advertisement.Show();
      }
   }
}
あら簡単。

このままゴリゴリ書き進めてもいいけど
完了・中断とかのコールバック実装やiOS、Android両対応とか
ちょっと踏み込むとだんだん面倒になってくる。(らしい)

次はそれを解決できるヘルパーの紹介。

もっと楽な実装方法

Unity Ads Helper
UnityAdsの実装を超簡単にしてくれるヘルパー。
使い方は上記リンクをみてね。

iOS,AndroidのgameIDを一緒に設定できたり、
OnFinished,OnSkipped,OnFailedとかのコールバックを簡単に実装できたり。
かなり便利そうに見えた。

実装サンプルプロジェクトの紹介

unity-ads-demo
さっきのヘルパーを作ってる人のデモらしい。


動画をみたらコインをプレゼント〜ってありがちな使い方のサンプル。
一度見るとしばらくは「動画を見る」ボタンが押せないクールダウンタイムの実装もされてるので参考にどうぞ。

動画のスキップについて

アイテムプレゼント型の実装だとスキップできない場合が多いよね。
逆に強制表示型だと5秒でスキップみたいなのが多い。

UnityAdsの管理画面からスキップ可否やスキップ可能までの秒数が設定可能だそうな。

UnityAdsの強み

  • eCPMが高い
  • ゲームに特化してる
  • 実装が楽
こんな感じのことを話してた。

Unity5.2以降はアセットの追加すら不要になるみたいだからかなり楽になるね。

まとめ

実装も楽そうだし使ってみましょー。
ゲーム系アプリであれば導入して損はなさそうです。


あと今後はミートアップってことでお肉食べてしゃべる会を目指すらしいですよ。
お肉食べたくなったらUnityの人に連絡しましょう!


Unity系記事まとめ

2015年7月7日火曜日

新ConoHaのオブジェクトストレージ、ダウンロード用一時URL(Temp URL)を試す。

ブラウザからオブジェクトストレージへ直接ファイルアップロードをしたいんだけどブラウザにアクセストークンを渡したくない。
どうにか方法ないかなって調べてたら下記記事を見つけた。

Qiitaの画像アップロード機能も簡単に実装できる。そう、S3ならね。
まさにやりたいことはこれ。でもS3じゃなくてConoHaオブジェクトストレージでやりたい。

調べた。

ConoHaのドキュメントにはForm POSTに関する記述がなかったけど使えないのかな・・・
とりあえず簡単そうな"Temporary URL"を試してみる。

コンテナを作成しファイルをアップロード


"container"ってコンテナを作り、"hello.txt"をアップロードした。
コンテナには何もメタデータを設定していないので、今のところhello.txtは直接GETできない。

トークンの発行

前回の記事と同様にトークンを発行する。
curl -i -X POST \
-H "Accept: application/json" \
-d '{"auth":{"passwordCredentials":{"username":"APIユーザー名","password":"APIユーザーパスワード"},"tenantId":"テナントID"}}' \
https://identity.tyo1.conoha.io/v2.0/tokens

TempURL用のKeyを登録

curl -i -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: [取得したトークン]" \
-H 'X-Account-Meta-Temp-URL-Key: [セットしたいキー]' \
https://object-storage.tyo1.conoha.io/v1/nc_df3bdbc45bc04950b558834f5728517a
Temporary URL middlewareに4つのキーが必要、みたいに書いてあるけどここでセットしてるのアカウントに対する鍵の1つ目(X-Account-Meta-Temp-URL-Key)っぽいなぁ。1つでいいのかな。残り3つはなんなんやろ。

TempURLを生成するスクリプトを用意

create-tempurl.py
import hmac
from hashlib import sha1
from time import time
method = 'GET'
duration_in_seconds = 60*60*24
expires = int(time() + duration_in_seconds)
path = '/v1/nc_df3bdbc45bc04950b558834f5728517a/container/hello.txt'
key = '[セットしたキー]'
hmac_body = '%s\n%s\n%s' % (method, expires, path)
sig = hmac.new(key, hmac_body, sha1).hexdigest()
s = 'https://{host}{path}?temp_url_sig={sig}&temp_url_expires={expires}'
url = s.format(host='object-storage.tyo1.conoha.io', path=path, sig=sig, expires=expires)
print '%s' % url
pythonにはhmacってライブラリがあるんですなぁ。rubyにもあるのかな。

スクリプト実行

$ python create-tempurl.py 
https://object-storage.tyo1.conoha.io/v1/nc_df3bdbc45bc04950b558834f5728517a/container/hello.txt?temp_url_sig=9775eacc57b95fe57435c8f5d8b6e404a0957930&temp_url_expires=1436284812
こんな感じでURLが返ってくる。
このURLをブラウザで開くとダウンロードされるので一時URLが有効になってるのが確認できた。めでたしめでたし。

とりあえずhmacによる認証ハッシュを生成する方法はわかったので次はFormPOSTを試してみたい。
ConoHaのAPIドキュメントに"Form POST"っぽいものがないけど使えるんだろうか・・・

今日はここまで。

関連記事

ConoHa関連の記事をまとめました。
ConoHa関連まとめ
Related Posts Plugin for WordPress, Blogger...