SlideShare a Scribd company logo
Unity
ネイティブプラグインの
作成について




        Terasurware
        山村 達彦
        http://terasur.blog.fc2.com/
        @tsubaki_t1
言葉あわせ




        1
アセット。C#やらテクスチャ等、ゲームを構成する資産の総称
DLL。C#を(ソース隠蔽の目的で)DLLに変換したもので、特に制限はない。
C++のプラグインもDLLなのでややこしい
プラグイン。正しくはネイティブプラグイン。今日のお題
ネイティブプラグインとは何ぞや




       2
UnityとiOSやらAndroid(あとPC)を連動させる機能
あとUnityからC/C++で作ったソースコードを使用する機能
例えば、アプリに好きなアドサービスを導入したり、
例えば、アプリ内課金を実装したり
例えば、上の2つを概ねコピペで実装したり
例えば、WebViewを動かしたり、
例えば、日本語フォントを利用したり、
例えば、Androidの特殊なデバイスにアクセスしたり.
Androidの動作イメージ
iOSの動作イメージ
ちなみに、Unity Web Playerでは動作しない。
ネイティブプラグインをアプリにインス
トール




       3
プラグイン諸々(DLLやら.hやら.mm)
  を「Plugins/iOS」フォルダに入れる。

  必要なフレームワーク等は
  ビルドした後の途中成果物を編集




iOS環境で動かすために必要なプラグインをインストール
プラグイン(.jar)のソースコード諸々
  を「Plugins/Android」フォルダに入れ
  る。

  AndroidManifest.xmlをプラグインが動く
  ように書き換える




iOS環境で動かすために必要な操作を行う
AndroidManifest.xmlのひな形は
  PlaybackEngines/AndroidPlayerにある

  もしくはAndroidビルド時に
  Temp/StagingArea下に生成される




マニフェストファイルが無い場合は、適当な箇所からコピーしてきて、Plugins/Androidにポイ。
このファイルは競合し上書きされる可能性が滅法高いので、バックアップは忘れずに。
後はPluginsにあるプラグインにアクセスするC#のコードから、プラグインにアクセス
必要に応じて、対応プラットフォーム用の途中成果物のソースコードを書き換える時もある
PostprocessBuildPlayerで、この作業を自動化できるらしい
プラグインを作るために必要なもの




       4
対応OSのライセンス。PC版の場合はProライセンス
(絶対必要ではないが、無いと動作確認できない)
対応するプラットフォームのアプリを構築できる知識
対応するプラットフォームのネイティブアプリを構築できる環境
対応するプラットフォームが実行できるデバイス
Orz

折れない心
Unity→プラグインの連携




         5
Activity/UIViewControllerを改造し、
   勝手に開始してもらう



   UnityのC#からプラグインを呼び出す



プラグインを呼び出す方法は概ね2通り
基本的には後者でやるべき
UnityPlayerActivityを継承したクラスを
    eclipseあたりで作成する
    (ビルドにはclasses.jarをビルドパスに含める、
     Unityフォルダ下のPlaybackEngines/AndroidPlayer/binにある
     またAndroidの機能を使うなら、それもインポートする)




    上で作成したクラスをjarにエクスポート
    して、Plugins/Androidフォルダに配置

    AndroidManifest.xmlの
    UnityPlayerProxyActivityと書かれている
    箇所を、作成したクラス名に書き換える
前者のActivityを改造して実行する方法。
Activityを改造して実行するプラグインは、他のActivityを改造して実行するプラグインと競合する
UnityPlayerNativeActivityのほうが早いが、古いAndroidでは動作しないらしい
resやassetsはPlugins/Androidフォルダ
    に入れておくと、自動でインポート




     namespaceの問題で、resを使っているプラグインは動かない時がある。

     resでnamespaceを固定するか(そんな方法はあるのか?)、プラグインのRが
     使っているnamespaceをアプリのbunleIDと合わせると動作する

resやassetも使えるが、R.classのnamespacecがbundleId依存なので注意
Unity4からまさかのEclipse出力機能が登場
UnityPlayerActivityを直接編集できるかも(ActivityとNativeActivityを継承したクラス等)
AndroidJavaClassで
    Javaのコードを呼び出す

