SlideShare una empresa de Scribd logo
1 de 23
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
Mobage / AndAppのSDK
開発事例と SDKを作る
際に知っておくべきこ
と
February 10, 2017
Manabu Sato
DeNA Co., Ltd.
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
スピーカー紹介
 佐藤 学
 略歴
 2006年 某ポータルサイトの会社に入社
 アドレス帳、動画共有、検索 などのバックエンドエンジニア
 2010年 DeNA入社
 ゲームプラットフォーム開発をクライアント側を中心に担当
 MiniNation, Mobage (ngCore/NativeSDK), AndApp, etc
 現在
⁃ オープンプラットフォーム事業本部
システム開発部クライアントグループ GL
2
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
アジェンダ
 Mobage / AndApp SDK開発事例紹介
 SDK作る際に知っておくべきこと
 問題がおきやすいポイント紹介
3
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
Mobage SDK
 Mobage Open Platform
 2009年に開始したサードパーティ向けゲームプラットフォーム
 スマートフォンのネイティブアプリ向けにも機能提供
 プロダクトの種類
 Mobage SDK
 Native
 Unity
 ShellAppFramework (WebView-based App)
 NBPF Shell App SDK
 対応OS : iOS/Android
4
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
Mobage SDKのアーキテクチャ
5
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
ShellApp SDK のアーキテクチャ
6
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
AndApp
 スマートフォンのゲームをPCで遊ぶためのプラットフォーム
 現在はWindowsのみ対応。Macも対応予定あり
 提供中のSDK
 AndApp SDK for Unity
 AndApp SDK for C++
7
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
AndAppのアーキテクチャ
8
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
SDKを作る際に知っておくべきこと
9
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
SDKの特性
 SDKの設計がよくないと利用者に迷惑がかかる
 かんたんに使える ことが重要視される
 OS側の変化に対して一般アプリケーションよりも早く対応が必要
 バグを含んだものをリリースするとビジネス上の影響が大きい
• 多数のアプリに影響
• パートナー各社への差し替え依頼
10
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
そこで求められること
 利用者の邪魔をしない配慮
 わかりやすさ、拡張性、堅牢性への配慮
 環境変化への積極的な対応
 適切なテストアプリ要件と検証範囲のコントロール
11
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
利用者の邪魔をしない配慮 (1)
 APIはなかなか変えられないのでリリース前の設計を慎重に
 (特に社外に配布する場合) 一度導入が進んでしまうと多数のアプリ
に変更を入れてもらう選択肢はなかなか取れない
 APIを大幅に刷新したものを作る場合
 既存ユーザーから歓迎されるケースは少ない
 新規に導入する人が減ってしまうと、どうせ使われないので工数かけて進め
る判断にならない
 どうしても変えたい時、基本は別のAPIとして追加、既存APIを非推奨化
 古いAPIもすぐには無くせないので両方メンテする必要がでる
12
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
利用者の邪魔をしない配慮 (2)
 3rd partyのライブラリ依存を最小限に
⁃ 利用するアプリにライセンスが波及してしまう
⁃ 使っていないコードによるメモリやアプリサイズの肥大につながる
13
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
利用者の邪魔をしない配慮 (3)
 シンボル重複回避
⁃ クラスの名前空間、Prefixに重複しにくいものをつける
⁃ OSSライブラリを利用する場合、名前空間を変える
 共有リソースアクセス時の名前空間
⁃ Cookie、ローカルのファイル書き込み、Keychain,etc
⁃ 一貫したprefixをつける
14
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
わかりやすさ、拡張性、堅牢性への配慮
 わかりやすい がとにかく優先されるケースも
 用途や利用者によるが、メモリ管理やオブジェクト指向的にきれい
な設計とかよりも、staticなメソッド一発呼ぶだけというほうが好
まれることも
 拡張性
 API引数を変更せずに、プロパティ追加で対応できるようにまとめ
