SlideShare a Scribd company logo
Copyright @ NIFTY Corporation All Rights
ニフティクラウド mobile backend
エヴァンジェリスト 中津川篤司
Cocos2d-xとNCMBを
組み合わせるには
Copyright @ NIFTY Corporation All Rights
自己紹介
2
@moongift
fb.me/moongift.fan
中津川 篤司
株式会社MOONGIFT 代表取締役
ニフティクラウド mobile backend
          エヴァンジェリスト
2004年1月よりオープンソース・ソフトウェアを毎
日紹介するブログ MOONGIFT を運営。
http://www.moongift.jp/
Copyright @ NIFTY Corporation All Rights
=アプリ開発を高速化するサービス
ニフティクラウド mobile
backendとは?
Copyright @ NIFTY Corporation All Rights
ニフティクラウド mobile backnend
について
4
@niftycloud_mb
fb.me/niftycloudmb
ニフティクラウド mobile backend
ニフティ株式会社の提供するmBaaS
スマートフォン/Webアプリのバックエンド(サー
バサイド)の仕組みを一括提供
http://mb.cloud.nifty.com/
Copyright @ NIFTY Corporation All Rights
アプリ開発とサーバ
サーバ側の開発コスト
サーバのメンテナンス
セキュリティ対策
!
Copyright @ NIFTY Corporation All Rights
アプリとNCMBの関係
!
メンテナンスフリー
スケールフリー
無料から利用できる
Copyright @ NIFTY Corporation All Rights
データストア
7
データストア
テキスト、数字、位置
情報などを保存できる
データベース
ハイスコアの保存・ランキング
ユーザ間メッセージなど
Copyright @ NIFTY Corporation All Rights
ファイルストア
8
ファイルストア
写真、音楽、動画、
CSV、HTMLファイル
などを保存
イベント表示用HTML
ゲームで使う画像、音楽、動画リソースなど
Copyright @ NIFTY Corporation All Rights
ユーザ管理
9
認証(メール/ユーザID)
メールアドレス確認/パスワード
リマインダーメール
ソーシャルサービスでのログイン
Copyright @ NIFTY Corporation All Rights
プッシュ通知機能
10
!
Web管理画面から作成 iOS/Android共通
位置情報で絞り込み 開封率グラフ
Copyright @ NIFTY Corporation All Rights
対応プラットフォーム
11
Cocos2d-x … 未対応
Copyright @ NIFTY Corporation All Rights
Cocos2d-x対応
12
Cocos2d-js でいける?
C++にポーティング?
Cocos2d-xアプリにプッ
シュ通知入れてるよ
きたこれ!
Copyright @ NIFTY Corporation All Rights
Cocos2d-x アプリに
NCMBのプッシュ通知
を組み込む方法
Copyright @ NIFTY Corporation All Rights
iOSの場合
14
$ cocos new NCMBProject -p jp.moongift.ncmb.cocos2d -l cpp
Copyright @ NIFTY Corporation All Rights 15
• SystemConfiguration.framework
• MobileCoreServices.framework
• CoreLocation.framework
Frameworkのインポート
Copyright @ NIFTY Corporation All Rights 16
AppController.mmの修正
#import "AppDelegate.h"
#import "RootViewController.h"
#import <NCMB/NCMB.h> // 追加
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)

 launchOptions {
:
// 追加。ニフティクラウド mobile backendの
  初期化処理です。
[NCMB setApplicationKey: @"APP_KEY" 

              clientKey:@"CLIENT_KEY"];
Copyright @ NIFTY Corporation All Rights 17
AppController.mmの修正
UIUserNotificationType type = UIUserNotificationTypeAlert ¦
UIUserNotificationTypeBadge ¦
UIUserNotificationTypeSound;
UIUserNotificationSettings *setting = [UIUserNotificationSettings 

      settingsForTypes:type categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:setting];
[[UIApplication sharedApplication] registerForRemoteNotifications];
:
// 追加。デバイストークンの保存処理です。
- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
NCMBInstallation *currentInstallation = [NCMBInstallation
currentInstallation];
[currentInstallation setDeviceTokenFromData:deviceToken];
[currentInstallation save:nil];
}
Copyright @ NIFTY Corporation All Rights 18
Google Play Servive
Copyright @ NIFTY Corporation All Rights 19
AndroidManifest.xmlの修正
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jp.moongift.ncmb.cocos2d"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto">
:
<!-- 以下を追加 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:name="(APPLICATION_ID).permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="(APPLICATION_ID).permission.C2D_MESSAGE" />
<application android:label="@string/app_name" android:icon="@drawable/icon">
Copyright @ NIFTY Corporation All Rights 20
AndroidManifest.xmlの修正
<!-- 追加 -->
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
:
<receiver
android:name="com.nifty.cloud.mb.NCMBGCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="(APPLICATION_ID)" />
</intent-filter>
</receiver>
</application>
:
</manifest>
Copyright @ NIFTY Corporation All Rights
// 追加
import android.os.Bundle;
import java.util.*;
import com.nifty.cloud.mb.*;
import com.google.android.gms.common.*;
import android.content.Intent;
21
AppActivity.javaの修正
Copyright @ NIFTY Corporation All Rights
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
NCMB.initialize(this, APP_KEY", "CLIENT_KEY");
final NCMBInstallation instllation = NCMBInstallation.getCurrentInstallation();
instllation.getRegistrationIdInBackground("SENDER_ID",
                new RegistrationCallback() {
@Override
public void done(NCMBException e) {
instllation.save();
}
});
NCMBPush.setDefaultPushCallback(this, AppActivity.class);
Intent intent = new Intent(this, AppActivity.class);
NCMBAnalytics.trackAppOpened(intent);
}
22
AppActivity.javaの修正
Copyright @ NIFTY Corporation All Rights 23
管理画面で必要なもの
証明書
API key (Server)
Copyright @ NIFTY Corporation All Rights 24
プッシュ通知
デモ
Copyright @ NIFTY Corporation All Rights
詳しくはQiitaで
25
http://qiita.com/niftycloud_mb
Copyright @ NIFTY Corporation All Rights 26
問題点
•プッシュ通知を受け取って、どこを
開くかはObj-C/Javaで書く必要あり
•データ、ファイルストア、ログインな
どは未対応
Copyright @ NIFTY Corporation All Rights 27
宣伝
Basicプラン
200万!
200万!
5GB!
月額
無料
!
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
開発で困ったら?
bit.ly/ncmb-community
@niftycloud_mb
https://fb.me/niftycloudmb

