Cocos2d-x 플러그인 연동가이드
1 Cocos2d-x 패키지 다운로드(AOS/IOS 공통)
Cocos2d-x 플러그인 패키지를 다운로드 해주세요. 패키지 다운로드
2. 공통 설정(AOS/IOS 공통)
2.1 Classes 파일 삽입
Cocos2dx 프로젝트의 Classes 폴더에 다운로드 받은 패키지의 Classes 폴더에 들어있는 파일을 복사해 주세요.
(Dop.cpp
, Dop.h
, jsoncpp.cpp
, json/json.h
, json/json-forwards.h
)
2.2 Classes 파일 설정
Cocos2dx 프로젝트의 CMakeLists.txt
파일에 소스파일
과 헤더파일
을 선언해 주세요.
CopyBAT1list(APPEND GAME_SOURCE2 Classes/Dop.cpp3 Classes/jsoncpp.cpp4 )5list(APPEND GAME_HEADER6 Classes/Dop.h7 Classes/json/json.h8 Classes/json/json-forwards.h9 )
2.3 헤더 파일 추가
SDK를 사용하는 .cpp 파일에서 Dop.h
파일을 include
해주세요.
CopyC1#include "Dop.h"
3. Android 설정
3.1 wisetracker-cocos.jar 삽입
다운로드 받은 패키지 폴더의 proj.android/libs/wisetracker-cocos.jar
파일을 안드로이드 스튜디오 Project/app/libs
폴더에 삽입해 주세요.
3.2 SDK Download
Android 프로젝트 app/build.gradle
파일 dependencies
블록에 의존성을 추가해 주세요.
CopyGRADLE1dependencies {2 implementation fileTree(dir: 'libs', include: ['*.jar'])3 ....4 implementation 'com.sdk.wisetracker.base:base_module:1.0.25'5 implementation 'com.sdk.wisetracker.new_dot:new_dot_module:1.0.25'6}
3.3 SDK 설정
3.3.1 AuthorizationKey 등록
프로젝트의 app/res/values/strings.xml 파일에 아래 코드를 추가합니다.
CopyXML1<string-array name="dotAuthorizationKey">2 <item name="useMode">1</item>3 <item name="serviceNumber">xxxxx</item>4 <item name="expireDate">14</item>5 <item name="isDebug">false</item>6 <item name="isInstallRetention">true</item>7 <item name="isFingerPrint">true</item>8 <item name="accessToken"></item>9</string-array>
추가한 코드 중 serviceNumber
의 value를 올바른 값으로 변경해야 합니다. 와이즈트래커에 로그인하여 화면 상단의 Service 부분을 선택하면 앱 이름과 함께 올바른 Service Number 가 나타납니다. Service No. 옆의 숫자를 복사하여 serviceNumber
의 value로 입력해주세요.
3.3.2 Http 통신 허용 설정
프로젝트의 Target API 28 이상
일 경우 Http 통신 허용을 추가해 주세요.
CopyXML1<!-- AndroidManifest.xml -->2<application3 android:icon="@mipmap/ic_launcher"4 android:label="@string/app_name"5 android:networkSecurityConfig="@xml/network_security_config"6 android:theme="@style/AppTheme">
CopyXML1<!-- app/res/xml/network_security_config.xml -->2<?xml version="1.0" encoding="utf-8"?>3<network-security-config>4 <domain-config cleartextTrafficPermitted="true">5 <domain includeSubdomains="true">trk.analytics.wisetracker.co.kr</domain>6 </domain-config>7</network-security-config>
3.4 SDK 초기화
Cocos2dxActivity
를 상속받는 AppActivity의 onCreate()
함수에 적용해 주세요
CopyJAVA1public class AppActivity extends Cocos2dxActivity {2 @Override3 protected void onCreate(Bundle savedInstanceState) {4 // SDK 호출5 DOT.open("Cocos2d-x");6 DOT.initialization(this);7 }8}
3.5 유입 경로 분석
3.5.1 딥링크 분석
딥링크
를 통해 앱이 실행되는 경로 분석
이 필요한 경우 적용해 주세요.
딥링크 설정
AndroidManifest.xml
파일에서 앱의 환경에 맞춰 딥링크로 오픈되는 Activity
의 android:host
, android:scheme
값을 변경해 주세요.
CopyXML1<!-- 예시는 wisetracker://wisetracker.co.kr 링크로 진입시 딥링크 분석이 가능 -->2<activity android:name="com.sdk.wisetracker.cocos.DeepLinkActivity"3 android:launchMode="singleTop" >4 <intent-filter>5 <action android:name="android.intent.action.VIEW" />6 <category android:name="android.intent.category.DEFAULT" />7 <category android:name="android.intent.category.BROWSABLE" />8 <!-- 딥링크로 진입될 스키마와 호스트 정보 수정 -->9 <data android:host="wisetracker.co.kr"10 android:scheme="wisetracker" />11 </intent-filter>12</activity>
4. iOS 설정
4.1 CouchbaseLite.framework, GameController.framework, MediaPlayer.framework 추가
제공한 CouchbaseLite.framework파일을 Targets - General - Frameworks, Libraries, and embedded Content 메뉴에 Embed & Sign옵션으로 추가합니다.
기본 제공되는 GameController.framework, MediaPlayer.framework 도 추가해줍니다.
4.2 Other Linker Flag -ObjC 옵션 추가
Tagets - Build Settings - Other Linker Flags에 -ObjC 옵션을 추가합니다.
4.3 info.plist 세팅
info.plist 파일을 Open As Source Code 방식으로 오픈한 후, 아래 코드를 추가합니다.
CopyXML1<key>dotAuthorizationKey</key>2<dict>3 <key>serviceNumber</key>4 <string>xxxxx</string>5 <key>expireDate</key>6 <string>14</string>7 <key>isDebug</key>8 <string>true</string>9 <key>isInstallRetention</key>10 <string>true</string>11 <key>isFingerPrint</key>12 <string>true</string>13 <key>accessToken</key>14 <string></string>15 <key>useMode</key>16 <string>2</string>17</dict>
추가한 코드 중 serviceNumber
의 value를 올바른 값으로 변경해야 합니다. 와이즈트래커에 로그인하여 화면 상단의 Service 부분을 선택하면 앱 이름과 함께 올바른 Service Number 가 나타납니다. Service No. 옆의 숫자를 복사하여 serviceNumber
의 value로 입력해주세요.
http통신을 허용하기 위해 NSAppTransportSecurity 를 아래와 같이 추가합니다
CopyXML1<key>NSAppTransportSecurity</key>2<dict>3 <key>NSAllowsArbitraryLoads</key>4 <true/>5</dict>
4.4 SDK 초기화
AppDelegate.cpp에 Dop.h 헤더파일을 include 해주세요
CopyCPP1#include "Dop.h"
AppDelegate.cpp의 applicationDidFinishLaunching 함수에 아래와 같이 추가해주세요.
CopyCPP1DOTBridge::initialization();