C#のコード




Javaのコード




 Androidのプラグイン連携その2。他にもJNIとかJNIHelper等があるが、これが一番楽
 C#はPluginsフォルダに入れておく
 Javaのコードはjarに変換してPlugins/Androidへ
DllImport(“__Internal”)で、
   Objective-Cのコードを呼び出す
     C#のコード




     Objective-Cのコード




     Pluginsフォルダ下に置いたC#は、Plugins/iOS下に置いたObjective-CやCの関
     数を呼べる


iOSの場合。

C#のコードはPlugins下にでも置いておく。Javaと違い、コードのままビルド可能
直接DLLを呼ぶこともできる
プラグイン→Unityの連携




         6
UnityのSendMessageと同じ感じで使える

Pluginsを処理の起点にできるが、
届くのに1Fかかる

SendMessageは戻り値が使えない




●
    SendMessageを使う
Android向け




    iOS向け




●
    戻り値(return)を使う
SQLite
               PlayerPrefs等


●
    I/Oに書き込む
プラグインを作る上での注意




       7
Unityからプラグインの呼び出しは
 重い処理

 Androidの場合は関数をキャッシュする

 1フレームに何回も呼ぶ事は避けて、
 データをキャッシュしていくべきらしい



Unityからプラグインを呼び出す処理は基本的に重いので、乱発は避けるべき
Unityのゲームが終了しているのに、
 プラグインの処理が継続する的な事が
 たまにある。

 困る場合は戻り値ではなく
 結果をI/Oにでも入れて、
 Unity側から承認プロセスを用意


プラグインは色々なところで面倒くさい
iOSビルドはARCがOFFなので、
 自分で開放してやらないと大惨事


 さり気なくメモリリークを起こしてる
 プラグインが稀によくある

 String型のみMono側で開放するので
 開放は不要らしい(ドキュメント談)
メモリの開放も自己責任。プロファイラーでよくよく確認する。
プラグインのコードは
 端末の影響をモロに受けるかもしれない
 (HTMLを使用したりする場合等)




プラットフォームの細分化に注意(主にAndroid)
実機で動かさないと動作しない
 (iphoneシミュレータ等では動かない)




プラグインの動作検証は毎回ビルドして実機確認
その他




      8
プラグインの構造は可能な限りシンプル
 に




機能は最小限にして実装しとくと管理が楽
Platform Dependent Compilationで
 プラットフォーム毎に機能わけると楽
 (こうしないと、iphoneビルド時にAndroidJavaClassがエラーになる)




 エディター上で動作している時に仮デー
 タを入れておくと、ゲームが作りやすい
プラグインを呼び出すコードは、PlatformDependentCompilationで管理
iOSはconst char*stringで渡された時、
  Stringを使用する場合はUTF8に変換する


iosに投げた文字をそのまま使うと文字化けするかも
Ad等の描画やUIに関わる処理は
   UIThreadから呼び出す

   UnityのActivityは
   UnityPlayer.currentActivityで取得可能
Androidのルールがけっこう面倒くさいので注意
プラグイン配布の際、
    package形式を使うと
    フォルダ構成等を簡単にインポート
    (あとファイルサイズが減る事がある
     出力は必要なファイルのみ選択してAssets>Export Package)




       ただしファイルがすでにある場合は上書きするので、
       AndroidManifest.xml等は含めない方が良いかも


プラグインはpackage形式で保持しとくと、導入が超楽になる
デバッグログは
 iOSならXcodeのロガー、
 AndroidならLogcatでチェック

 パフォーマンスの確認は
 iOSならXcodeのアナライザ
 Androidは…まあ頑張ろう



デバッグは各プラットフォームのデバッガで行う

More Related Content

What's hot

Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
 
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
UnityTechnologiesJapan002
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
モノビット エンジン
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
増田 亨
 
UniTask入門
UniTask入門UniTask入門
UniTask入門
torisoup
 
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
 
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめ
Sugimoto Chizuru
 