て渡す など
 ここでの堅牢性とは
 使い方によって問題が発生してしまいにくい作り
15
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
環境変化への積極的な対応
 SDK利用者の対応猶予期間を考慮した上で、スケジュールの検討が必要
 OS新バージョンの機能が発表されたら、まず既存アプリの挙動に影響す
る変更点を精査
16
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
適切なテストアプリ要件と検証範囲のコントロール
 データ操作的なAPIならさほど自動化は難しくない
 UIを表示するものや外部連携など、自動化が難しい部分も
 テスト用のアプリの作りによって実施可能な検証の範囲が制限される
 例: ビルド種別
 Unity4, Unity5, VS2013, 2015
 毎回すべてのパターンを実施すると工数が膨大になってしまう
 適切な範囲の絞り込みが必要
17
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
問題がおきやすいポイント紹介
18
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
公開を阻む問題
 SDKをリリースしたが、それを組み込んでiTunes Connect / Google
Playに公開しようとするとアップロードできない or リジェクト
19
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
設定しないと動かない機能
 アプリ側を適切に設定しないと動かない機能
⁃ Keychain Access
⁃ Notification
⁃ IAP / IAB
⁃ etc
 適切なエラーを返す必要性
 テストが面倒な状態のままだと問題がうまれやすい
20
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
まとめ
 利用者の邪魔をしない配慮
 わかりやすさ、拡張性、安全性への配慮
 環境変化への積極的な対応
 検証の難しさ
21
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
このような課題に
一緒に取り組んでくれる人、募集中です
22
Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved.
ご静聴ありがとうございました
23

Más contenido relacionado

La actualidad más candente

ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例leverages_event
 
金融APIセキュリティの動向・事例と今後の方向性
金融APIセキュリティの動向・事例と今後の方向性金融APIセキュリティの動向・事例と今後の方向性
金融APIセキュリティの動向・事例と今後の方向性Tatsuo Kudo
 
FIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみたFIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみたFIDO Alliance
 
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話natsumi_ishizaka
 
Mendix Single Sign-On OAuth 2.0 Example
Mendix Single Sign-On OAuth 2.0 ExampleMendix Single Sign-On OAuth 2.0 Example
Mendix Single Sign-On OAuth 2.0 ExampleMenno de Haas
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]DeNA
 
VMC-02-VMware Cloud on AWS のご紹介_2021.pptx
VMC-02-VMware Cloud on AWS のご紹介_2021.pptxVMC-02-VMware Cloud on AWS のご紹介_2021.pptx
VMC-02-VMware Cloud on AWS のご紹介_2021.pptxaaaa273385
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로Sungwoo Park
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理Naohiro Fujie
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~de:code 2017
 
【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料Find Job Startup
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要Naohiro Fujie
 
Ruby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構についてRuby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構についてTomoya Kawanishi
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
安全なID連携のハウツー
安全なID連携のハウツー安全なID連携のハウツー
安全なID連携のハウツーMasaru Kurahayashi
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
 

La actualidad más candente (20)

ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
 
金融APIセキュリティの動向・事例と今後の方向性
金融APIセキュリティの動向・事例と今後の方向性金融APIセキュリティの動向・事例と今後の方向性
金融APIセキュリティの動向・事例と今後の方向性
 
FIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみたFIDO2導入してみたを考えてみた
FIDO2導入してみたを考えてみた
 
マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話マスターデータの キャッシュシステムの改善の話
マスターデータの キャッシュシステムの改善の話
 
URLで遊ぼう
URLで遊ぼうURLで遊ぼう
URLで遊ぼう
 
Mendix Single Sign-On OAuth 2.0 Example
Mendix Single Sign-On OAuth 2.0 ExampleMendix Single Sign-On OAuth 2.0 Example
Mendix Single Sign-On OAuth 2.0 Example
 
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
VMC-02-VMware Cloud on AWS のご紹介_2021.pptx
VMC-02-VMware Cloud on AWS のご紹介_2021.pptxVMC-02-VMware Cloud on AWS のご紹介_2021.pptx
VMC-02-VMware Cloud on AWS のご紹介_2021.pptx
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
 
