1
Unity 2
3
Unity USB Unite2016Tokyo_TrainingDay_CourseA/Installer/Unity/ Win(32bit/64bit) Mac Unity Unity GitHub http://bit.ly/1ull6lm USB Unite2016Tokyo_TrainingDay_CourseA PC 4
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity 5
Unity Cloud Build/Analytics/IAP/Ads Heatmap/Coraborate Ads 6
Unity 7
ios/ Android ios/android 8
Unity Unity GitHub 9
Unity USB Installer/Unity/ Win(32bit/64bit) Mac Unity Unity GitHub http://bit.ly/1ull6lm 10
Unity 1) USB 2) Unite2016Tokyo_TrainingDay_CourseA.zi p 3) Unity 4) OPEN Unite2016TokyoWS01 Unite2016TokyoWS01 11
Unity Services Window Services Service Sign in Sign In 12
Unity Services New link Reload Select organization Create In-App Purchasing 13
Unity Services Enable COPPA This game is directed Import Plugin 14
Unity Services Welcome OK Back to services Analytics ON Console 15
UnityChanBallRoll Roll Ball https://unity3d.com/jp/learn/tutorials/projects/ roll-ball-tutorial WebGL Assets/Example/Scripts/CompleteProject Assets/Example/Scripts/Workshop 16
GitHub : ID makoto-unity, warapuri : : Sign up for GitHub 17
GitHub Free Finish sign up Verify email address 18
Fork github.com Sign in https://github.com/unity3d-jp/ Unite2016TokyoWS01 Fork Fork Where should we fork this repository? Fork 19
Unity Cloud Build 20
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity 21
Unity Cloud Build https://checkout.unity.com/products/cloud-build Unity Professional Cloud Pro ios/android/webplayer/webgl/mac/windows/ Linux 22
Unity Cloud Build WebPlayer WebGL Mac Windows ios ios developer program GitHub AssetBundle Unit Test 23
Let s try Cloud Build! Window Services Go to Dashboard 24
Let s try Cloud Build! Enable Unity Cloud Build First, let's add some SCM information Do it! GitHub URL( ) URL Git Next:Access 25
Let s try Cloud Build! WebPlayer Select Branch master Unity Version Unity5.3.4p1 Next: Build 26
Unity Cloud Build ios ios ios ios 27
itunes ios UDID itunes ios ios UDID 28
ios Developer Center Device ios Developer program Safari Apple ID Certificates, Identifiers & Profiles 29
ios Developer Center Device Devices ALL + Register Device Name ios Makoto s iphone6 UDID itunes UDID 30
Xcode ios Distribution Certificate Xcode Xcode Preference Account AppleID View Details ios Distribution Create 31
ios App ID Identifiers App IDs + App ID Description App ID Suffix Explicit App ID ( IAP ) Bundle ID com.warapuri.rollball Continue In-App Purchase on Register 32
Provisioning Profile Provisioning Profiles All Distribution Ad Hoc Continue Select App ID App ID Continue Certificates Continue Continue Profile Name Continue UnityChan Roll Ball Adhoc distribution Download 33
p12 File Xcode Preference Accounts Apple IDs View Details ios Distribution Export Save Cert p12 34
ios Cloud Build Cloud Build Config Setup New Target ios Select Branch master Next: Build 35
ios Cloud Build BundleID ID Add new provisioning credentials Cert My devices provisioning p12 p12 Next: Build 36
37
Safari "Your device is not provisioned for this build. UDID provisioning p12 Device UDID UDID ios https://build.cloud.unity3d.com/device/ Install Reset provisioned device Install 38
Unity Cloud Build Android Android 39
Unity APK Unity Edit Project Settings Player PlayerSettings Android Publishing Settings Create New Keystore Alias Keystore password Browse Keystore Keystore Confirm password Keystore password Confirm password Create Key Keystore Alias Create a new key 40
Unity APK Use Existing Keystore Browse Keystore Keystore Alias Password Player Settings Other Settings Bundle Identifier ios Unity File Build Settings Build Settings Build apk IAP 41
Android Cloud Build Cloud Build Config Setup New Target Android Select Branch master Next Credentials 42
Android Cloud Build Bundle ID ios Choose Credentials Add new provisioning credentials Name Release Keystore Keystore File Unity Key Alias Unity Alias Keystore Password Unity Key Password Next Build 43
44
Unity Analytics
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity
Unity Analytics Google Analytics Unity 5.2 Unity Personal 1 1000 point
VR Jump Tour Analytics ios/android VR 30,000 Made with Unity
VR Jump Tour Analytics Hiyoshi DAU
Let s try Unity Analytics!
Analytics Analytics OFF ON (Web) INTEGRATION Unity5.2 onward
Analytics Play To Validate Unity
Unity
customeventname: unity eventdata: Dictionary Key Boolean (true/false) (character) (int float ) Boolean VR Jump Tour ID // Reference the Collections Generic namespace using System.Collections.Generic; int totalpotions = 5; int totalcoins = 100; string weaponid = "Weapon_102"; Analytics.CustomEvent("gameOver", new Dictionary<string, object> { { "potions", totalpotions }, { "coins", totalcoins }, { "activeweapon", weaponid } });
Analytics Point 1000point OK Analytics Point 0(= ) 1(= ) MALE FEMALE
Example/Scenes/Workshop01 Example/Scripts/Workshop/GoalChecker.cs Example/Scripts/CompleteProject/ GoalChecker.cs // TODO: using UnityEngine.Analytics; // TODO: Analytics.CustomEvent(
Advanced Integration CUSTOM EVENTS Unity
(CharaSelectController.cs) (GameOverController.cs) (GameOverController.cs) Dashboard
Unity Analytics
METRIC MONITOR Unity DAU MAU REVENUE Sticky Factor DAU MAU=
DATA EXPLORER Add Custom Event Custom Event Segment Parameter Calculation
FUNNEL ANALYZER 20% http://www.slideshare.net/hiromasaiwasaki/ f2p-54671169
SEGMENT BUILDER ios 30
Q. A. Q. A. Q. RAW A. http://info.unity3d.com/2015-10-9heatmapssign-up.html Q. Analytics Point 1000 A. / Web
Tips Event LevelStart,LevelCompleted Event ( LevelCompleted Level) Event level_id LevelID Level0 0Level Dictionary Analytics
Unity InAppPurchase
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity
Unity In-App Purchase (IAP) Unity Analytics Google Play / ios App Store / Mac App Store / Windows Store / OK
IAP PlayerPrefs
Let s try Unity IAP!
IAP In-App Purchase Import Plugins/UnityPurchasing OK
API System Create Empty IAPManager IAPManager Example/Scripts/Workshop/Purchaser.cs Example/Scripts/Complete/Purchaser.cs ) D&D border_shop
API Item1buy_Button Button OnClick IAPManager D&D No Function Purchase BuyConsumable()
API Item2buy_Button Button OnClick IAPManager D&D No Function Purchase BuyNonConsumable()
API border_shop
Purchase.cs Example/Scripts/Workshop/Purchase.cs Example/Scripts/CompleteProject/Purchase.cs // TODO: PlayerPrefs.SetInt("CoinNum", PlayerPrefs.GetInt("CoinNum") + 100); GameObject.Find( CoinNumUI"). GetComponent<ScoreManager>().UpdateCoin(); // TODO: PlayerPrefs.SetInt("NewCharaUnlocked", 1);
CharaSelector.cs Example/Scripts/Workshop/CharaSelector.cs Example/Scripts/CompleteProject/CharaSelector.cs // TODO: if (PlayerPrefs.GetInt("NewCharaUnlocked") == 0) { newonebutton.interactable = false; } else { newonebutton.interactable = true; }
Unity IAP
Purchase.cs InitializePurchasing Awake ID ID ID BuyConsumable BuyNonConsumable BuySubscription BuyProductID try~catch m_storecontroller.initiatepurchase
Purchase.cs RestorePurchases AppStore OnInitialized (m_storecontroller) (m_storeextensionprovider) ProcessPurchase
AppStore
AppStore itunes Connect App Bundle ID Cloud Build App
AppStore com.warapuri.unitychanrollball.coin100 ID ID com.warapuri.unitychanrollball.coin100
AppStore USB Shop.png Save
Sandbox Sandbox makoto+tester01@gmail.com + ios itunes & App Store Apple ID
Sandbox com.warapuri.unitychanrollball.coin100 ; Purchase.cs kproductnameappleconsumable ID ios [Environment: Sandbox]
Google Play
Google Play Google Play APK APK Cloud Build APK
Google Play Create List Google
Google Play
Google Play USB IAP D&D
Google Play
Google Play /
Google Play com.warapuri.unitychanrollball.coin100 ID ( ID )
Google Play com.warapuri.unitychanrollball.coin100 ; Purchase.cs kproductnamegoogleplayconsumable ID Android
1) 2) ID 3) Google Play Google Play 4)
1) 2) USB APK Google Play 3) Android 4)
PlayerPrefs NG
IAP
http://docs.unity3d.com/ja/current/manual/ UnityIAPValidatingReceipts.html Google Play Apple UI
Window Unity IAP Receipt Validation Obfuscator IAP Obfuscator Google Play Developer Console API IAP Obfuscator Generate IAP
public PurchaseProcessingResult ProcessPurchase (PurchaseEventArgs e) { // Unity IAP's validation logic is only included on these platforms. #if UNITY_ANDROID UNITY_IOS UNITY_STANDALONE_OSX // Prepare the validator with the secrets we prepared in the Editor // obfuscation window. var validator = new CrossPlatformValidator(GooglePlayTangle.Data(), AppleTangle.Data(), Application.bundleIdentifier); try { // On Google Play, result will have a single product Id. // On Apple stores receipts contain multiple products. var result = validator.validate(e.purchasedproduct.receipt); Debug.Log("Receipt is valid. Contents:"); foreach (IPurchaseReceipt productreceipt in result) { Debug.Log(productReceipt.productID); Debug.Log(productReceipt.purchaseDate); Debug.Log(productReceipt.transactionID); } // Unlock the appropriate content here. } catch (IAPSecurityException) { Debug.Log("Invalid receipt, not unlocking content"); } #endif } return PurchaseProcessingResult.Complete;
Unity Ads
Unity Ads Overview ios / Android 15~30 Unity 5.2 SDK
2 : 98 The Swrve Monetization Report 2016 https://www.swrve.com/landing/swrve-monetization-report-2016
1.9% 98.1% The Swrve Monetization Report 2016 https://www.swrve.com/landing/swrve-monetization-report-2016
1.9% 98.1% The Swrve Monetization Report 2016 https://www.swrve.com/landing/swrve-monetization-report-2016
100%
Unity Ads
Unity Ads Services Unity Ads UnityEngine.Advertisements [Advanced] ios, Android Game ID
UnityAdsController DL http://bit.ly/unityadscontroller USB Unity Ads Prefab
UnityAdsController.prefab /UnityAdsController/Prefab/ UnityAdsController.prefab
UnityAdsController.prefab Game ID Zone ID
Game ID Unity Ads ID
Zone ID Placement video rewardedvideo
AD_Button Canvas > border_gameover > AD_Button OnClick UnityAdsController ShowUnityAds()
UnityAdsController OnFinished Callback GameOverController RetryWithEasyMode()
RewardCoin.cs bit.ly/rewardcoinsample Zip Unity GameOverController UnityAdsController OnFinished Callback
UnityAdsController(Script)
Unity Ads
Services Go to Dashboard https://dashboard.unityads.unity3d.com/
Organization
Project
API Key
ID
Platform
ID, COPPA
Game ID
Game ID, Store ID
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity
Unity Cloud Build WebPlayer Play Share
Unity Cloud Build
Advanced Settings Scripting Define Synbols #IF MY_DEFINE_DEBUG Pre-Export Method Name static Post-Export Method Name static Scene List BuildSettings
Cloud Build AssetBundle AssetBundle StreamingAssets IPA StreamingAssets
Cloud Build AssetBundle Unity AssetBundle Cloud Build Config :Defaul ios Show Asset Bundle Options Edit Asset Bundle Options Build Asset Bundle Next Save AssetBundle
Cloud Build UnitTest Unity UnitTest UnitTest Cloud Build
Cloud Build UnitTest Editor Cloud Build Config :Defaul ios Show Test Options Edit Test Options Enabled Next Save
UnityCloudBuildManifest.json Resources JSON Assets/Scripts/CompleteProject/CloudBuildVersion.cs Android/iOS BuildNumber UTC Unity
Unity
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity
Unity Heatmaps
Unity Heatmaps Analytics 1
Heatmap 3D
Heatmap 2D
Heatmap VR
demo
Unity Game Performance(alpha)
Unity Game Performance UnityCrashLog.unitypackage CrashReporting.Init( UPID");
demo
Let s try Game Performance
Unity Collaborate
demo
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity
One Step Effects
Unity Unity Unity
Adam https://www.youtube.com/watch? v=44m7jskqwow Unity
Bloom Threshold( ) Exposure( ) Radius( ) Intensity( )
One Step Effects
One Step Effects https://github.com/makoto-unity/ OneStepEffects Unity Editor
1. Window One Step Effects 2. Apply
Root Object: None Renderer Camera Object: None Main Camera Light Object: None Directional Light Skybox: None Skybox
Lighting settings Precomputed Realtime GI Ambient Intensity: Reflection Intensity: Realtime Resolution: 0.1 DirectLight Intensity: Create Normal map Normal Normal Normal scale:
Apply SSAO SSAO Apply SSR SSR Apply Bloom Bloom Apply AA Antialias
1) Unity Cloud Build 2) Unity Analytics 3) Unity InAppPurchase 4) Unity Ads 5) Unity Cloud Build 6) 7) One Step Effects 8) Unity