【unity】appc...

68
1 Confidential / Don’t distribute  cayto inc.

Upload: caytosales

Post on 08-Aug-2015

774 views

Category:

Education


1 download

TRANSCRIPT

1Confidential / Don’t distribute  cayto inc.

2Confidential / Don’t distribute  cayto inc.

Unityの公式サンプルを使った2Dシューティングゲーム

今日の教材

3

今日使うのは

Confidential / Don’t distribute  cayto inc.

ユーザーがOSの垣根を越えて世界中のプレイヤーとスコアを競う事ができる         の魔法のようなサービス

とは?

『リーダーボード機能』

の を使います。

4

今日使うのは

Confidential / Don’t distribute  cayto inc.

         プッシュ通知は、面倒なサーバーの設定を必要とせずに、アプリユーザーにお知らせが送れるサービス

プッシュ通知 とは?

『プッシュ通知』

の を使います。プッシュ通知

5Confidential / Don’t distribute  cayto inc.

Unity公式の2Dシューティングゲームを使って

10×①ランキング機能〈GAMERS〉を実装する

②〈PUSH通知〉を実装する

今日の授業の内容

6Confidential / Don’t distribute  cayto inc.

Unityのサンプルが本格的なゲームにボタンから GAMERSを開いて

Android/iOSで 同じアプリを使っている人同士の ベストスコアのランキングが表示される

ユーザーにPUSH通知が 配信できる

こんなゲームを作ります

7Confidential / Don’t distribute  cayto inc.

今日の授業の内容

 準備1

2 〈GAMERS〉の実装と使いかた3 〈PUSH通知〉の実装と使いかた

8Confidential / Don’t distribute  cayto inc.

今日の教材サンプルプロジェクト

サンプルプロジェクトをダウンロードしてください

http://bit.ly/1cXrf8U

1

サンプルプロジェクトを解凍してください2

ファイルを解凍すると以下のようなファイルが入っています

準備1

2DShooting_20150526_forUnity4

2DShooting_20150526_forUnity5

◎ Unity4.5.1~をお使いの方

◎ Unity5.0.0~をお使いの方

◎ Unity5.0.0~をお使いの方

http://bit.ly/1ery7wo◎ Unity4.5.1~をお使いの方

9Confidential / Don’t distribute  cayto inc.

