SlideShare una empresa de Scribd logo
1 de 67
Descargar para leer sin conexión
Unity5.3をさわってみた
(MSE,IAP)
長峰慶三
2015/12/13 @Unity Fukuoka 09
自己紹介
• 長峰慶三
• 株式会社Jollystics
• ソフトウェアエンジニア
• Unity / Xamarin
• チャージアックス / ブシドー
内容
• マルチシーン編集

(Multi Scene Edit, MSE)
• アプリ内課金

(Unity IAP)
はじめに
• 出たばかりの機能をさわってみた話です
• 自分の認識・印象なので参考程度に
• ちがうよ!ってときはご指摘ください
マルチシーン編集
Multi Scene Editing
デモ
何がいいのか?
こういうとき?
• ベースのシーンにサブシーンを乗せるかんじ
• 複数のシーンで使いまわしたい
• 複数人でシーンを分割して開発したい
プレハブでやってたのが
シンプルになりそう!
スクリプト
Application.LoadLevel()
Application.loadedLevel
…
非推奨になりました
SceneManager
using UnityEngine;

using UnityEngine.SceneManagement; // これがいる



public class SceneA : MonoBehaviour 

{

public void OnClick()

{

// 5.2

Application.LoadLevel("SceneB");



// 5.3

SceneManager.LoadScene("SceneB");

}

}
ロード
// 5.2

Application.LoadLevel(0);

Application.LoadLevel("SceneB");



// 5.3

SceneManager.LoadScene(0);

SceneManager.LoadScene("SceneB");



ロード(非同期)
// 5.2

var operation = Application.LoadLevelAsync(0);

var operation = Application.LoadLevelAsync("SceneB");



// 5.3

var operation = SceneManager.LoadSceneAsync(0);

var operation = SceneManager.LoadSceneAsync("SceneB");



加算ロード
// 5.2

Application.LoadLevelAdditive(0);

Application.LoadLevelAdditive("SceneB");



// 5.3

SceneManager.LoadScene(0, LoadSceneMode.Additive);

SceneManager.LoadScene("SceneB", LoadSceneMode.Additive);



加算ロード(非同期)
// 5.2

var operation = Application.LoadLevelAdditiveAsync(0);

var operation = Application.LoadLevelAdditiveAsync("SceneB");



// 5.3

var operation = SceneManager.LoadSceneAsync(0, LoadSceneMode.Additive);

var operation = SceneManager.LoadSceneAsync("SceneB", LoadSceneMode.Additive);
アンロード
// 5.2

Application.UnloadLevel(0);

Application.UnloadLevel("SceneB");



// 5.3

SceneManager.UnloadScene(0);

SceneManager.UnloadScene("SceneB");



シーン数を取得
// 5.2

Application.levelCount; // BuildSettingに登録されている数



// 5.3

SceneManager.sceneCount; // 現在ロードされている数

SceneManager.sceneCountInBuildSettings; // BuildSettingで登録されている数



シーン情報を取得
// 5.2

Application.loadedLevel; // 現在のシーンインデックス

Application.loadedLevelName; // 現在のシーン名



// 5.3

Scene active = SceneManager.GetActiveScene();



Scene scene1 = SceneManager.GetSceneAt(0);

Scene scene2 = SceneManager.GetSceneByName("SceneA");

Scene scene3 = SceneManager.GetSceneByPath("Assets/SceneA.unity");



Scene[] loadedScenes = SceneManager.GetAllScenes();



Scene構造体
int buildIndex;



string name;



string path;



bool isLoaded;



bool isDirty; // シーンが変更されているか



int rootCount; // シーンのルートにあるゲームオブジェクト数



bool IsValid(); // 有効なシーンかどうか



その他
// ゲームオブジェクトが属するシーンを取得

Scene scene = gameObject.scene;



// ゲームオブジェクトを生成するとActiveなシーンに追加される

GameObject go = new GameObject("New Object");



// ゲームオブジェクトを特定のシーンに移動

