Submit Search
Upload
Unity sdk-plugin
•
0 likes
•
639 views
Elias Hasnat
Follow
Mobile Marketing SDK plugin
Read less
Read more
Mobile
Report
Share
Report
Share
1 of 35
Recommended
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
Tatsuhiko Yamamura
Unityネイティブプラグイン
Unityネイティブプラグイン
MakotoItoh
The evolution of c#
The evolution of c#
leverages_event
de:code報告
de:code報告
Kouji Matsui
Decode報告(提供版)
Decode報告(提供版)
Kazunori Hamamoto
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Jun Hosokawa
NfC ckaiki
NfC ckaiki
一佳 海木
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
Jun Hosokawa
Recommended
Unity ネイティブプラグインの作成について
Unity ネイティブプラグインの作成について
Tatsuhiko Yamamura
Unityネイティブプラグイン
Unityネイティブプラグイン
MakotoItoh
The evolution of c#
The evolution of c#
leverages_event
de:code報告
de:code報告
Kouji Matsui
Decode報告(提供版)
Decode報告(提供版)
Kazunori Hamamoto
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Jun Hosokawa
NfC ckaiki
NfC ckaiki
一佳 海木
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
Jun Hosokawa
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
Jun Hosokawa
Xcode 7で始めるCI
Xcode 7で始めるCI
yuki0211s
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
Takaaki Suzuki
【PlayFab】UnityAdsのリワード広告を統合する方法
【PlayFab】UnityAdsのリワード広告を統合する方法
TakuyaNakajo
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
Atsushi Nakamura
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」
Embarcadero Technologies
新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)
m ishizaki
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Atsushi Nakamura
13.11.12 Tech Hills #7 Playground - introduction
13.11.12 Tech Hills #7 Playground - introduction
Kei Nakazawa
この3D全盛時代にもう一度考えたい2Dゲームのこと
この3D全盛時代にもう一度考えたい2Dゲームのこと
Kei Nakazawa
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
Atsushi Nakamura
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発
dena_study
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
The forefront of html5 implementation
The forefront of html5 implementation
Satoshi Tanaka
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
KLab Inc. / Tech
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
DeNA
ngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
Toru Yamaguchi
Build 2018 - Cognitive Services updates summary
Build 2018 - Cognitive Services updates summary
Atsushi Yokohama (BEACHSIDE)
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
Tomomi Imura
More Related Content
What's hot
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
Jun Hosokawa
Xcode 7で始めるCI
Xcode 7で始めるCI
yuki0211s
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
Takaaki Suzuki
【PlayFab】UnityAdsのリワード広告を統合する方法
【PlayFab】UnityAdsのリワード広告を統合する方法
TakuyaNakajo
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
Atsushi Nakamura
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
DeNA
「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」
Embarcadero Technologies
新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)
m ishizaki
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Atsushi Nakamura
13.11.12 Tech Hills #7 Playground - introduction
13.11.12 Tech Hills #7 Playground - introduction
Kei Nakazawa
この3D全盛時代にもう一度考えたい2Dゲームのこと
この3D全盛時代にもう一度考えたい2Dゲームのこと
Kei Nakazawa
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
Atsushi Nakamura
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発
dena_study
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
Hiroyuki Ohnaka
The forefront of html5 implementation
The forefront of html5 implementation
Satoshi Tanaka
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
KLab Inc. / Tech
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
DeNA
ngCore engine for mobage platform
ngCore engine for mobage platform
Toru Yamaguchi
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
Toru Yamaguchi
What's hot
(20)
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
Xcode 7で始めるCI
Xcode 7で始めるCI
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
【PlayFab】UnityAdsのリワード広告を統合する方法
【PlayFab】UnityAdsのリワード広告を統合する方法
C#メタプログラミング概略 in 2021
C#メタプログラミング概略 in 2021
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
「Delphiで作るデータベースツール。その開発のポイントは・・」
「Delphiで作るデータベースツール。その開発のポイントは・・」
新しい EditorConfig (IntelliCode)
新しい EditorConfig (IntelliCode)
Test automation strategy for .net core 3 transition
Test automation strategy for .net core 3 transition
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
Settings SyncとCodespaceで体験する新世代へのパラダイムシフト
13.11.12 Tech Hills #7 Playground - introduction
13.11.12 Tech Hills #7 Playground - introduction
この3D全盛時代にもう一度考えたい2Dゲームのこと
この3D全盛時代にもう一度考えたい2Dゲームのこと
Desktop app dev strategy for .net core 3.0
Desktop app dev strategy for .net core 3.0
Unityで本格戦国シュミレーションRPG 開発
Unityで本格戦国シュミレーションRPG 開発
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
The forefront of html5 implementation
The forefront of html5 implementation
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
ngCore engine for mobage platform
ngCore engine for mobage platform
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
Similar to Unity sdk-plugin
Build 2018 - Cognitive Services updates summary
Build 2018 - Cognitive Services updates summary
Atsushi Yokohama (BEACHSIDE)
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
Tomomi Imura
.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
techtalkdwango
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
bitbank, Inc. Tokyo, Japan
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Shotaro Suzuki
Linebotを作ろう
Linebotを作ろう
Shinsuke Matsuda
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
日本マイクロソフト株式会社
【de:code 2020】 AI Builder による、ローコード AI アプリケーション
【de:code 2020】 AI Builder による、ローコード AI アプリケーション
日本マイクロソフト株式会社
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
Android0422
Android0422
takahiko_takahashi
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
Unity Technologies Japan K.K.
LIFFとLINE SDKの昨今
LIFFとLINE SDKの昨今
LINE Corporation
20180119_AIを支えるクラウド技術
20180119_AIを支えるクラウド技術
康平 秋山
Edison勉強会20170130
Edison勉強会20170130
Takehiko Tomiyama
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
アシアル株式会社
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
Kazumi IWANAGA
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Akira Inoue
C#
C#
Naohiro Yoshikawa
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
Hiroyoshi Miyazaki
Similar to Unity sdk-plugin
(20)
Build 2018 - Cognitive Services updates summary
Build 2018 - Cognitive Services updates summary
[POST.Dev Japan] VS Code で試みる開発体験の向上
[POST.Dev Japan] VS Code で試みる開発体験の向上
.NETの自作ツール公開手段
.NETの自作ツール公開手段
みゆっき☆Think#3 「androidに触ってみるよ!」
みゆっき☆Think#3 「androidに触ってみるよ!」
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
ビットバンクでのネイティブアプリケーション開発におけるCI_CD環境
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Linebotを作ろう
Linebotを作ろう
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 ハンズオンで学ぶ AI ~ Bot Framework Composer + QnA Maker / Custom Visi...
【de:code 2020】 AI Builder による、ローコード AI アプリケーション
【de:code 2020】 AI Builder による、ローコード AI アプリケーション
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Android0422
Android0422
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
LIFFとLINE SDKの昨今
LIFFとLINE SDKの昨今
20180119_AIを支えるクラウド技術
20180119_AIを支えるクラウド技術
Edison勉強会20170130
Edison勉強会20170130
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
【NLU祭り 場外編】コミュニケーションをより身近に、よりかしこく。LUIS と Azure AI サービスの使いどころ
Empower every App and every Developer in a Mobile-first, Cloud-first World.
Empower every App and every Developer in a Mobile-first, Cloud-first World.
C#
C#
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
More from Elias Hasnat
BLE.pdf
BLE.pdf
Elias Hasnat
FacialRecognition-May-8-2020.pdf
FacialRecognition-May-8-2020.pdf
Elias Hasnat
Smart City IoT Solution Improved
Smart City IoT Solution Improved
Elias Hasnat
Connected vehicle mobility as a service (maas)
Connected vehicle mobility as a service (maas)
Elias Hasnat
Lorawan for agriculture, haccp hazard analysis and critical control point
Lorawan for agriculture, haccp hazard analysis and critical control point
Elias Hasnat
IoT Security with Azure
IoT Security with Azure
Elias Hasnat
産業向け AWS IoT ソリューション
産業向け AWS IoT ソリューション
Elias Hasnat
Soap vs REST-API
Soap vs REST-API
Elias Hasnat
AIIoT組み込みシステム向けIEEE1888通信スタック
AIIoT組み込みシステム向けIEEE1888通信スタック
Elias Hasnat
IoT security reference architecture
IoT security reference architecture
Elias Hasnat
Intelligent video stream detection platform
Intelligent video stream detection platform
Elias Hasnat
Machine Learning Algorithms
Machine Learning Algorithms
Elias Hasnat
REST API
REST API
Elias Hasnat
Mqtt
Mqtt
Elias Hasnat
Reinforcement learning
Reinforcement learning
Elias Hasnat
Java8 features
Java8 features
Elias Hasnat
Dalvikよりart
Dalvikよりart
Elias Hasnat
K means
K means
Elias Hasnat
Cocos2dx
Cocos2dx
Elias Hasnat
China Mobile Market
China Mobile Market
Elias Hasnat
More from Elias Hasnat
(20)
BLE.pdf
BLE.pdf
FacialRecognition-May-8-2020.pdf
FacialRecognition-May-8-2020.pdf
Smart City IoT Solution Improved
Smart City IoT Solution Improved
Connected vehicle mobility as a service (maas)
Connected vehicle mobility as a service (maas)
Lorawan for agriculture, haccp hazard analysis and critical control point
Lorawan for agriculture, haccp hazard analysis and critical control point
IoT Security with Azure
IoT Security with Azure
産業向け AWS IoT ソリューション
産業向け AWS IoT ソリューション
Soap vs REST-API
Soap vs REST-API
AIIoT組み込みシステム向けIEEE1888通信スタック
AIIoT組み込みシステム向けIEEE1888通信スタック
IoT security reference architecture
IoT security reference architecture
Intelligent video stream detection platform
Intelligent video stream detection platform
Machine Learning Algorithms
Machine Learning Algorithms
REST API
REST API
Mqtt
Mqtt
Reinforcement learning
Reinforcement learning
Java8 features
Java8 features
Dalvikよりart
Dalvikよりart
K means
K means
Cocos2dx
Cocos2dx
China Mobile Market
China Mobile Market
Unity sdk-plugin
1.
Unity ネイティブ Plugin
作り方 イリアス ハスナット 2015年4月28日 Backendと広告SDK含めて呼び出す方法
2.
アセットは? C#やらテクスチャ等、ゲームを構成する資産の総称
3.
DLLは? C#を(ソース隠蔽の目的で)DLLに変換したもので、特に制限はない。C++のプラグインもDLLなので ややこしい
4.
プラグインは? • Unity プラグイン iOS
向け • Unity プラグイン Android 向け • iOS アプリ objectiveC, C++ 「.a ファイル」 • Android アプリ java, jni(c,c++) 「 .soファイル」
5.
6.
UnityとiOSやAndroidを連動させる機能 . .
7.
Pluginでできることは? • アプリに好きなアドサービスを導入したり • アプリ内課金を実装したり •
アプリにSocial(FB,Twitter等)サービスを導入 したり • アプリにバックエンドサービスを導入したり
8.
Admobプラグインバナー
9.
楽天DSP とSSP
10.
FREAKOUT 動画 広告サービス
11.
プラグインで出来ることは? • WebViewを動かしたり、 • 日本語フォントを利用したり、 •
Androidの特殊なデバイスにアクセスしたり . 動画再生エンジン . TVに再生機能
12.
Androidの動作イメージ
13.
iOSの動作イメージ
14.
ネイティブプラグインをアプリに組み込む iOS環境で動かすために必要なプラグインを組 み込む Step1: プラグイン諸々(DLLやら.hやら.mm)を 「Plugins/iOS」フォルダに入れる。 Step2: 必要なフレームワーク等はビルドした後 の途中成果物を編集
15.
ネイティブプラグインをアプリに組み込む
16.
ネイティブプラグインをアプリに組み込む android環境で動かすために必要な操作を行う Step1: プラグイン(.jar)のソースコード諸々を 「Plugins/Android」フォルダに入れる。 Step2: AndroidManifest.xmlをプラグインが動く ように書き換える
17.
ネイティブプラグインをアプリに組み込む 1. Manifestファイルが無い場合は、適当な箇所からコピーし てきて、Plugins/Androidに保存しています。 2. このファイルは競合し上書きされる可能性が滅法高いの で、ビルドの前必ずバックアップ取れる用なします。
18.
ネイティブプラグインをアプリに組み込む • AndroidManifest.xmlのひな形は PlaybackEngines/AndroidPlayerにある • もしくはAndroidビルド時にTemp/StagingArea 下に生成される
19.
プラグインにアクセスするC#のコードか ら、プラグインにアクセス
20.
必要に応じて、対応プラットフォーム用の途中成 果物のソースコードを書き換える時もある
21.
Unity→プラグインの連携
22.
Unity→プラグインの連携 プラグインを呼び出す方法は概ね2通り基本的 には後者でやるべき Step1: Activity/UIViewControllerを改造し、勝手 に開始してもらう Step2: UnityのC#からプラグインを呼び出す
23.
Activityを改造して実行する方法 Step1: UnityPlayerActivityを継承したクラスをeclipseあた りで作成する(ビルドにはclasses.jarをビルドパスに含め る、Unityフォルダ下の PlaybackEngines/AndroidPlayer/binにあるまたAndroidの 機能を使うなら、それもインポートする) Step2: Step1で作成したクラスをjarにエクスポートして、 Plugins/Androidフォルダに配置 Step3:
AndroidManifest.xmlのUnityPlayerProxyActivityと 書かれている箇所を、作成したクラス名に書き換える
24.
resやassetも使える方法 resやassetsはPlugins/Androidフォルダに入れて おくと、自動でインポート namespaceの問題で、resを使っているプラグイン は動かない時がある。 resでnamespaceを固定するか、プラグインのRが 使っているnamespaceをアプリのbunleIDと合わ せると動作する
25.
26.
AndroidJavaClassでJavaのコードを呼び出す Androidのプラグイン連携がC#はPluginsフォルダ に入れておくJavaのコードはjarに変換して Plugins/Androidへ C#のコード Javaのコード
27.
iOSの場合、C#のコードはPlugins下にでも置いておく。Javaと違い、コードのままビルド 可能 Pluginsフォルダ下に置いたC#は、Plugins/iOS下に置いたObjective-CやCの関数を呼 べる Objective-Cのコード C#のコード
28.
プラグイン→Unityの連携
29.
Pluginを呼び出す
30.
プラグイン とプラットフォーム連携 プラグインを呼び出すコードは、PlatformDependentCompilation で管理Platform Dependent
Compilationでプラットフォーム毎に 機能わけると楽(こうしないと、iphoneビルド時に AndroidJavaClassがエラーになる) エディター上で動作している時に仮データを入れておくと、ゲー ムが作りやすい
31.
プラットフォーム連携
32.
バックエンドやAd等の描画やUIに関わる処理は UIThreadから呼び出す UnityのActivityはUnityPlayer.currentActivityで 取得可能
33.
34.
プラグインをインポトする プラグイン配布の際、package形式を使うとフォルダ構成等を簡 単にインポート(あとファイルサイズが減る事がある出力は必要な ファイルのみ選択してAssets>Export Package) ただしファイルがすでにある場合は上書きするので、AndroidManifest.xml等は含め ない方が良いかも
35.
ありがとうございました。