appC cloud(https://app-c.net/)に登録をしてください。3

メール受信可能なアドレスと「プロモーション コード」を使用するにチェックして赤枠の プロモーションコードを登録して下さい。

(例)OFoX9GJ6プロモーションコード※

準備1

※新規登録の際に、事前にお配りしたプロモーションコードを入力いただくと、 円分のクレジットがアカウント登録時につきますので、 円以上の成果を上げていただくと、クレジットと合算した広告収益をお支払いいたします。

10Confidential / Don’t distribute  cayto inc.

メールが届いたらログインが可能になります。4 ログイン

3

準備1

11Confidential / Don’t distribute  cayto inc.

appC Cloud管理画面(https://app-c.net/)にログインしたら、初回ログインの方は「アプリ登録する」からアプリの新規登録をしてください。アプリ詳細設定ページで、アプリ管理名、アプリ名、パッケージ名を「test」などの任意の文字列を入力して、「アプリ情報を更新」でアプリの新規登録完了です。

準備1

appC cloud SDKのダウンロード5

12Confidential / Don’t distribute  cayto inc.

❶ SDKダウンロードページへ行き、Unity用の❷「Download SDK」ボタンから「appc_cloud_unity_v_2.2.0_20140926.zip」をダウンロードします。

2

1

準備1

appC cloud SDKのダウンロード6

SDKダウンロードボタンは アプリ登録後に表示されます。

13Confidential / Don’t distribute  cayto inc.

〈PUSH通知〉の実装と使いかた2

手順(1)〈GAMERS〉を利用する準備をする

手順(2)〈GAMERS〉を実装する

手順(3)ボタンから〈GAMERS〉を呼び出せるようにする

14Confidential / Don’t distribute  cayto inc.

手順(1)〈GAMERS〉を利用する準備をする

appC cloud(https://app-c.net/)からメディア管理画面にログインをしてください1

15Confidential / Don’t distribute  cayto inc.

手順(1)〈GAMERS〉を利用する準備をする

2

❶appC cloudのメディア管理画面にログイン後、ダッシュボードからアプリを選択して、〈GAMERS〉の設定画面を開きます

appC cloud管理画面にログインします

1

16Confidential / Don’t distribute  cayto inc.

手順(1)〈GAMERS〉を利用する準備をする

2

1

❶アプリ詳細設定 -> AndroidManifest(Unity)設定にて、❷「アイテムSTORE」「GAMERS」「プッシュ通知」にチェックを入れてCopyボタンを押下します。

AndroidManifestをコピーします3

17Confidential / Don’t distribute  cayto inc.

Unityを起動してFileメニューの「Open project… 」で、Project Wizardを開き「Open Other」を選んでダウンロードした「2DShooting_20150526_forUnity4(もしくは5)」の「ShootingGame」フォルダを選んで「Open」ボタンで次へ行きます。

(1)プレイヤー機の数やボタンを画面に表示させる

サンプルプロジェクトをUnityで開きます4

18Confidential / Don’t distribute  cayto inc.

以下のようなUnityの画面が表示されます5

今回使う、Unity画面の機能は、以下の❶~❺になります。(Gameビューが表示されない場合は、ProjectビューからScenes→Stageを選んでください)

❷ Projectビュー

❶ Hierarchyビュー

❸ Inspectorビュー

❹ Game ビュー

❺ Playボタン

4 1

2

35

シーンに配置されるゲームオブジェクトの管理をします

ゲーム内で使う、スクリプトや画像、などのファイルの管理をします

ゲームオブジェクトの位置や大きさ、プログラムコードなどの属性を表示するビューです

ゲームの動きをプレビューできる画面です

ゲームビューで動きを確認します

手順(1)〈GAMERS〉を利用する準備をする

19Confidential / Don’t distribute  cayto inc.

手順(1)〈GAMERS〉を利用する準備をする

❶Project -> Plugins -> AndroidからAndroidManifestを開き、手順1-3でコピーしたAndroidManifestをペーストして中身を差し替えます。

AndroidManifestを書き換えます6

1

20Confidential / Don’t distribute  cayto inc.

手順(1)〈GAMERS〉を利用する準備をする

2

1

再び、appC cloudのメディア管理画面の戻り、GAMERS設定を開き、❶「リーダーボードを登録する」を押下します。❷リーダーボード編集ダイアログにて、以下のように入力または選択して「登録する」を押下します。これでスコアを登録するリーダーボードができました。リーダーボードのID(❸)は後ほど使用します。

リーダーボードを登録します7

3

・リーダーボード名 :

・スコアタイプ :

・スコアの値の種類 :

・スコアの値の並び順 :

・スコアの単位 :

・スコアの位置 :

High Score

BEST

整数

降順

pt

後ろ

21Confidential / Don’t distribute  cayto inc.

〈PUSH通知〉の実装と使いかた2

手順(1)〈GAMERS〉を利用する準備をする

手順(2)〈GAMERS〉を実装する

手順(3)ボタンから〈GAMERS〉を呼び出せるようにする

22Confidential / Don’t distribute  cayto inc.

手順(2)〈GAMERS〉を実装する

ProjectのAppC.csをMonoDevelopで開き、❶(19行目)で〈GAMERS〉を利用できるようにします。❷次に(11行目)で、先ほど管理画面で登録したリーダーボードIDを”_LB_ID_HIGH_SCORE”という定数で定義します。

〈GAMERS〉を利用できるようにします1

1

2

23Confidential / Don’t distribute  cayto inc.

手順(2)〈GAMERS〉を実装する

引き続きAppC.csの❶(70 行目)で〈GAMERS〉を呼び出せるようにします。❷(78行目)で、ハイスコアをリーダーボードに登録できるようにします。

〈GAMERS〉の呼び出しとスコア登録を利用できるようにします2

2

1

24Confidential / Don’t distribute  cayto inc.

手順(2)〈GAMERS〉を実装する

ProjectのScore.csをMonoDevelopで開き、❶(55行目)でハイスコア獲得時にスコア登録を呼び出し、ハイスコアをリーダーボードに登録するようにします。

ハイスコア獲得時、リーダーボードにスコアを登録するようにします3

1

25Confidential / Don’t distribute  cayto inc.

手順(2)〈GAMERS〉を実装する

引き続きScore.csの❶(42行目)でハイスコアを取得する

リーダーボードからスコアを取得します4

1

26Confidential / Don’t distribute  cayto inc.

手順(2)〈GAMERS〉を実装する

次にAppC.csのスコア取得❶(86行目)でリーダーボードからスコアを取得できるようにします。

リーダーボードからスコアを取得します5

1

27Confidential / Don’t distribute  cayto inc.

〈PUSH通知〉の実装と使いかた2

手順(1)〈GAMERS〉を利用する準備をする

手順(2)〈GAMERS〉を実装する

手順(3)ボタンから〈GAMERS〉を呼び出せるようにする

28Confidential / Don’t distribute  cayto inc.

手順(3)ボタンから〈GAMERS〉を呼び出せるようにする

ProjectのMenu.csをMonoDevelopで開き、❶(41行目)でGAMERSボタンを押したら〈GAMERS〉が呼び出せるようにします。

GAMERSボタンを押したときのイベントを実装します1

1

29Confidential / Don’t distribute  cayto inc.

手順(3)ボタンから〈GAMERS〉を呼び出せるようにする

これでGAMERSボタンを押したら〈GAMERS〉のリーダーボードを見ることができるようになりました。

2

ビルドすると、こんな感じで〈アイテムSTORE〉が使えるようになります!

30Confidential / Don’t distribute  cayto inc.

〈PUSH通知〉の実装と使いかた3

手順(1)〈PUSH通知〉を利用する準備をする

手順(2)〈PUSH通知〉を実装する

手順(3)〈PUSH通知〉を受け取る

※詳細はappC cloudのチュートリアルにも記載しております https://app-c.net/tutorial/android/push/https://app-c.net/tutorial/ios/push/

31Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

注意) ※iOS8でプッシュ通知を受信するには、開発環境はXcode6を使用してappC cloud SDKもXcode6用をご使用ください。 ※Xcode5でビルドされたアプリでは、iOS8ではPush通知を受信できません。

1

https://developer.apple.com/devcenter/ios/index.actionを開き、❶開発者登録されているIDでログインします。❷Certificates,Identifiers & Profilesを開きます。

iOS Dev Center

1

32Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

2

❶ Identifiersを開き、❷Identifiersの右上の+ボタンを押下しApp IDの詳細を入力します。

App IDの作成

1

33Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

3

❶App ID Description内はアプリの名称を入力します。❷その後、Explicit App IDを選択し、❸Bundle IDを入力してください。そのまま画面下に移動してください。

App IDの作成

1

3

2

34Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

4

プッシュ通知を利用するため、❹「Push Notification」にチェック入れて、❺Continueを押下してください。App IDの登録確認に移ります。

App IDの作成

4

5

35Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

5

App IDの登録確認後にSubmitを押下します。登録が完了すると「Registration Complete」と表示されるため、Doneを押下します。

App IDの作成

1 2

36Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

6

App IDで「Configurable」となっているプッシュ通知を有効にするため、認証局より証明書を取得します。❶ MACでキーチェーンアクセスを開き、証明書アシスタントの認証局に証明書を要求を選択します。

証明書要求の作成

1

37Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

7

証明書アシスタントの認証局に証明書を要求を選択、以下❶を入力します。❷ファイル名称を「CertificateSigningRequest.certSigningRequest」で保存します。保存が成功すると「証明書要求がディスク上に作成されました」というメッセージが表示されます。

証明書要求の作成

・ユーザのメールアドレス : ・通称 : ・CAのメールアドレス : ・要求処理 :

デベロッパ登録したメールアドレス 何でもOK 何も入れない ディスクに保存

1

2

1

38Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

8

iOS Dev Centerに戻り、❶Identiers -> App IDsの中から先ほど作成したIDを選択し、❷下段にあるDevelopment SSL CertificateのCreate Certificate...を選択します。About Creating a Certificate Signing Request (CSR)Continueを押下します。

証明書の取得

12

39Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

9

❶About Creating a Certificate Signing Request (CSR)でContinueを押下します。Generate your Certificateで❷Choose Fileを押下し、手順(5)-16で作成した「CertificateSigningRequest.certSigningRequest」を指定して❸Generateボタンで進みます。

証明書の取得

1 3

2

40Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

10

証明書の作成に成功すると証明書がダウンロード可能になるため、❶Downloadボタンよりダウンロードします。(ダウンロードされた証明書のファイル名:aps_development.cer)

証明書の取得

1

41Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

11

MACにダウンロードしたApple Development iOS Push Serviceをダブルクリックしキーチェーンに登録させます。❶分類の証明書を選択し、登録したファイルを右クリックで書き出しを選択し、以下❷に設定します。

pemファイルの作成

・ファイル名 :

・フォーマット :

「Certificates.p12」

「.p12」

1

2

2

42Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

12 証明書の取得

書き出した証明書のパスワード入力画面となるため、❶何も入力せずそのままOKで進みます。キーチェーンにアクセスするための❷パスワード(※通常、MACのログインパスワード)を入力し、許可を押下します。

1

43Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

13 証明書の取得

MACの❶ターミナルを開き、❷「openssl pkcs12 -in 」と入力した後に「Certificates.p12」ファイルをドラッグ&ドロップしてください。その後「-out xxx.pem -nodes -clcerts」を入力します。❸以下のようになっているか確認し、Enterを押下してパスワードは何も入力せず再度Enterを押下し、「Certificates.p12」形式のファイルを「xxx.pem」形式の証明書に変換します。

openssl pkcs12 -in /(ファイルを置いている場所)/Certificates.p12 -out xxx.pem -nodes -clcerts

1

3

2

2

44Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

14 証明書の取得

成功すると「MAC verified OK」と表示され、❹カレントディレクトリにpem形式のファイルが作成されます。

4

45Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

15 pemファイルの登録

appC cloudのメディア管理画面のアプリ詳細設定を開き、❶PUSH通知設定のAPNS Developmentのファイル選択から先程変換したpemファイルを選択して、❷アプリ情報を更新します。

2

46Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

16 プロビジョニングプロファイルの作成

再び、iOS Dev CenterのCertificatesに戻り、❶Identifiers & ProfilesよりProvisioning Profilesを開き、❷右上の「+」ボタンを押下します。

2

1

47Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

17 プロビジョニングプロファイルの作成

開発用のProvisioning Profileを作成する場合、❶「iOS App Development」を選択してContinueします。(製品用の場合は「Distribution」を選んでください)

1

48Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

18 プロビジョニングプロファイルの作成

❶手順(5)-12で作成したApp IDを選択し❷Continueボタンで進みます。

1

2

49Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

19 プロビジョニングプロファイルの作成

❶開発用のCertificates(iOS Development)を選択し❷Continueボタンで進みます。

1

2

50Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

20 プロビジョニングプロファイルの作成

❶開発に使用するデバイスを選択し❷Continueボタンで進みます。

1

2

51Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

21 プロビジョニングプロファイルの作成

❶プロファイルの名前を入力し、❷Generateで作成します。

1

2

52Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

22 プロビジョニングプロファイルの作成

❶プロファイル作成に成功したらDownloadボタンを押下し、プロファイルをダウンロードします。

1

53Confidential / Don’t distribute  cayto inc.

手順(1)〈PUSH通知〉を利用する準備をする

23 プロビジョニングプロファイルの作成

ダウンロードしたプロファイルをダブルクリックしてXcodeに登録します。これでAndroidとiOSでプッシュ通知機能を使用する準備ができました。

※iOSではUnityでXcodeプロジェクトをビルドした後、Xcode上で作成したプロビジョニングプロファイルを選択してください。

54Confidential / Don’t distribute  cayto inc.

〈PUSH通知〉の実装と使いかた3

手順(1)〈PUSH通知〉を利用する準備をする

手順(2)〈PUSH通知〉を実装する

手順(3)〈PUSH通知〉を受け取る

※詳細はappC cloudのチュートリアルにも記載しております https://app-c.net/tutorial/android/push/https://app-c.net/tutorial/ios/push/

55Confidential / Don’t distribute  cayto inc.

手順(2)〈PUSH通知〉を実装する

1

UnityのProjectのAppC.csをMonoDevelopで開き、❶(20行目)で〈プッシュ通知〉を利用できるようにします。〈プッシュ通知〉の実装はこれだけでOK

〈プッシュ通知〉を利用できるようにします

1

56Confidential / Don’t distribute  cayto inc.

〈PUSH通知〉の実装と使いかた3

手順(1)〈PUSH通知〉を利用する準備をする

手順(2)〈PUSH通知〉を実装する

手順(3)〈PUSH通知〉を受け取る

※詳細はappC cloudのチュートリアルにも記載しております https://app-c.net/tutorial/android/push/https://app-c.net/tutorial/ios/push/

57Confidential / Don’t distribute  cayto inc.

手順(2)〈PUSH通知〉を受け取る

1

❶appC cloudの管理画面のプッシュ通知設定を開き、「メッセージを予約する」ボタンを押下します。表示されるダイアログ内を以下❷のように入力または設定し、❸「予約する」ボタンを押下します。

〈プッシュ通知〉の配信を予約します

・配信時刻設定 :

・プラットフォーム :

・配信先種類 :

・サウンド設定 :

・ターゲット配信設定 :

・配信タイトル :

・配信メッセージ :

即時に配信する

全て(AndroidとiOSの両方の設定が完了している場合)

テストアプリ

配信時にサウンドを鳴らすにチェックを入れる(任意)

チェックを入れない

テストプッシュ

これはテストです。

1

2

2

3

58Confidential / Don’t distribute  cayto inc.

手順(2)〈PUSH通知〉を受け取る

2

アプリをインストールした端末に〈プッシュ通知〉が届きます。

〈プッシュ通知〉が届きます

※プッシュ通知はバッチ処理にて5分間隔で送信されます。

59Confidential / Don’t distribute  cayto inc.

アプリのビルド3

60Confidential / Don’t distribute  cayto inc.

Androidの手順 — ビルド —

端末をPCについないで、ビルド&ランで確認!Andoroid端末をPCに繋いだら「File」メニューから「 」ダイアログを開いてプラットフォームに を選び、「 」をクリックすれば端末で確認ができます。

61Confidential / Don’t distribute  cayto inc.

iOSの手順 — ビルド —

端末をPCについないで、ビルド&ランで確認!iOS端末をPCに繋いだら「File」メニューから「 」ダイアログを開いてプラットフォームに を選び、「 」をクリック。

62Confidential / Don’t distribute  cayto inc.

iOSの手順 — ビルド —

XcodeにLinked Frameworks and Libraries を追加!Xcodeが立ち上がるので、オプション情報のLinked Frameworks and Librariesの①「+」ボタンから、②のframeworkをダイアログで検索して「Add」ボタンで追加します。

1

2

63Confidential / Don’t distribute  cayto inc.

iOSの手順 — ビルド —

Unity5の場合!XcodeでappCUnity.mmに「-fno-objc-arc」を追加して、ARCを無効化してください。

64Confidential / Don’t distribute  cayto inc.

メディアキーについて今回のサンプルプロジェクトを使って、生徒の皆さんが自分のアイテムSTOREを利用するには、appC cloudの”メディアキー”の設定が必要になります。

”メディアキー”の設定方法は、12/10のschooの放送もしくは、スライドシェアの資料p.13~p.19に記載していますので、ぜひ参考にしてください。

その他、appC cloudの登録方法、SDKの組み込み方法も記載しています。

https://schoo.jp/class/1671 http://www.slideshare.net/caytosales/appc-schoo-1210

65Confidential / Don’t distribute  cayto inc.

アイテムSTOREを使ったデベロッパー様の声みつけて!おじぽっくる アイドルリコレクション

ブレイクアーツ 脱出ゲーム 不思議の国からの脱出

ダッシュでバトル 脱出ゲーム ストーカー女からの脱出

Unityでアイテム課金を実装する場合、Android・iPhoneに対応したプラグインなどはまだまだ少なく、また実装までを考えると ハイコストですが、appC cloudはローコストで課金システムを実装できて、広告からアプリの宣伝までを担う大変素晴らしいサービスです。

Unityでアプリ内課金を実装するのは難しいと聞いていましたので、導入が楽で助かりました。個人開発者には重要なことだと思うんですけど、課金アイテムをリリースした後に何か問題発生したらすぐにアイテムを削除できるので、それがとても助かります。

アプリ開発はcoco2dxですが、appCのSDKは通常のものを利用しております。一度は諦めた課金処理が、いとも簡単に実装できました! 導入も簡単で、おかげさまで課金収入も得られるようになって幸せです。

Android・iOS対応の課金システムを作るのはハードルが高いと感じていましたが、 Cocos2d-x Pluginのを使うと簡単に両OS対応の課金システムを実装できました。 今後も利用したいと考えています。

課金システムを実装するには、実装コストが高いものですが、appC cloudを利用することで迅速に課金システムを実現出来てとてもありがたいと思っています。アプリ上での動作も機敏で、とても良いと思います。

アイテム課金の機能が簡単に実装でき、非常に助かっています。配信する広告を簡単に選択できるのも魅力の一つです。

66Confidential / Don’t distribute  cayto inc.

appC cloudの各種情報はこちらから

facebook 公式アカウント twitter 公式アカウント

yotube公式チャンネル 公式ブログSlideShere マイページ

※画像をクリックするとそれぞれのページへリンクします。

67Confidential / Don’t distribute  cayto inc.

並木橋アプリスクール

並木橋アプリスクール公式チャンネル

※画像をクリックするとそれぞれのページへリンクします。

68

カイト株式会社(cayto inc.)〒106-0047 東京都港区南麻布3-21-17 B City Tower Azabu Tokyo 7F

Tel:03 5475 3385  設立:2008年4月1日業務内容:「giveApp」「appC cloud」の運営

@appC_official

https://www.facebook.com/appc.cloud

Confidential / Don’t distribute  cayto inc.