SceneManager.MoveGameObjectToScene(go, scene);



// シーンをマージ

SceneManager.MergeScenes(src, dst);



// SceneManager.Get***()で取得できるのはロード済みのシーンのみ

Scene scene = SceneManager.GetSceneByName("NotLoaded");

bool isValid = scene.IsValid(); // falseが返る
Unity起動するたびに
セットアップが必要
エディタスクリプト
EditorSceneManager
using UnityEngine;

using UnityEngine.SceneManagement;

using UnityEditor.SceneManagement; // これも必要



{

// 現在のシーン情報を取得

SceneSetup[] current = EditorSceneManager.GetSceneManagerSetup();



// シーン情報から再構築

EditorSceneManager.RestoreSceneManagerSetup(current);

}

SceneSetupを保存・復元
ScriptableObjectとかね!
デモ
気になること
• Managerオブジェクトのために
DontDestroyOnLoadするのは避けたほうが良
い。代わりにManagerシーンを作って加算
ロードで管理すべし。

と、マニュアルのTipsに書いてある。

が、理由は分からない。
ドキュメント関係
• マニュアル

http://docs.unity3d.com/Manual/
MultiSceneEditing.html
• スクリプトリファレンス

http://docs.unity3d.com/ScriptReference/
SceneManagement.SceneManager.html
共有
• シーン状態保存・復元スクリプト