UniRx完全に理解した
UniRx完全に理解したUniRx完全に理解した
UniRx完全に理解した
torisoup
 
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]
DeNA
 
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
UnityTechnologiesJapan002
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
torisoup
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~
『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~
『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~
KLab Inc. / Tech
 

What's hot (20)

Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
 
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
Unityネットワーク通信の基盤である「RPC」について、意外と知られていないボトルネックと、その対策法
 
Unityと.NET
Unityと.NETUnityと.NET
Unityと.NET
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 
UniTask入門
UniTask入門UniTask入門
UniTask入門
 
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
 
ゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめゲームの仕様書を書こうまとめ
ゲームの仕様書を書こうまとめ
 
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]
 
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
【Unite Tokyo 2018】なんとっ!ユナイト!ミリシタをささえる『AKANE大作戦』とは?
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~
『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~
『ラブライブ!スクールアイドルフェスティバル ALL STARS』における開発事例 ~システムUIの管理についてご紹介~
 

Similar to Unity ネイティブプラグインの作成について

Unity sdk-plugin
Unity sdk-pluginUnity sdk-plugin
Unity sdk-plugin
Elias Hasnat
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
leverages_event
 
Unityネイティブプラグイン
UnityネイティブプラグインUnityネイティブプラグイン
Unityネイティブプラグイン
MakotoItoh
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
 
C#
C#C#
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
Naruto TAKAHASHI
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
Tatsuhiko Tanaka
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
invogue
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
Shinobu Izumi
 
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Tomokazu Kizawa
 
The forefront of html5 implementation
The forefront of html5 implementationThe forefront of html5 implementation
The forefront of html5 implementation
Satoshi Tanaka
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
hmimura_embarcadero
 
20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料
WheetTweet
 

Similar to Unity ネイティブプラグインの作成について (20)

Unity sdk-plugin
Unity sdk-pluginUnity sdk-plugin
Unity sdk-plugin
 
The evolution of c#
The evolution of c#The evolution of c#
The evolution of c#
 
Unityネイティブプラグイン
UnityネイティブプラグインUnityネイティブプラグイン
Unityネイティブプラグイン
 
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
 
Android0422
Android0422Android0422
Android0422
 
C#
C#C#
C#
 
C#の書き方
C#の書き方C#の書き方
C#の書き方
 
C#の書き方
C#の書き方C#の書き方
C#の書き方
 
NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法NPAPIを使ったandroid標準ブラウザの拡張方法
NPAPIを使ったandroid標準ブラウザの拡張方法
 
.NETの自作ツール公開手段
.NETの自作ツール公開手段.NETの自作ツール公開手段
.NETの自作ツール公開手段
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
[2001/05/30] .NET Developers Conference 2001 May / C#の生産性とパフォーマンス
 
ZendStudioのご紹介
ZendStudioのご紹介ZendStudioのご紹介
ZendStudioのご紹介
 
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリにWeb制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
 
Unityの夕べ in Fukuoka
Unityの夕べ in FukuokaUnityの夕べ in Fukuoka
Unityの夕べ in Fukuoka
 
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
Windows Live SkyDrive Update .NETラボ勉強会 2012-06-23 - 公開
 
The forefront of html5 implementation
The forefront of html5 implementationThe forefront of html5 implementation
The forefront of html5 implementation
 
AndroidでDIxAOP
AndroidでDIxAOPAndroidでDIxAOP
AndroidでDIxAOP
 
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
デブサミ2013 【15-B-2】iOS/Android向け開発をビジュアルに!
 
20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料20161125 Unity-Android連携の発表資料
20161125 Unity-Android連携の発表資料
 

Unity ネイティブプラグインの作成について

Editor's Notes

  1. Android の例 ・アプリ内課金 ・アドネットワーク ・他社サービス(ネットワークのランキング機能) ・アプリ内蔵ブラウザ ・その他 Android に出来ること ・サンプルコードの一部はコピペで使用可能
  2. iOS の例 ・他社のアドサービス ・アプリ内課金 ・ネットワークソリューション ・データベースを使う ・システムフォントの使用 ・アプリ内蔵ブラウザ ・サンプルコードは概ねコピペで使用可能