bassio

|

baasio 를 쓰고 싶으면


rest api 혹은 안드로이드 sdk를 사용하는 방법(네이티브)


rest Api 같은 경우 유니티 단에서 웹 접속(WWW) 를 통해 get, post, delete, put 를 처리(php 를 통해 get, post, delete, put을 사용할수 있음)-> curl을 


사용해서. nas3에서 curl을 사용해서 하려고 하니 https 프로토콜 지원을 안한다고 에러.. 무료 호스팅에서 하니 되닌것 확인. 일단 토큰까지 받을 수 있


음. 결국 마지막 방법은 안드로이드 sdk 를 사용해서 하는 방법. 제일 확실한 방법이지만.. 힘들것 같아서 안함.






baasio 에서 제공하는 angrybot 게임 있음.. 샘플 소스 참고. 


안녕하세요. baas.io를 이용해 주셔서 감사합니다.
Unity3D도 Application 클래스를 생성할 수 있더군요.
보내주신 블로그의 내용은 Unity3D를 재생하기 위한 Activity를 커스텀으로 구현하는 방법에 대한 내용으로 저는 이해했습니다.

우선 Android Plugin으로 개발하기위한 방법이 아래의 두 가지 방법이 있는 것으로 알아보았습니다.

첫번째는 Unity 프로젝트에 Android Plugin으로 넣는 방법
(http://mingu.kr/79의 방법)
두번째는 Android 프로젝트에 Unity를 구동시킬 수 있도록 하는 방법
(http://korea.unity3d.com/board/index.php?db=classlist&no=798&mari_mode=view%40view&cate=&page=1&listURL=http%3A%2F%2Fkorea.unity3d.com%2Fboard%2F%3Fdb%3Dclasslist%26cate%3D%26search%3Dtitle%26search_str%3D%25EC%2595%2588%25EB%2593%259C%25EB%25A1%259C%25EC%259D%25B4%25EB%2593%259C&search=title&search_str=%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C&temp=)

제가 이해한 두 가지 방법의 차이는 아래와 같습니다.
첫번째 방법인 Android Plugin형태로 넣을 경우, Android 프로젝트의 리소스를 사용하지 못하못하는 단점이 있습니다.
이에 반하여 두번쨰 방법은 Android프로젝트의 리소스를 마음대로 사용할 수 있어 좀더 자유롭게 Android를 활용할 수 있었습니다.

첫번째, 두번쨰 모두 baas.io를 이용할 수 있는데요.

알려주신 블로그의 방법(첫번째)으로 구현할 경우를 기준으로 말씀드리겠습니다.

Plugin jar를 뽑아 낼때, BaasioApplication 클래스까지 함께 뽑아내야하며, baas.io에서 사용하는 jar도 함께 넣어줘야합니다.
예를 들어 아래의 jar파일들을 Assets/Plugins/Android에 넣어주시면 됩니다.

baasioandroid.jar
gcm.jar
jackson-core-asl-1.9.1.jar
jackson-mapper-asl-1.9.1.jar
slf4j-android-1.6.1-RC1.jar 
spring-android-core-1.0.1.jar
spring-android-rest-template-1.0.1.jar

그리고, 마지막으로 AndroidManifest.xml 파일을 수정할때,
application 태그 부분의 수정과 permission 추가 작업이 필요합니다.

먼저 application 태그에는 Plugin에 함께 포함된 BaasioApplication 클래스를 지정해줘야 합니다.
<application
android:allowBackup="false"
android:name="com.kth.baasio.startup.BaasioApplication"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
...
</application>

추가로 필요한 permission은 아래와 같으며, 인터넷을 이용하기 위해 지정해주어야 합니다.

<uses-permission android:name="android.permission.INTERNET" />

여기서 만약 푸시서비스를 사용하시려고 하신다면, 추가로 더 작업해 주어야 하는 부분이 있습니다.

Plugin의 jar를 묶으실때, gcm 관련 java파일도 함께 넣어주어야합니다.
관련 코드는 BaasioStartupProject를 참고하시어, com.kth.baasio.startup.gcm 위치의 소스를 참고하시면 됩니다.
(해당 위치의 java파일까지 포함해서 Plugin jar를 묶어 주시고, 푸시메시지를 수신하여 메시지를 보여주는 부분은 수정이 필요합니다.)

그리고, AndroidManifest.xml에서 gcm 관련 설정을 아래와 같이 해줘야합니다.

먼저, gcm관련 receiver와 service를 등록합니다.
receiver의 category태그의 android:name의 값을 주의 바랍니다. 실제 앱의 패키지 명이어야합니다.

<appication>

...

<receiver
android:name="com.kth.baasio.startup.gcm.GCMRedirectedBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>

<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />

<category android:name="com.iUnity.angryBots" />
</intent-filter>
</receiver>

<service android:name="com.kth.baasio.startup.gcm.GCMIntentService" />
...
</application>

gcm관련 permission 설정을 추가 합니다.

<permission
android:name="com.kth.baasio.startup.permission.C2D_MESSAGE"
android:protectionLevel="signature" />

<uses-permission android:name="com.kth.baasio.startup.permission.C2D_MESSAGE" />

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />

이렇게해서 기본 설정이 완료됩니다.

두번째 방법을 응용하여 구현된 AngryBot의 프로젝트를 아래의 위치에 구현해 놓았습니다.
개발하시는데 참고가 되길 기대합니다.

https://github.com/breadval/baas.io-Unity3D-AngryBots-android

감사합니다.
by breadval

'유니티 > Note' 카테고리의 다른 글

부모 오브젝트 변경(SetParent)  (0) 2015.01.02
자기 자신의 컴포넌트 혹은 그 위 부모의 컴포넌트 반환(제네릭)  (0) 2015.01.02
bassio  (0) 2014.12.23
강좌  (0) 2014.12.19
게임 매니저에서 사운드 관리하기.  (0) 2014.12.03
php 유니티 랭킹  (0) 2014.12.03
Trackback 0 And Comment 0