https://gist.github.com/KzoNag/
f47e8eddec95afd7b3da
アプリ内課金
Unity IAP
そもそもの
アプリ内課金の仕組み
アプリケーション(C#)
ネイティブとのつなぎ(C#)
ネイティブ(Objective-C, Java)
ストア(iOS, Android)
ネイティブ

プラグイン
購入リクエスト 成功 or 失敗
5.2まで
①自力で実装する
C#
Obj-C
Java
iOS Android
②アセットを利用
$ Version
prime31 Soomla
5.3
③Unity公式サポート
アプリケーション(C#)
ネイティブとのつなぎ(C#)
ネイティブ(Objective-C, Java)
ストア(iOS, Android)
ネイティブ

プラグイン
購入リクエスト 成功 or 失敗
Unity
ここだけ
手順
1. ストアでの課金アイテム登録
2. IAP有効化・インポート
3. プログラム実装
ストアでの課金アイテム登録
• 詳細は説明しません
• iTunesConnect
• GooglePlayデベロッパーコンソール
• IDは一緒にしておくと楽っぽい(別でもOK)
IAP有効化・インポート
• エディタのServiceビューでIAPを有効化
• 続けてプラグインをインポート
①Serviceビューを開く
②アカウントを選択して
③プロジェクト作成
これを選択
ここを押して
①対象年齢に応じて選択
②保存
インポート
追加される
プログラム実装
• 結果を受け取るコールバック
• 初期化リクエスト
• 購入リクエスト
結果を受け取るコールバック
• IStoreListenerインターフェイスを実装する
• OnInitialized()
• OnInitilizeFailed()
• ProcessPurchase()
• OnPurchaseFailed()
(例)PurchaseManager
using UnityEngine;

using UnityEngine.Purchasing;



public class PurchaseManager : MonoBehaviour, IStoreListener 

{

void OnInitialized(IStoreController controller, IExtensionProvider extensions)

{

}



void OnInitializeFailed(InitializationFailureReason error)

{

}



PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)

{

}



void OnPurchaseFailed(Product i, PurchaseFailureReason p)

{

}

}
初期化完了
IStoreController controller;

IExtensionProvider extensions;

public void OnInitialized(IStoreController controller, IExtensionProvider extensions)

{

this.controller = controller;

this.extensions = extensions;

}
• controllerにプロダクト情報が入る
• controllerは購入時に使うので保持しておく
初期化失敗
public void OnInitializeFailed(InitializationFailureReason error)

{

}
• errorに失敗の理由が入る
• 端末の購入設定、有効なアイテムがないetc
• 通信できない場合は呼ばれない(トライし続ける)
購入成功
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e)

{

return PurchaseProcessingResult.Complete;// アプリケーション側の課金処理も完了

//return PurchaseProcessingResult.Pending; // 未完了としてIAPシステムに通知

}
• Pendingを返すと起動時に再度ProcessPurchaseが呼ばれる
• controller. ConfirmPendingPurchase(product)を呼ぶと完了状態に
• Pending->サーバー側でアイテム追加->Confirmみたいなかんじか
購入失敗
public void OnPurchaseFailed(Product i, PurchaseFailureReason p)

{

}
• errorに失敗の理由が入る
初期化リクエスト
• プロダクト設定を構築
• プロダクト設定とコールバックで初期化
(例)PurchaseManager
using UnityEngine;

using UnityEngine.Purchasing;



public class PurchaseManager : MonoBehaviour, IStoreListener 

{
…
void Start()

{

// 基本は定型(購入の内部処理をカスタマイズしたりもできるっぽい)

var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());



// プロダクト設定(プロダクトIDとプロダクトの種類を指定)

builder.AddProduct("ProductID", ProductType.Consumable);



// 初期化リクエスト(ここで指定したインスタンスのコールバックが呼ばれる)

UnityPurchasing.Initialize(this, builder);

}
…

}
ストアごとにIDが異なる場合
builder.AddProduct("ProductID",

ProductType.Consumable,

new IDs()

{

{ "iOSProductID", AppleAppStore.Name } ,

{ "AndroidProductID", GooglePlay.Name }

} );
• ストアごとに異なる場合も対応可能
• 購入するときは”ProductID”で指定する
購入リクエスト(簡単版)
public void Purchase()

{

controller.InitiatePurchase("ProductID");

}
購入リクエスト(しっかり版)
public void Purchase()

{

var product = controller.products.WithID("ProductID");



if (product != null && product.availableToPurchase)

{

controller.InitiatePurchase(product);

}



}
リストアについて
• Androidは勝手にリストアしてくれる

(初期化後にProcessPurchase()が呼ばれる)
• iOSは明示的にリストアを呼ぶ必要がある
iOSでのリストア
public void Restore()

{

var apple = extensions.GetExtension<IAppleExtensions>();

apple.RestoreTransactions((result) => 

{

// result: リストアが成功したかどうか

} );

}
• 成功したらProcessPurchase()が呼ばれる
対応しているプロダクト
• Consumable : 消費型(コインとか)
• NonConsumable : 非消費型(ステージ解放とか)
• Subscription : 定期購読
取得できるプロダクト情報
Productのmetadataプロパティから取得できる
• isoCurrencyCode
• localizedDescription
• localizedPrice
• localizedPriceString
• localizedTitle
エディタ上での挙動
• すぐに成功コールバックが呼ばれる
• 初期化時にuseFakeStoreUIModeという設定
をするとダミーのストアUIを出せる
var module = StandardPurchasingModule.Instance();


module.useFakeStoreUIMode = FakeStoreUIMode.StandardUser; // これ

var builder = ConfigurationBuilder.Instance(module);
デモ
その他
• UnityAnalyticsに紐付いてるので購入数などの
情報を見ることができる
• プラグイン自体にもサンプルが入っていて参
考になる
ドキュメント関係
• マニュアル

http://docs.unity3d.com/Manual/UnityIAP.html
• スクリプトリファレンス

http://docs.unity3d.com/ScriptReference/
Purchasing.UnityPurchasing.html
• チュートリアル

http://unity3d.com/learn/tutorials/topics/analytics/
integrating-unity-iap-your-game-beta?playlist=17123

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Fortniteを支える技術
Fortniteを支える技術Fortniteを支える技術
Fortniteを支える技術
 
Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法Addressables で大量のリソース管理・困りどころと解消法
Addressables で大量のリソース管理・困りどころと解消法
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfアニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdf
 
UniRxことはじめ
UniRxことはじめUniRxことはじめ
UniRxことはじめ
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
【Unity道場スペシャル 2017京都】最適化をする前に覚えておきたい技術
 
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
「電車でGO!!」アーケード大型3画面筐体で実在の街並みを表現するUE4開発事例
 
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
 
Editor スクリプティング 入門
Editor スクリプティング 入門Editor スクリプティング 入門
Editor スクリプティング 入門
 
Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻Unity道場08「絵づくりの基礎」ライティング虎の巻
Unity道場08「絵づくりの基礎」ライティング虎の巻
 
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
 
Mesh Bakerのご紹介 どんなアセット?
Mesh Bakerのご紹介 どんなアセット?Mesh Bakerのご紹介 どんなアセット?
Mesh Bakerのご紹介 どんなアセット?
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話
 
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
誰もAddressableについて語らないなら、自分が語るしかない…ッッッッ
 

Destacado

Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Mori Tetsuya
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
 
知って得するC#
知って得するC#知って得するC#
知って得するC#
Shota Baba
 

Destacado (20)

Unity5.3の機能まとめ
Unity5.3の機能まとめUnity5.3の機能まとめ
Unity5.3の機能まとめ
 
Unity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみたUnity 5.3 の In-App Purchase を試してみた
Unity 5.3 の In-App Purchase を試してみた
 
Unity scene file collaboration
Unity scene file collaborationUnity scene file collaboration
Unity scene file collaboration
 
Photon For Unity
Photon For Unity Photon For Unity
Photon For Unity
 
中高生向けUnity講座
中高生向けUnity講座中高生向けUnity講座
中高生向けUnity講座
 
Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方
 
中高生向けUnity講座
中高生向けUnity講座中高生向けUnity講座
中高生向けUnity講座
 
Introduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGeneratorIntroduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGenerator
 
ログレスの戦闘から見るデータ同期について
ログレスの戦闘から見るデータ同期についてログレスの戦闘から見るデータ同期について
ログレスの戦闘から見るデータ同期について
 
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
 
The History of Reactive Extensions
The History of Reactive ExtensionsThe History of Reactive Extensions
The History of Reactive Extensions
 
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
 
Async design with Unity3D
Async design with Unity3DAsync design with Unity3D
Async design with Unity3D
 
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
ここが変わる!Unity 5のスマホ開発  ~アセットバンドル、ビルド、プラグイン~
 
知って得するC#
知って得するC#知って得するC#
知って得するC#
 
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテストJenkinsを使ったコンシューマゲームでのデプロイとテスト
Jenkinsを使ったコンシューマゲームでのデプロイとテスト
 
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
 
Plugin For Unity
Plugin For UnityPlugin For Unity
Plugin For Unity
 
良くわかるMeta
良くわかるMeta良くわかるMeta
良くわかるMeta
 

Similar a Unity5.3をさわってみた

ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
Kentaro Matsumae
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
Yohei Oda
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
Daisuke Sugai
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
Tak Inamori
 
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
Takayoshi Tanaka
 

Similar a Unity5.3をさわってみた (20)

Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
Windows storeアプリ brekky
Windows storeアプリ brekkyWindows storeアプリ brekky
Windows storeアプリ brekky
 
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
Spring Boot + Doma + AngularJSで作るERP #jjug_ccc #ccc_r12
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
cochica
cochicacochica
cochica
 
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
【Unite Tokyo 2018】非プログラマでもできる!簡単プロジェクト管理&マネタイゼーション術!
 
iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜iPhoneアプリ開発の歩き方〜Swift編〜
iPhoneアプリ開発の歩き方〜Swift編〜
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様OpManager導入事例 日テレITプロデュース様
OpManager導入事例 日テレITプロデュース様
 
KCGビジネスインターンシップ 実習報告
KCGビジネスインターンシップ 実習報告KCGビジネスインターンシップ 実習報告
KCGビジネスインターンシップ 実習報告
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
121117 metro styleapp_templateapp
121117 metro styleapp_templateapp121117 metro styleapp_templateapp
121117 metro styleapp_templateapp
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
 

Unity5.3をさわってみた