Upload
agate-studio
View
239
Download
0
Tags:
Embed Size (px)
Citation preview
@agatestudio
@agatestudio
Unity Android
Rio Knight
Agate Studio
Sanrio Hernanto
@agatestudio @agatestudio @agatestudio @agatestudio
Extending Unity Functionality using Java Android
@agatestudio @agatestudio @agatestudio @agatestudio
Overview
• Extending Unity via Android Plug-in – Creating Unity Android Plug-in
– Java – Unity Communication
– Limitation
– Pros & Cons VS Other Methods
• Java Android Usability – Toast
– Local Notification
– Intent Call
– WebView
– etc
@agatestudio @agatestudio @agatestudio @agatestudio
Creating Unity Android Plug-in
• Pre-requisite
– Eclipse
– Android SDK
Create New Android Application Project
Create New Android Application Project
Create New Android Application Project
Add Unity Library to Project
Add Unity Library to Project
Create Your Own Class
Create Your Own Class
Create Your Own Class
Export Your Project
Export Your Project
Export Your Project
Put your JAR file as Unity Android Plugins
@agatestudio @agatestudio @agatestudio @agatestudio
Java – Unity Communication
• Java to Unity
– Access to Unity Activity
– Send Message to Unity
• Unity to Java
– Access to Java Class
– Call Java Function
@agatestudio @agatestudio @agatestudio @agatestudio
Java to Unity
@agatestudio @agatestudio @agatestudio @agatestudio
Java to Unity – Unity Send Message
@agatestudio @agatestudio @agatestudio @agatestudio
Unity to Java - AndroidJavaClass
• Unity C#
• Java
@agatestudio @agatestudio @agatestudio @agatestudio
Unity to Java - AndroidJavaObject • Unity C#
• Java
@agatestudio @agatestudio @agatestudio @agatestudio
Result
@agatestudio @agatestudio @agatestudio @agatestudio
Limitation
• Java to Unity cannot receive return value
• Does not extend Android Activity
Alternative Method
• Extending UnityPlayerActivity
• Modifying Android Manifest from Unity
• Building JAR via Command Prompt
• Custom Build.xml
@agatestudio @agatestudio @agatestudio @agatestudio
Pros & Cons
• Pros
– Simple Plug-in Code & Build
– Edit and Compile Java and Android Code with full Eclipse Usage
– Non Strict Packages (com.something.something)
– Does not edit Android Manifest file from Unity
• Cons
– Does not extend Android Activity directly
– Does not edit Android Manifest file
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Toast
http://developer.android.com/guide/topics/ui/notifiers/toasts.html
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Toast
• Java Toast Code
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Local Notification
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Local Notification
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Local Notification
• Java Local Notification Code
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Intent Call
• Intent Call to Open File or Url
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – Intent Call
• Java Intent Call Code
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – WebView
• WebView
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – WebView
• Java WebView Code
@agatestudio @agatestudio @agatestudio @agatestudio
Java Android Usability – ETC
• Push Notification
• Database
• Java Library
• Anroid Usability using Additional Methods
– Services
– Widgets
Source Code https://dl.dropboxusercontent.com/u/18962743/source.zip
Thank You