Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
KT
Uploaded by
KLab Inc. / Tech
PDF, PPTX
3,127 views
Unityネイティブプラグインの勧め
Unityネイティブプラグインの勧め] KLab 福岡Meetup#2
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 48
2
/ 48
3
/ 48
4
/ 48
5
/ 48
6
/ 48
7
/ 48
8
/ 48
9
/ 48
10
/ 48
11
/ 48
12
/ 48
13
/ 48
14
/ 48
15
/ 48
16
/ 48
17
/ 48
18
/ 48
19
/ 48
20
/ 48
21
/ 48
22
/ 48
23
/ 48
24
/ 48
25
/ 48
26
/ 48
27
/ 48
28
/ 48
29
/ 48
30
/ 48
31
/ 48
32
/ 48
33
/ 48
34
/ 48
35
/ 48
36
/ 48
37
/ 48
38
/ 48
39
/ 48
40
/ 48
41
/ 48
42
/ 48
43
/ 48
44
/ 48
45
/ 48
46
/ 48
47
/ 48
48
/ 48
More Related Content
PDF
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
by
narumi_
PDF
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
ソフトウェア設計における 意思決定とそのレビューの秘訣
by
Yoshitaka Kawashima
PDF
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
その素敵なUI基盤を目指して・・・
by
KLab Inc. / Tech
PPTX
Unityネイティブプラグインマニアクス #denatechcon
by
DeNA
PPTX
F.E.A.Rにおけるゴール指向プランニング
by
Youichiro Miyake
個人開発でゲーム一本完成させるまでの苦難の道のり 〜企画編〜
by
narumi_
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
ソフトウェア設計における 意思決定とそのレビューの秘訣
by
Yoshitaka Kawashima
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
その素敵なUI基盤を目指して・・・
by
KLab Inc. / Tech
Unityネイティブプラグインマニアクス #denatechcon
by
DeNA
F.E.A.Rにおけるゴール指向プランニング
by
Youichiro Miyake
What's hot
PDF
通信対戦ゲームを作った話
by
mipsparc
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
PDF
Unity Cloud Buildの使い方
by
Makoto Ito
PDF
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
by
Unity Technologies Japan K.K.
PPTX
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
猫でも分かるUE4を使ったARコンテンツ作り方 初級編 ver 1.0.0
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
トリコの動かし方
by
株式会社ジェンデザイン
PDF
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
by
Preferred Networks
PDF
オンラインゲームの仕組みと工夫
by
Yuta Imai
PDF
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
by
KLab Inc. / Tech
PDF
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
by
Unity Technologies Japan K.K.
PDF
攻略リニアカラー改訂版
by
小林 信行
PDF
システムダウンのひみつ
by
Yoshitaka Kawashima
PDF
Unityでオンラインゲーム作った話
by
torisoup
PDF
BuildKitの概要と最近の機能
by
Kohei Tokunaga
PDF
はじめてのPRD
by
Takuya Oikawa
PDF
ゲームAI入門(後半)
by
Youichiro Miyake
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
PDF
UniTask入門
by
torisoup
通信対戦ゲームを作った話
by
mipsparc
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
by
日本マイクロソフト株式会社
Unity Cloud Buildの使い方
by
Makoto Ito
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
by
Unity Technologies Japan K.K.
UE4 MultiPlayer Online Deep Dive: 実践編1 (Byking様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4を使ったARコンテンツ作り方 初級編 ver 1.0.0
by
エピック・ゲームズ・ジャパン Epic Games Japan
トリコの動かし方
by
株式会社ジェンデザイン
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
by
Preferred Networks
オンラインゲームの仕組みと工夫
by
Yuta Imai
Unityネイティブプラグインの勧め 〜UnityでiOS, AndroidのAPIを利用する方法〜
by
KLab Inc. / Tech
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
by
Unity Technologies Japan K.K.
攻略リニアカラー改訂版
by
小林 信行
システムダウンのひみつ
by
Yoshitaka Kawashima
Unityでオンラインゲーム作った話
by
torisoup
BuildKitの概要と最近の機能
by
Kohei Tokunaga
はじめてのPRD
by
Takuya Oikawa
ゲームAI入門(後半)
by
Youichiro Miyake
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
UniTask入門
by
torisoup
Similar to Unityネイティブプラグインの勧め
ODP
Unity ネイティブプラグインの作成について
by
Tatsuhiko Yamamura
PPTX
Unity * スマートフォン開発で学んだこと
by
Katsutoshi Makino
PDF
Unityでスマートフォン向けゲームを開発する
by
tomomihirano1
PDF
ソーシャルゲーム開発パッケージ化とネイティブアプリの取り組みと開発ノウハウ
by
Genki Yamada
PDF
Unityネイティブプラグイン
by
MakotoItoh
PPTX
アプリ開発・運用で楽をするために知っておくべき Unity Services
by
Yasuyuki Kamata
PDF
Unityとスマートフォンアプリの最適化
by
COLOPL, Inc.
PDF
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
by
maginemu Mishimagi
PDF
20121123 アド部定例会 unityアプリに広告を入れる方法
by
Yasuyuki Kamata
PDF
CEDEC 2013 Unity on Windows 8
by
Akira Onishi
PDF
0621 ndk game
by
cat kaotaro
PPTX
Unity ゲーム開発
by
Katsutoshi Makino
PDF
Unity sdk-plugin
by
Elias Hasnat
PDF
Unity×HTMLで作るiPhone オンラインゲーム開発事例
by
Kouji Hosoda
PDF
Unityを使って1週間でつくる iOS_Androidで動くメタバースのプロトタイプ.pdf
by
Masaki Watanabe
PPTX
Unity って何?
by
Katsutoshi Makino
PDF
ゆるロボ製作所ができるまで
by
Mikito Yoshiya
PDF
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
by
KLab Inc. Creative
PDF
Unity2015_No3~Shooting~
by
CHY72
PDF
Let’s study unity
by
Takuya Arakawa
Unity ネイティブプラグインの作成について
by
Tatsuhiko Yamamura
Unity * スマートフォン開発で学んだこと
by
Katsutoshi Makino
Unityでスマートフォン向けゲームを開発する
by
tomomihirano1
ソーシャルゲーム開発パッケージ化とネイティブアプリの取り組みと開発ノウハウ
by
Genki Yamada
Unityネイティブプラグイン
by
MakotoItoh
アプリ開発・運用で楽をするために知っておくべき Unity Services
by
Yasuyuki Kamata
Unityとスマートフォンアプリの最適化
by
COLOPL, Inc.
波に乗ってUnity3Dを使ってみているんだが (Ameba x Pixiv 合同勉強会LT)
by
maginemu Mishimagi
20121123 アド部定例会 unityアプリに広告を入れる方法
by
Yasuyuki Kamata
CEDEC 2013 Unity on Windows 8
by
Akira Onishi
0621 ndk game
by
cat kaotaro
Unity ゲーム開発
by
Katsutoshi Makino
Unity sdk-plugin
by
Elias Hasnat
Unity×HTMLで作るiPhone オンラインゲーム開発事例
by
Kouji Hosoda
Unityを使って1週間でつくる iOS_Androidで動くメタバースのプロトタイプ.pdf
by
Masaki Watanabe
Unity って何?
by
Katsutoshi Makino
ゆるロボ製作所ができるまで
by
Mikito Yoshiya
CEDEC2020 プロシージャルゲームコンテンツ制作ブートキャンプ 2020 Part 1 モバイルゲーム はじめに
by
KLab Inc. Creative
Unity2015_No3~Shooting~
by
CHY72
Let’s study unity
by
Takuya Arakawa
More from KLab Inc. / Tech
PDF
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
by
KLab Inc. / Tech
PDF
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
by
KLab Inc. / Tech
PDF
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
by
KLab Inc. / Tech
PDF
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
by
KLab Inc. / Tech
PDF
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
by
KLab Inc. / Tech
PDF
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
by
KLab Inc. / Tech
PDF
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
by
KLab Inc. / Tech
PDF
生成AIが切り拓く新しいゲームの創り方・遊び方
by
KLab Inc. / Tech
PDF
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
by
KLab Inc. / Tech
PDF
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
by
KLab Inc. / Tech
PDF
他業界からゲーム業界へ転向したときの話
by
KLab Inc. / Tech
PDF
KLabのゲーム開発を支える開発環境
by
KLab Inc. / Tech
PDF
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
by
KLab Inc. / Tech
PDF
「リアルISUCON」としてのモバイルオンラインゲーム開発
by
KLab Inc. / Tech
PDF
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
by
KLab Inc. / Tech
PDF
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
by
KLab Inc. / Tech
PDF
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
by
KLab Inc. / Tech
PPTX
KLabのチャットシステム インフラ変遷
by
KLab Inc. / Tech
PPTX
Ganglia のUIにGrafanaを追加する話
by
KLab Inc. / Tech
PPTX
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
by
KLab Inc. / Tech
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
by
KLab Inc. / Tech
モバイルオンラインゲームのアプリ外課金の導入と運用方法について
by
KLab Inc. / Tech
デバイスファーム 「AirLab」 による 自動QAテストの実績と機械学習が拓く次世代QAの可能性
by
KLab Inc. / Tech
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
by
KLab Inc. / Tech
大規模モバイルオンラインゲーム開発における チーム組成とワークフロー最適化
by
KLab Inc. / Tech
運用中の大規模オンラインゲームで 8年ぶりにPHPバージョンアップをした話
by
KLab Inc. / Tech
AirLab導入でテストコストの大幅削減と品質向上! 数十台の端末を一斉に全自動テストできる社内DeviceFarmについてご紹介
by
KLab Inc. / Tech
生成AIが切り拓く新しいゲームの創り方・遊び方
by
KLab Inc. / Tech
表も裏もすべて見せます! KLab謹製大規模オンラインゲームの リアルタイムチャットマイクロサービス
by
KLab Inc. / Tech
モバイルオンラインゲームでの大規模観戦とチート対策 〜自社製リアルタイム通信システム「WSNet2」の事例〜
by
KLab Inc. / Tech
他業界からゲーム業界へ転向したときの話
by
KLab Inc. / Tech
KLabのゲーム開発を支える開発環境
by
KLab Inc. / Tech
ゲーム開発を知らない人にも分かるKLabのゲーム開発運営
by
KLab Inc. / Tech
「リアルISUCON」としてのモバイルオンラインゲーム開発
by
KLab Inc. / Tech
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
by
KLab Inc. / Tech
モバイルアプリの高速で安定したビルドを支えるJenkins運用術
by
KLab Inc. / Tech
『ラブライブ!スクールアイドルフェスティバル ALL STARS』を支えるビルドパイプライン 〜より安定したサービス提供を目指して〜
by
KLab Inc. / Tech
KLabのチャットシステム インフラ変遷
by
KLab Inc. / Tech
Ganglia のUIにGrafanaを追加する話
by
KLab Inc. / Tech
KLabのインフラエンジニア 〜 こんな感じで働いてます 〜
by
KLab Inc. / Tech
Unityネイティブプラグインの勧め
1.
Unityネイティブプラグイン の勧め
2.
自己紹介 ● 名前:牧野龍太郎 ● 勤務先:KLab福岡事業所勤務 ●
職種:クライアントエンジニア ● 2015年KLab入社(在籍期間自体は10年以上) ● 主な経歴 ○ 携帯サイトのサーバサイド(Java)開発、および運用 ○ ゲームアプリのクライアント(iOS,Android)、サーバサイド開 発、および運用 ○ 現在Unityネイティブプラグインの開発に従事
3.
もくじ ● モバイルゲームに必要な機能について ● 共通ライブラリとは ●
ネイティブプラグインとは ● ネイティブプラグインの実装事例
4.
● モバイルゲームに必要な機能について ● 共通ライブラリとは ●
ネイティブプラグインとは ● ネイティブプラグインの実装事例
5.
KLabでは様々なモバイルゲームを作っています アクション ゲーム リズムゲーム シミュレーション ゲーム etc... RPG
6.
モバイルゲームに必要な機能とは?
7.
ゲームとしてまず必要になるのがゲームのコア部分の機能 パズルゲーム ・パズル要素 ・ステージ ・クリア要素 ・etc... リズムゲーム ・音楽に合わせたタップパ ターンを表示 ・タップ判定 ・クリア要素 ・etc... RPG ・レベルやスキルなどの 成長要素 ・キャラクターや武器、魔 法などのエフェクト ・ストーリー ・etc... などゲームによって様々ですが
8.
モバイルゲームを作るには コア部分以外にも必要となる機能がある
9.
たとえば・・・ ● プラットフォーム上(App Store,
Google Play)の課金処理 ● Push通知 ● データ引き継ぎ機能 ● アプリ内チャット機能 ● 知人へのシェア機能 ● etc...
10.
でも それぞれのゲームでコア部分以外の機能を アプリごとに作るのは面倒だし効率が悪い
11.
ゲームのコア部分以外の共通機能を抽出して 再利用できるようにしよう ↓↓ 共通ライブラリを作ろう!
12.
● モバイルゲームに必要な機能について ● 共通ライブラリとは ●
ネイティブプラグインとは ● ネイティブプラグインの実装事例
13.
共通ライブラリとは ゲームのコア機能以外の 共通機能を抽出してライブラリ化 ゲームA ゲームコア機能 コア機能以外 ゲームB ゲームコア機能 コア機能以外 共通部分を ライブラリ化! ゲームC ゲームコア機能 共通ライブラリ ゲームD ゲームコア機能 共通ライブラリを 別のアプリに組み込み 共通ライブラリ
14.
KLabではアプリ開発者がゲーム開発に集中できるように 共通部分のライブラリ化を推進しています
15.
KLabでライブラリ化している機能
16.
KLabでライブラリ化している機能 ライブラリ名 サーバサイドシステムの有無 クライアントライブラリの有無 クライアント開発基本ライブラリ
◯ チャットシステム ◯ ◯ ストア課金ライブラリ ◯ ◯ 統合アカウントシステム ◯ ◯ UIコンポーネント ◯ KPIレポートシステム ◯ 運用管理システム ◯
17.
KLab福岡で手がけているライブラリ ライブラリ名 サーバサイドシステムの有無 クライアントライブラリの有無 クライアント開発基本ライブラリ
◯ チャットシステム ◯ ◯ ストア課金ライブラリ ◯ ◯ 統合アカウントシステム ◯ ◯ UIコンポーネント ◯ KPIレポートシステム ◯ 運用管理システム ◯
18.
私が担当しているライブラリ ライブラリ名 サーバサイドシステムの有無 クライアントライブラリの有無 クライアント開発基本ライブラリ
◯ チャットシステム ◯ ◯ ストア課金ライブラリ ◯ ◯ 統合アカウントシステム ◯ ◯ UIコンポーネント ◯ KPIレポートシステム ◯ 運用管理システム ◯
19.
クライアント開発基本ライブラリでやってること KLabではゲーム開発に主にUnityを使っていますが、そのUnityから利用できるiOS, Androidのネイティブプラグインを提供することが目的
20.
● スマホゲームに必要な機能について ● 共通ライブラリとは ●
ネイティブプラグインとは ● ネイティブプラグインの実装事例
21.
ネイティブプラグイン ネイティブプラグインとは ネイティブ(主にiOS, Android)の各開発言語(C, C++,
Objective-C, Java)で書かれたライ ブラリで、Unityの開発言語であるC#から直接呼び出して利用できます アプリ側のコード(C#) Android (C, C++, Java) iOS (C, C++, Objective-C)
22.
ネイティブプラグインを作るメリット ● ネイティブでしか提供されていない機能を使える ● iOS,
Androidの最新機能のサポート
23.
iOSやAndroidのネイティブ層からしか取得できない情報や、利用できない機能をUnityか ら呼び出して使うことができる ● 例 ○ ディスク容量やバッテリー容量取得 ○
Androidのローカル通知機能 ○ Android NやiOS10から提供されたリッチなPush通知の利用 ネイティブでしか提供されていない機能を使える
24.
アプリ側 ネイティブプラグイン側 加えて、iOSとAndroidで共通的なインターフェースを提供することで、Unityからの 利用を容易にすることができる Unityからの 呼び出し(C#) 共通IF(C#) Androidでの 処理 iOSでの 処理
25.
iOS, Androidの最新OSで追加された機能も、ネイティブプラグインで実装することで、 Unityをバージョンアップせずに利用できる iOS, Androidの最新機能のサポート ●
例 iPhone Xのためのセーフエリア取得用API
26.
UnityからネイティブAPIの呼び出し方 P/Invoke C, C++などのネイティブコードをC#から呼び出せる AndroidJavaObject JNIを経由してAndroidのクラスを呼び出せる
27.
P/Invoke // C#側 // 1.
定義 [DllImport("__Internal")] private static extern int naitiveMethod() // 2. ネイティブ側を呼び出し public static int CallNaitiveMethod() { // ネイティブからの戻り値 int returnValue = naitiveMethod(); }
28.
AndroidJavaObject // C#側 // 1.
ネイティブ連携用のクラスを生成 AndroidJavaObject unityBridge = new AndroidJavaObject("com.hoge.fuga.UnityBridge"); // 2. ネイティブ側を呼び出し int retValue = unityBrige.CallStatic<int>("nativeMethod",1);
29.
● スマホゲームに必要な機能について ● 共通ライブラリとは ●
ネイティブプラグインとは ● ネイティブプラグインの実装事例
30.
置き換え後の処理 既存の処理 ネットワーク通信機能をC#の既存APIから、ネイティブ実装に置き換え ネットワーク通信機能をネイティブ実装した話 HttpWebRequest ゲームサーバ アプリ側からの呼 び出し(C#) アプリ側からの呼 び出し(C#) Android iOS 共通IF
31.
ネイティブ実装に置き換えた目的
32.
System.Net.HttpWebRequestを利用した通信機能において、特定の条件で通信エラー が発生 ● 通信エラー時に復帰後も通信リトライが無限に続く場合がある ● WiFiが接続されても3G/4Gで通信を継続してしまう場合がある エラーがアプリの実装によるものかAPIのバグなのかが判別が付かなかった 既存の機能の不具合を解消したい
33.
HttpWebRequestは、SSL通信においてサポートされていない機能(SNI)があり、インフラ 面でも置き換えるメリットがあった。 ※ SNI(Server Name
Indication) SSL/TLSの拡張仕様 サポートされていない機能を使いたい
34.
ネイティブプラグインの構成 ネイティブ側で使用したAPI、およびライブラリ ● iOS ○ NSURLSession ■
iOS7から使える通信クラス ● Android ○ Okhttp ■ サードパーティライブラリ ■ Androidでも内部的に使用されている
35.
● 既存の実装に比較して通信が安定した ○ その結果、通信異常関連のユーザーからの問い合わせやレビューが激減 ■
約40% → 10%未満となった ● 通信機能自体の処理が把握できるようになった ○ どんな処理をしているかが把握しやすくなった ○ 問題が発生しても開発者側で対応することが可能になった 置き換えたことによるメリット
36.
実際に問題を解決した話
37.
特定の環境での通信エラー ● Okhttpにはネットワーク接続が失敗した場合などに暗黙的にリトライを行う機能がある ● サーバへの二重更新防止するためにリトライをOFFにしたが、一部の環境(NTTのフレッツ光など)だと通 信エラーが発生した ○
具体的にはIPv6閉鎖網でのIPv4フォールバックが行われずエラーとなっていた 問題を解決した話その1
38.
IPV4ネットワーク IPv6閉鎖網 アプリ IPV6ネットワーク ①IPv6での接続に失敗 サーバ 問題発生時の処理 ②IPv4フォールバックでリト ライしないので、そのまま通 信エラーで終了 一部の環境のみで以下の通信エラーが発生
39.
IPV4ネットワーク IPv6閉鎖網 アプリ IPV6ネットワーク サーバ 問題対応後の処理 サーバへのリクエストを一回でも投げた後のみリトライ不可とし、それ以外はリトライを許可するようにした ③リクエストを1回でも投 げた後はリトライしない(二 重更新防止) ①IPv6での接続に失敗 ②IPv4フォールバックのリト ライで接続に成功
40.
問題を解決した話その2 オブジェクトの参照が増えすぎてクラッシュ ● AndroidJavaProxy経由でC#側の関数呼び出しを行った所、「global reference
table overflow」エ ラーが発生した ○ 具体的にはダウンロードの進捗表示のために、ダウンロードしたファイルサイズを返す処 理
41.
1リクエストにつき複数回呼ばれる処理で、Android側のGCが間に合わず、回収されないJavaオ ブジェクトの参照が増えていき、最終的にクラッシュ C#側Android側 サーバ ファイル ③進捗表示①ダウンロード 処理 ②ファイル サイズを返す オブジェクト Java オブジェクト 生成された オブジェクトが 溜まっていく 参照が溢れて クラッシュ!
42.
Androidから呼び出す方法自体を見直し、C#側から定期的にサイズを取得する処理を呼び出す ことによって解決 C#側Android側 サーバ ファイル ③進捗表示 ①ダウンロード 処理 ②ファイル サイズを取得 生成されたオブジェクトは 即時解放される
43.
● ゲームの機能を共通化することで、ゲーム開発者はゲームのコア機能部分の実装 に集中できる ● ネイティブプラグインを使うことで、Unity上でネイティブの機能を十分に利用できる ●
ゲームエンジンのアップデートを待つことなく、開発者側で問題が解決できる まとめ
44.
今後もKLabでは共通化を推進していきます
45.
KLabは Unity・iOS・Androidなどの技術の垣根を越えて 開発ができる環境です
46.
ご興味ある方は http://www.klab.com/jp/recruit/
47.
最後に
48.
共同開発パートナー募集! KLabでは共同開発パートナーに 紹介したライブラリを提供しています ご興味ある方は「KG SDK」で検索してください!
Download