【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料【企画書】ReceReco:新規事業討議用社内資料
【企画書】ReceReco:新規事業討議用社内資料
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
 
Ruby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構についてRuby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構について
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
安全なID連携のハウツー
安全なID連携のハウツー安全なID連携のハウツー
安全なID連携のハウツー
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 
信頼の構造と トラストフレームワーク ( 満塩尚史)
信頼の構造と トラストフレームワーク    ( 満塩尚史)信頼の構造と トラストフレームワーク    ( 満塩尚史)
信頼の構造と トラストフレームワーク ( 満塩尚史)
 

Destacado

DeNAのAIとは #denatechcon
DeNAのAIとは #denatechconDeNAのAIとは #denatechcon
DeNAのAIとは #denatechconDeNA
 
その後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechconその後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechconDeNA
 
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechconDeNA
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNA
 
DeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNA
 
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconアバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconDeNA
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechconDeNA
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechconDeNA
 
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechconAnyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechconDeNA
 
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDeNA
 
リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司
リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司
リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司紘司 村田
 
ログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechconログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechconDeNA
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconDeNA
 
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みToshiharu Sugiyama
 
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーションYuya Unno
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconDeNA
 
実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 Preferred Networks
 

Destacado (20)

DeNAのAIとは #denatechcon
DeNAのAIとは #denatechconDeNAのAIとは #denatechcon
DeNAのAIとは #denatechcon
 
その後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechconその後のDeNAのネイティブアプリ開発 #denatechcon
その後のDeNAのネイティブアプリ開発 #denatechcon
 
AndApp開発における全て #denatechcon
AndApp開発における全て #denatechconAndApp開発における全て #denatechcon
AndApp開発における全て #denatechcon
 
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechconDeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
DeNAのゲームを支えるプラットフォーム Sakasho #denatechcon
 
DeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechconDeNAのプログラミング教育の取り組み #denatechcon
DeNAのプログラミング教育の取り組み #denatechcon
 
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechconアバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
アバター着せ替えアプリ開発におけるフロントエンド技術(Vue.js活用事例) #denatechcon
 
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
DeNAの動画配信サービスを支えるインフラの内部  #denatechconDeNAの動画配信サービスを支えるインフラの内部  #denatechcon
DeNAの動画配信サービスを支えるインフラの内部 #denatechcon
 
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechconDeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
DeNA内製ゲームエンジンの現状と目指す未来 #denatechcon
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechconAnyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
 
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechconDebugHeadを使ったiOSアプリ開発手法 #denatechcon
DebugHeadを使ったiOSアプリ開発手法 #denatechcon
 
リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司
リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司
リーンスタートアップにおける、実装やライブ配信基盤の共通化 村田紘司
 
ログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechconログ分析で支えるゲームパラメータ設計 #denatechcon
ログ分析で支えるゲームパラメータ設計 #denatechcon
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
DeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechconDeNA private cloudのその後 #denatechcon
DeNA private cloudのその後 #denatechcon
 
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組みDeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
DeNA_Techcon2017_DeNAでのチート・脆弱性診断への取り組み
 
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
 
サービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechconサービスの成長を支えるフロントエンド開発 #denatechcon
サービスの成長を支えるフロントエンド開発 #denatechcon
 
実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017 実世界の人工知能@DeNA TechCon 2017
実世界の人工知能@DeNA TechCon 2017
 

Similar a Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon

自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話和也 大木
 
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービスマスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービスToshiyuki Hirata
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage PlatformMasaki Nakagawa
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestMasaki Nakagawa
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境Toshiyuki Hirata
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Toshiyuki Hirata
 
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築Toshiyuki Hirata
 
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発Ryohei Sogo
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすShunsuke Maeda
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発Satoshi Takano
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』Ryohei Sogo
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要Ryohei Sogo
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~Yuki Ando
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップKoichiro Sumi
 
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213小川 雄太郎
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile DevelopmentGo2GroupJapan
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Takeshi Hirosue
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCIToshiyuki Hirata
 

Similar a Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon (20)

自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
 
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービスマスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
 
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
 
DeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in TestDeNAが取り組む Software Engineer in Test
DeNAが取り組む Software Engineer in Test
 
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
 
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
 
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
 
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
 
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らすDangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
 
チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発チラシルiOSでの広告枠開発
チラシルiOSでの広告枠開発
 
AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』AppPotモバイルアプリ開発『内製化』
AppPotモバイルアプリ開発『内製化』
 
AppPot製品概要
AppPot製品概要AppPot製品概要
AppPot製品概要
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップおすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
 
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
電通国際情報サービス_AIテクノロジー部の研究開発と製品開発事例_191213
 
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Developmentアジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
アジャイルナイトセミナー_2012年10月18日_Social Game x Agile Development
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
 
Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ Googleアシスタントアプリ実際のところ
Googleアシスタントアプリ実際のところ
 
fastlane x iOSアプリのCI
fastlane x iOSアプリのCIfastlane x iOSアプリのCI
fastlane x iOSアプリのCI
 

Más de DeNA

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DeNA
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用DeNA
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...DeNA
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】DeNA
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】DeNA
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeNA
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】DeNA
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】DeNA
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】DeNA
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】DeNA
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]DeNA
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれDeNA
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]DeNA
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]DeNA
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]DeNA
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてDeNA
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]DeNA
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA
 

Más de DeNA (20)

DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜DRIVE CHARTの裏側  〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
 
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
 
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
 
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
 
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
 
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
 
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
 
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
 
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
 
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
 
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
 
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれオートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
 
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
 
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
 
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
 
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについてMOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
 
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
 
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
 

Último

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 