More Related Content

PDF
ニフティクラウド mobile backendのREST APIについて
PDF
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
PDF
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
PPTX
20160120 gpsロガーアプリを作ろう
PDF
【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-
PDF
PHPでスマホアプリにプッシュ通知する
PDF
ニフティクラウド mobile backend 北海道ハンズオン
PDF
ニフティクラウド
 mobile backend とIoTの良い関係
ニフティクラウド mobile backendのREST APIについて
Ncstudy#03 ニフティクラウドapiを利用して、何かつくってみよう slide
【Monaca×mobile backend】 プッシュ通知をカンタン実装! スピード感ある開発をしよう!
20160120 gpsロガーアプリを作ろう
【Monaca×mobile backend】プッシュ通知をカンタン実装!スピード感ある開発をしよう!-準備編(iOS)-
PHPでスマホアプリにプッシュ通知する
ニフティクラウド mobile backend 北海道ハンズオン
ニフティクラウド
 mobile backend とIoTの良い関係

Viewers also liked (20)

PDF
SQLite の暗号化
PPT
Glen Gatin Formal Oral Review
PPT
Paradigm Movie Ppt Version Sample
PPT
Ability Movie Ppt Version Sample
PDF
Spring 3 - An Introduction
PDF
How to kill 4 chickens in 3 years
PDF
Max2013 rejected apps presentation
PDF
Religion in Blue Jeans
PPS
Zoomout zoomin
PDF
The unwanted Jesus & Bethany
PPT
PPTX
Twitter Personas: Bot or Not?
PPT
Tehnoloogia Rakendamine
 
