SlideShare a Scribd company logo
1 of 16
Download to read offline
AndroidJavaProxyで

ネイティブプラグインの作成が
ちょっと楽になりますよ	
室星	
  亮太
いいたいこと	

AndroidJavaProxyで

ネイティブプラグインの作成が
ちょっと楽になりますよ
いいたいこと(もうちょっと詳しく)	

今まで面倒だった,	
引数イベントリスナーで	
返り値voidなメソッドの	
  
呼び出しが	
  
AndroidJavaProxyで	
ちょっと楽になりますよ
こんなところでネイティブプラグイン	
  (1)	
•  OSやハードウェアの機能の呼び出し	
  
ノーティフィケーションとか,Bluetoothとか,GPSとか	
  

•  JavaやObjec=ve-­‐Cのライブラリ・SDK	
  
	
   	
  Windows	
  Mobile	
  Servce,	
  
	
   	
  Google	
  Play	
  Game	
  Service	
  など
こんなところでネイティブプラグイン	
  (2)	
•  広告のSDKを使う時にも必要ですよ	
  
•  自分では作らなくても,実は使っている
Assetがネイティブプラグインを含んでい
ることも	
  
ネイティブプラグインは,	
  
基本的には作るの面倒	

便利なクラスもあるけれど...
特に面倒だったのが (Unity	
  4.2前)	
Javaの	
  
	
  	
   	
  返り値voidで引数がイベントリスナー	
  
	
  	
   	
   	
   	
   	
   	
  のメソッドをゲーム側(C#)	
  
	
  	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
  から呼び出すこと	
  
例えば,	
•  ボタンを押した時の処理	
  
•  位置情報を取得する処理	
  
•  サーバーにデータを送る時の処理	
  
イメージは,	
  

結果をすぐ返さなくて良いよ。	
  
結果が出たら引数に渡したこいつ	
  
(イベントリスナー)に結果渡してね。	
  
何すればいいかはこいつが知ってるよ。	
  
	
  	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
  	
  
系のメソッド	
  
なんで面倒?	
•  ゲーム側のコード(C#)で,イベントリスナーの
処理を定義できない	
  
•  既存のライブラリ・SDKの為に,Javaでラッパー
を作ってあげないといけない	
  
•  ラッパー (Java側)で処理の終了を伝えるのに,
Java側でUnityPlayer#UnitySendMessageを呼
ばないといけない。(GameObjectの名前問題)	
  
面倒...
C#側でイベントリスナーの処理の定義したい。	
  
C#側でイベントリスナーの処理の定義したい。	
  

Unity	
  4.2で	
  
	
  	
   	
   	
   	
  AndroidJavaProxy	
  
	
  	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
  が登場!	
  
C#側でイベントリスナーの処理の定義したい。	
  

Unity	
  4.2で	
  
	
  	
   	
   	
   	
  AndroidJavaProxy	
  
	
  	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
   	
  が登場!	
  
できるようになった!	
  
いいたいこと	

AndroidJavaProxyで

ネイティブプラグインの作成が
ちょっと楽になりますよ
ありがとうございました。

More Related Content

More from Ryota Murohoshi

どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?Ryota Murohoshi
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張Ryota Murohoshi
 
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlinRyota Murohoshi
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例Ryota Murohoshi
 
「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!Ryota Murohoshi
 
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!Ryota Murohoshi
 
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料などRxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料などRyota Murohoshi
 
共変戻り値型って知ってますか?
共変戻り値型って知ってますか?共変戻り値型って知ってますか?
共変戻り値型って知ってますか?Ryota Murohoshi
 
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数Ryota Murohoshi
 

More from Ryota Murohoshi (11)

どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?どうしてこのコードエラーになるんですか?
どうしてこのコードエラーになるんですか?
 
UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張UnityでC#を勉強しはじめた私の主張
UnityでC#を勉強しはじめた私の主張
 
普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin普段C#を使っている僕から見たKotlin
普段C#を使っている僕から見たKotlin
 
T4使ってみた
T4使ってみたT4使ってみた
T4使ってみた
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例
 
私とUnityとLINQと
私とUnityとLINQと私とUnityとLINQと
私とUnityとLINQと
 
「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!「LINQ」っていう名前だけでも 覚えて帰ってください!
「LINQ」っていう名前だけでも 覚えて帰ってください!
 
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
JXUGのLTだけれどもUnity+iOS+LINQの話をしようと思う!
 
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料などRxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
RxJava初心者の私が良いと思ったやり方、素敵だと思った資料など
 
共変戻り値型って知ってますか?
共変戻り値型って知ってますか?共変戻り値型って知ってますか?
共変戻り値型って知ってますか?
 
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
明日からちょっと KotlinでAndroidが書きたくなる(かもしれない?)SAM変換と拡張関数
 

AndroidJavaProxyでネイティブプラグインの作成がちょっと楽になりますよ