ncmb勉強会 #8 cocos2d x 資料「cocos2d-xとncmbを組み合わせるには」
Post on 21-Jul-2015
447 Views
Preview:
TRANSCRIPT
Copyright @ NIFTY Corporation All Rights Reserved
ニフティクラウド mobile backend エヴァンジェリスト 中津川篤司
Cocos2d-xとNCMBを 組み合わせるには
Copyright @ NIFTY Corporation All Rights Reserved
自己紹介
2
@moongift
fb.me/moongift.fan
中津川 篤司株式会社MOONGIFT 代表取締役ニフティクラウド mobile backend
エヴァンジェリスト
2004年1月よりオープンソース・ソフトウェアを毎日紹介するブログ MOONGIFT を運営。
http://www.moongift.jp/
Copyright @ NIFTY Corporation All Rights Reserved
=アプリ開発を高速化するサービス
ニフティクラウド mobile backendとは?
Copyright @ NIFTY Corporation All Rights Reserved
ニフティクラウド mobile backnendについて
4
@niftycloud_mb
fb.me/niftycloudmb
ニフティクラウド mobile backendニフティ株式会社の提供するmBaaS
スマートフォン/Webアプリのバックエンド(サーバサイド)の仕組みを一括提供
http://mb.cloud.nifty.com/
Copyright @ NIFTY Corporation All Rights Reserved
アプリ開発とサーバ
サーバ側の開発コスト サーバのメンテナンス セキュリティ対策
!
Copyright @ NIFTY Corporation All Rights Reserved
アプリとNCMBの関係
!
メンテナンスフリー スケールフリー
無料から利用できる
Copyright @ NIFTY Corporation All Rights Reserved
データストア
7
データストア
テキスト、数字、位置情報などを保存できるデータベース
ハイスコアの保存・ランキング ユーザ間メッセージなど
Copyright @ NIFTY Corporation All Rights Reserved
ファイルストア
8
ファイルストア
写真、音楽、動画、CSV、HTMLファイルなどを保存
イベント表示用HTML ゲームで使う画像、音楽、動画リソースなど
Copyright @ NIFTY Corporation All Rights Reserved
ユーザ管理
9
認証(メール/ユーザID)
メールアドレス確認/パスワードリマインダーメール
ソーシャルサービスでのログイン
Copyright @ NIFTY Corporation All Rights Reserved
プッシュ通知機能
10
!
Web管理画面から作成 iOS/Android共通
位置情報で絞り込み 開封率グラフ
Copyright @ NIFTY Corporation All Rights Reserved
対応プラットフォーム
11
Cocos2d-x … 未対応
Copyright @ NIFTY Corporation All Rights Reserved
Cocos2d-x対応
12
Cocos2d-js でいける?
C++にポーティング?
Cocos2d-xアプリにプッシュ通知入れてるよ
きたこれ!
Copyright @ NIFTY Corporation All Rights Reserved
Cocos2d-x アプリに NCMBのプッシュ通知 を組み込む方法
Copyright @ NIFTY Corporation All Rights Reserved
iOSの場合
14
$ cocos new NCMBProject -p jp.moongift.ncmb.cocos2d -l cpp
Copyright @ NIFTY Corporation All Rights Reserved
15
• SystemConfiguration.framework • MobileCoreServices.framework • CoreLocation.framework
Frameworkのインポート
Copyright @ NIFTY Corporation All Rights Reserved
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 Reserved
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 Reserved
18
Google Play Servive
Copyright @ NIFTY Corporation All Rights Reserved
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 Reserved
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 Reserved
// 追加 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 Reserved
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 Reserved
23
管理画面で必要なもの
証明書
API key (Server)
Copyright @ NIFTY Corporation All Rights Reserved
24
プッシュ通知
デモ
Copyright @ NIFTY Corporation All Rights Reserved
詳しくはQiitaで
25
http://qiita.com/niftycloud_mb
Copyright @ NIFTY Corporation All Rights Reserved
26
問題点
•プッシュ通知を受け取って、どこを開くかはObj-C/Javaで書く必要あり •データ、ファイルストア、ログインなどは未対応
Copyright @ NIFTY Corporation All Rights Reserved
27
宣伝
Basicプラン200万!
200万!
5GB!
月額無料
!
Copyright © NIFTY Corporation All Rights Reserved. ‹#›
開発で困ったら?
bit.ly/ncmb-community
top related