PPT
Test item writing and analysis
PPT
Presentation1
PPT
Aqqalooraq
 
PPTX
Spur one another on
PPT
Johannes Lars
 
PPT
A Critical Analysis Of British Mosques As An
PPTX
Technology, Is That All It Takes
SQLite の暗号化
Glen Gatin Formal Oral Review
Paradigm Movie Ppt Version Sample
Ability Movie Ppt Version Sample
Spring 3 - An Introduction
How to kill 4 chickens in 3 years
Max2013 rejected apps presentation
Religion in Blue Jeans
Zoomout zoomin
The unwanted Jesus & Bethany
Twitter Personas: Bot or Not?
Tehnoloogia Rakendamine
 
Test item writing and analysis
Presentation1
Aqqalooraq
 
Spur one another on
Johannes Lars
 
A Critical Analysis Of British Mosques As An
Technology, Is That All It Takes
Ad

Similar to Ncmb勉強会 #8 cocos2d x 資料「Cocos2d-xとNCMBを組み合わせるには」 (20)

PDF
Cordova × NCMB
PDF
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
PDF
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
PDF
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」
PDF
10分でプッシュ通知を実現。アプリ開発を省力化、高速化するニフクラ mobile backendの紹介
PDF
ニフティクラウド Mobile backendとio tの良い関係
PDF
【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)
PDF
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介
PDF
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介 ニフティクラウド mobile backend
PDF
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
PDF
20140320ニフティクラウドmeet-up!セミナー資料1
PDF
cocos2d-xハンズオン勉強会 in 名古屋
PDF
Cocos2d-x公開講座 in 鹿児島
PPTX
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発
PDF
【C-2】スマホアプリの開発は、エンタメとエンプラでどこまで違う?
PDF
CocosBuilderを利用した開発の進め方
PDF
Hacker wars mbaas
PDF
Mobile cloudnight 2015/11/11
PPTX
ニフティクラウド C4 sa ご紹介資料ver.1.2
PDF
cocos2d-x公開講座 in 鹿児島
Cordova × NCMB
ニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
プッシュからデータ保存まで。アプリ開発でニフティクラウド mobile backendを使う上での良くある質問、疑問にお答えします
Edisonユーザ会「ニフティクラウド mobile backendとIoTの良い関係」
10分でプッシュ通知を実現。アプリ開発を省力化、高速化するニフクラ mobile backendの紹介
ニフティクラウド Mobile backendとio tの良い関係
【JavaScript SDK ver.2】MonacaとmBaaSでプッシュ通知を体験しよう(for Android & iOS)
【NCMB】アプリのバックエンドを支えるサービス 「mBaaS」のご紹介
GTMF2017 アプリのバックエンドを支えるサービス「mBaaS」のご紹介 ニフティクラウド mobile backend
Cocos2d-x でのクラウドサービス活用方法 - 週刊アスキーセミナー
20140320ニフティクラウドmeet-up!セミナー資料1
cocos2d-xハンズオン勉強会 in 名古屋
Cocos2d-x公開講座 in 鹿児島
企業向けmBaaS「AppPot」を使ったサーバー開発なしの高速モバイルアプリ開発
【C-2】スマホアプリの開発は、エンタメとエンプラでどこまで違う?
CocosBuilderを利用した開発の進め方
Hacker wars mbaas
Mobile cloudnight 2015/11/11
ニフティクラウド C4 sa ご紹介資料ver.1.2
cocos2d-x公開講座 in 鹿児島
Ad

More from Atsushi Nakatsugawa (14)