Último (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 

Mobage/AndAppのSDK開発事例とSDKを作る際に知っておくべきこと #denatechcon

  • 1. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. Mobage / AndAppのSDK 開発事例と SDKを作る 際に知っておくべきこ と February 10, 2017 Manabu Sato DeNA Co., Ltd.
  • 2. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. スピーカー紹介  佐藤 学  略歴  2006年 某ポータルサイトの会社に入社  アドレス帳、動画共有、検索 などのバックエンドエンジニア  2010年 DeNA入社  ゲームプラットフォーム開発をクライアント側を中心に担当  MiniNation, Mobage (ngCore/NativeSDK), AndApp, etc  現在 ⁃ オープンプラットフォーム事業本部 システム開発部クライアントグループ GL 2
  • 3. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. アジェンダ  Mobage / AndApp SDK開発事例紹介  SDK作る際に知っておくべきこと  問題がおきやすいポイント紹介 3
  • 4. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. Mobage SDK  Mobage Open Platform  2009年に開始したサードパーティ向けゲームプラットフォーム  スマートフォンのネイティブアプリ向けにも機能提供  プロダクトの種類  Mobage SDK  Native  Unity  ShellAppFramework (WebView-based App)  NBPF Shell App SDK  対応OS : iOS/Android 4
  • 5. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. Mobage SDKのアーキテクチャ 5
  • 6. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. ShellApp SDK のアーキテクチャ 6
  • 7. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. AndApp  スマートフォンのゲームをPCで遊ぶためのプラットフォーム  現在はWindowsのみ対応。Macも対応予定あり  提供中のSDK  AndApp SDK for Unity  AndApp SDK for C++ 7
  • 8. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. AndAppのアーキテクチャ 8
  • 9. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. SDKを作る際に知っておくべきこと 9
  • 10. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. SDKの特性  SDKの設計がよくないと利用者に迷惑がかかる  かんたんに使える ことが重要視される  OS側の変化に対して一般アプリケーションよりも早く対応が必要  バグを含んだものをリリースするとビジネス上の影響が大きい • 多数のアプリに影響 • パートナー各社への差し替え依頼 10
  • 11. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. そこで求められること  利用者の邪魔をしない配慮  わかりやすさ、拡張性、堅牢性への配慮  環境変化への積極的な対応  適切なテストアプリ要件と検証範囲のコントロール 11
  • 12. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 利用者の邪魔をしない配慮 (1)  APIはなかなか変えられないのでリリース前の設計を慎重に  (特に社外に配布する場合) 一度導入が進んでしまうと多数のアプリ に変更を入れてもらう選択肢はなかなか取れない  APIを大幅に刷新したものを作る場合  既存ユーザーから歓迎されるケースは少ない  新規に導入する人が減ってしまうと、どうせ使われないので工数かけて進め る判断にならない  どうしても変えたい時、基本は別のAPIとして追加、既存APIを非推奨化  古いAPIもすぐには無くせないので両方メンテする必要がでる 12
  • 13. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 利用者の邪魔をしない配慮 (2)  3rd partyのライブラリ依存を最小限に ⁃ 利用するアプリにライセンスが波及してしまう ⁃ 使っていないコードによるメモリやアプリサイズの肥大につながる 13
  • 14. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 利用者の邪魔をしない配慮 (3)  シンボル重複回避 ⁃ クラスの名前空間、Prefixに重複しにくいものをつける ⁃ OSSライブラリを利用する場合、名前空間を変える  共有リソースアクセス時の名前空間 ⁃ Cookie、ローカルのファイル書き込み、Keychain,etc ⁃ 一貫したprefixをつける 14
  • 15. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. わかりやすさ、拡張性、堅牢性への配慮  わかりやすい がとにかく優先されるケースも  用途や利用者によるが、メモリ管理やオブジェクト指向的にきれい な設計とかよりも、staticなメソッド一発呼ぶだけというほうが好 まれることも  拡張性  API引数を変更せずに、プロパティ追加で対応できるようにまとめ て渡す など  ここでの堅牢性とは  使い方によって問題が発生してしまいにくい作り 15
  • 16. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 環境変化への積極的な対応  SDK利用者の対応猶予期間を考慮した上で、スケジュールの検討が必要  OS新バージョンの機能が発表されたら、まず既存アプリの挙動に影響す る変更点を精査 16
  • 17. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 適切なテストアプリ要件と検証範囲のコントロール  データ操作的なAPIならさほど自動化は難しくない  UIを表示するものや外部連携など、自動化が難しい部分も  テスト用のアプリの作りによって実施可能な検証の範囲が制限される  例: ビルド種別  Unity4, Unity5, VS2013, 2015  毎回すべてのパターンを実施すると工数が膨大になってしまう  適切な範囲の絞り込みが必要 17
  • 18. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 問題がおきやすいポイント紹介 18
  • 19. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 公開を阻む問題  SDKをリリースしたが、それを組み込んでiTunes Connect / Google Playに公開しようとするとアップロードできない or リジェクト 19
  • 20. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. 設定しないと動かない機能  アプリ側を適切に設定しないと動かない機能 ⁃ Keychain Access ⁃ Notification ⁃ IAP / IAB ⁃ etc  適切なエラーを返す必要性  テストが面倒な状態のままだと問題がうまれやすい 20
  • 21. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. まとめ  利用者の邪魔をしない配慮  わかりやすさ、拡張性、安全性への配慮  環境変化への積極的な対応  検証の難しさ 21
  • 22. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. このような課題に 一緒に取り組んでくれる人、募集中です 22
  • 23. Copyright (C) 2017 DeNA Co.,Ltd. All Rights Reserved. ご静聴ありがとうございました 23