PDF
採択されるプロポーザルの 書き方
PDF
Arduino yun × apiで遊んでみる
PDF
メッセージ&コンセプト
PDF
書く技術
PDF
DevRelConに行ってきました
PDF
一人でできる!M baasでスマートホーム化
PDF
MRAAでIntel Edisonを遊ぼう
PDF
フリーミアムモデルをやって分かったこと
PDF
Edison色々試してみた
PDF
HTML5/JavaScript ではじめるIoT
PDF
Webエンジニアなら抑えておきたい最近のOSS事情
PDF
LOCAL DEVELOPER DAY ’09/Winter
PDF
リーンソフトウェア
採択されるプロポーザルの 書き方
Arduino yun × apiで遊んでみる
メッセージ&コンセプト
書く技術
DevRelConに行ってきました
一人でできる!M baasでスマートホーム化
MRAAでIntel Edisonを遊ぼう
フリーミアムモデルをやって分かったこと
Edison色々試してみた
HTML5/JavaScript ではじめるIoT
Webエンジニアなら抑えておきたい最近のOSS事情
LOCAL DEVELOPER DAY ’09/Winter
リーンソフトウェア

Ncmb勉強会 #8 cocos2d x 資料「Cocos2d-xとNCMBを組み合わせるには」

  • 1. Copyright @ NIFTY Corporation All Rights ニフティクラウド mobile backend エヴァンジェリスト 中津川篤司 Cocos2d-xとNCMBを 組み合わせるには
  • 2. Copyright @ NIFTY Corporation All Rights 自己紹介 2 @moongift fb.me/moongift.fan 中津川 篤司 株式会社MOONGIFT 代表取締役 ニフティクラウド mobile backend           エヴァンジェリスト 2004年1月よりオープンソース・ソフトウェアを毎 日紹介するブログ MOONGIFT を運営。 http://www.moongift.jp/
  • 3. Copyright @ NIFTY Corporation All Rights =アプリ開発を高速化するサービス ニフティクラウド mobile backendとは?
  • 4. Copyright @ NIFTY Corporation All Rights ニフティクラウド mobile backnend について 4 @niftycloud_mb fb.me/niftycloudmb ニフティクラウド mobile backend ニフティ株式会社の提供するmBaaS スマートフォン/Webアプリのバックエンド(サー バサイド)の仕組みを一括提供 http://mb.cloud.nifty.com/
  • 5. Copyright @ NIFTY Corporation All Rights アプリ開発とサーバ サーバ側の開発コスト サーバのメンテナンス セキュリティ対策 !
  • 6. Copyright @ NIFTY Corporation All Rights アプリとNCMBの関係 ! メンテナンスフリー スケールフリー 無料から利用できる
  • 7. Copyright @ NIFTY Corporation All Rights データストア 7 データストア テキスト、数字、位置 情報などを保存できる データベース ハイスコアの保存・ランキング ユーザ間メッセージなど
  • 8. Copyright @ NIFTY Corporation All Rights ファイルストア 8 ファイルストア 写真、音楽、動画、 CSV、HTMLファイル などを保存 イベント表示用HTML ゲームで使う画像、音楽、動画リソースなど
  • 9. Copyright @ NIFTY Corporation All Rights ユーザ管理 9 認証(メール/ユーザID) メールアドレス確認/パスワード リマインダーメール ソーシャルサービスでのログイン
  • 10. Copyright @ NIFTY Corporation All Rights プッシュ通知機能 10 ! Web管理画面から作成 iOS/Android共通 位置情報で絞り込み 開封率グラフ
  • 11. Copyright @ NIFTY Corporation All Rights 対応プラットフォーム 11 Cocos2d-x … 未対応
  • 12. Copyright @ NIFTY Corporation All Rights Cocos2d-x対応 12 Cocos2d-js でいける? C++にポーティング? Cocos2d-xアプリにプッ シュ通知入れてるよ きたこれ!
  • 13. Copyright @ NIFTY Corporation All Rights Cocos2d-x アプリに NCMBのプッシュ通知 を組み込む方法
  • 14. Copyright @ NIFTY Corporation All Rights iOSの場合 14 $ cocos new NCMBProject -p jp.moongift.ncmb.cocos2d -l cpp
  • 15. Copyright @ NIFTY Corporation All Rights 15 • SystemConfiguration.framework • MobileCoreServices.framework • CoreLocation.framework Frameworkのインポート
  • 16. Copyright @ NIFTY Corporation All Rights 16 AppController.mmの修正 #import "AppDelegate.h" #import "RootViewController.h" #import <NCMB/NCMB.h> // 追加 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)
  launchOptions { : // 追加。ニフティクラウド mobile backendの   初期化処理です。 [NCMB setApplicationKey: @"APP_KEY" 
               clientKey:@"CLIENT_KEY"];
  • 17. Copyright @ NIFTY Corporation All Rights 17 AppController.mmの修正 UIUserNotificationType type = UIUserNotificationTypeAlert ¦ UIUserNotificationTypeBadge ¦ UIUserNotificationTypeSound; UIUserNotificationSettings *setting = [UIUserNotificationSettings 
       settingsForTypes:type categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:setting]; [[UIApplication sharedApplication] registerForRemoteNotifications]; : // 追加。デバイストークンの保存処理です。 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { NCMBInstallation *currentInstallation = [NCMBInstallation currentInstallation]; [currentInstallation setDeviceTokenFromData:deviceToken]; [currentInstallation save:nil]; }
  • 18. Copyright @ NIFTY Corporation All Rights 18 Google Play Servive
  • 19. Copyright @ NIFTY Corporation All Rights 19 AndroidManifest.xmlの修正 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="jp.moongift.ncmb.cocos2d" android:versionCode="1" android:versionName="1.0" android:installLocation="auto"> : <!-- 以下を追加 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <permission android:name="(APPLICATION_ID).permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="(APPLICATION_ID).permission.C2D_MESSAGE" /> <application android:label="@string/app_name" android:icon="@drawable/icon">
  • 20. Copyright @ NIFTY Corporation All Rights 20 AndroidManifest.xmlの修正 <!-- 追加 --> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> : <receiver android:name="com.nifty.cloud.mb.NCMBGCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="(APPLICATION_ID)" /> </intent-filter> </receiver> </application> : </manifest>
  • 21. Copyright @ NIFTY Corporation All Rights // 追加 import android.os.Bundle; import java.util.*; import com.nifty.cloud.mb.*; import com.google.android.gms.common.*; import android.content.Intent; 21 AppActivity.javaの修正
  • 22. Copyright @ NIFTY Corporation All Rights protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); NCMB.initialize(this, APP_KEY", "CLIENT_KEY"); final NCMBInstallation instllation = NCMBInstallation.getCurrentInstallation(); instllation.getRegistrationIdInBackground("SENDER_ID",                 new RegistrationCallback() { @Override public void done(NCMBException e) { instllation.save(); } }); NCMBPush.setDefaultPushCallback(this, AppActivity.class); Intent intent = new Intent(this, AppActivity.class); NCMBAnalytics.trackAppOpened(intent); } 22 AppActivity.javaの修正
  • 23. Copyright @ NIFTY Corporation All Rights 23 管理画面で必要なもの 証明書 API key (Server)
  • 24. Copyright @ NIFTY Corporation All Rights 24 プッシュ通知 デモ
  • 25. Copyright @ NIFTY Corporation All Rights 詳しくはQiitaで 25 http://qiita.com/niftycloud_mb
  • 26. Copyright @ NIFTY Corporation All Rights 26 問題点 •プッシュ通知を受け取って、どこを 開くかはObj-C/Javaで書く必要あり •データ、ファイルストア、ログインな どは未対応
  • 27. Copyright @ NIFTY Corporation All Rights 27 宣伝 Basicプラン 200万! 200万! 5GB! 月額 無料 !
  • 28. Copyright © NIFTY Corporation All Rights Reserved. ‹#› 開発で困ったら? bit.ly/ncmb-community