PLUG FAQ_개발 적용

[Android] Target SDK Version 을 28 이상으로 올릴 경우에 크래시가 발생해요.

AndroidManifest 파일에 아래 문구를 추가해주세요 (스크린샷에 위치 참고 부탁드립니다)

<application> </application> 태그 안에 넣어야 합니다.

 <uses-library android:name="org.apache.http.legacy" android:required="false" />

[공통] Client ID를 제대로 입력했는데, SDK에서 로그인이 되지 않습니다. 이런 현상이 특정 계정에 한하여 발생합니다.

SDK의 정상적인 사용을 위해서는 반드시 Client ID 발급 및 연동이 선행되어야 합니다.그러나 제휴, Client ID 발급 및 입력 등의 선행 작업을 거치지 않고, 바로 로그인을 시도하는 경우가 있는데요,이 경우 해당 계정으로는 정상적인 서비스 이용이 불가능합니다. (로그인 불가)로그인 시도한 계정에 남아 있는 Scope를 제거해야 정상적으로 로그인하여 서비스를 이용할 수 있습니다. 해결 방안은 다음과 같습니다.

※ PC 기준, 1. 로그인 후 네이버 메인 우측 상단 영역의 MY 영역 > '내 정보' 클릭

2. 상단 탭 '보안 설정' 클릭​

3. '보안 설정' 페이지 하단 '외부 사이트 연결' > [확인하기]

4. 테스트 중인 게임의 연결을 제거

[공통] 로그인 시도 시에 아래와 같은 화면이 나오면서 로그인 되지 않아요.

개발중에 아래와 같이 로그인이 안되는 문의를 주시는 경우가 있습니다.

해당 문제는 Android 패키지 이름, iOS URL Scheme과 내 어플리케이션의 내용이 동일하지 않은 경우 발생합니다. 상기 이미지의 박스친 영역 내 입력값을 내 애플리케이션 입력값과 동일하게 적용 부탁 드립니다.

iOS프로젝트에 URL Scheme이 여러개인 경우 아래와 같은 API 호출이 필요합니다

[[NCSDKLoginManager getSharedInstance] setNaverLoginURLScheme:@"gLinkSample"];

[Android] Android Pie 버전에서 비디오 재생이 되지 않아요.

이유는 안드로이드 9.0 에서 TLS 를 쓰도록 강제하고 있기 때문인데요. 아직 웹 등에서는 이미지, 비디오 등에서 Http 를 사용하고 있기 때문에 요청에 대한 응답이 오지 않을 수 있습니다. 첫번째 방법은 아래와 같이 AndroidManifest 파일에서 usesCleartextTraffic 을 true 로 설정하면 됩니다.

다른 방법으로는 만약 network_security_config 를 사용하고 계시다면 아래와 같이 manifest 에 networkSecurityConfig="@xml/network_security_config"를 설정하신 후에 해당 파일에 아래와 같이 cleartextTrafficPermitted="true" 를 설정해주시면 됩니다.

[공통] 플러그 실행 시에 국내 카페만 표시되고 있습니다.

국내/글로벌 공통으로 쓰는 게임에서 국내만 표시되고 있다면 글로벌 초기화가 빠져있는 경우가 많습니다. initGlobal 을 호출하여서 글로벌도 초기화되게 해주세요.

[iOS] SDK에서 네이버 로그인이 되지 않아요.

1. iOS 9. canOpenUrl 이 정상적으로 호출되지 않는 이슈.

NaverCafeSDK 로그인은 네아로(네이버 아이디로 로그인)를 사용합니다. 네이버 앱이 설치되어 있을 경우 '네이버 앱의 간편 로그인'을 사용하게 되는데 iOS 9부터는 호출할 수 있는 앱을 등록해 줘야 합니다. 랩의 plist 에서 다음과 같은 항목을 추가해야합니다.

<key>LSApplicationQueriesSchemes</key>
<array>  
    <string>naversearchapp</string>  
    <string>naversearchthirdlogin</string>
</array>

더 자세한 사항은 네아로 개발자 가이드를 확인해주세요. https://nid.naver.com/devcenter/docs.nhn?menu=IOS

2. 네아로 URL Scheme 미등록 네아로 등록시 설정하였던 URL Scheme 을 Xcode 프로젝트에 등록하지 않았을 경우, 로그인이 제대로 작동하지 않습니다. Info -> URL Types 항목에서 URL Schemes 를 추가합니다.

아래 부분도 체크하시고 위 항목까지 하였는데 로그인이 되지 않는다면 초기화시 ​[[NCSDKLoginManager getSharedInstance] setNaverLoginURLScheme:@"설정된 스킴값"];​이 인터페이스를 호출하거나​ 네아로의 URL Scheme 을 최상단으로 올려서 확인 부탁 드립니다. ​

https://plug-guide.gitbook.io/doc/plug-faq#undefined

[Unreal][iOS] 세로 모드에서 가로 모드 UI 가 노출됩니다.

IOSCafeSdk.cpp
- (void)setSDKInfoWithClientId:(NSString *)clientId clientSecret:(NSString *)clientSecret cafeId:(NSInteger)cafeId;
- (void)setGlobalConsumerKey:(NSString *)globalConsumerKey globalConsumerSecret:(NSString *)globalConsumerSecret globalCommunityNo:(NSInteger)globalCommunityNo globalLoungeNo:(NSInteger)globalLoungeNo;

위의 두 함수에서 사용중인 setOrientationIsLandscape api를 NO로 세팅하면 portrait UI가 보여집니다 ..

BEFORE

[[NCSDKManager getSharedInstance] setOrientationIsLandscape:YES];

AFTER

[[NCSDKManager getSharedInstance] setOrientationIsLandscape:NO];

[공통] Plug.game (이전 글로벌 커뮤니티) 를 이용 중이었는데 4.X 버전에서 실행되지 않아요.

plug.game 은 4.X 버전은 지원하지 않고 있습니다. 아쉽지만 3.X 버전까지만 지원하고 신규 게임은 moot.us 와 연동되는 4.X 로 연결됩니다.

[Unity][Android] 유니티 안드로이드에서 Mutidex 문제가 발생합니다.

많은 라이브러리를 추가 하다 보면 가끔 생기는 이슈 입니다. multiDex로 설정을 하여 빌드를 해야 할 거 같습니다. 자세한 내용은 아래 링크를 참조 하시면 될 거 같습니다.

https://developer.android.com/studio/build/multidex.html

unity multi dex 참고 사이트

http://developers.kongregate.com/blog/dealing-with-the-64k-method-limit-in-your-unity3d-gamehttps://www.reddit.com/r/Unity3D/comments/3zv91o/android_build_dex_issues_please_help_xpost_unity2d/

만약 위 사항을 참고해도 해결이 되지 않는다면 아래 방법을 시도 부탁드립니다. 사용하는 유니티 버전에 따라 다를 수 있지만 아래 링크 사례를 통해 해결된 부분이 있어 공유 드립니다. https://appmediation.com/unity-enable-multidex/ 파일은 샘플에서 뽑은 것인데 이 파일은 밑의 프로젝트 경로에 넣으면 Gradle 을 로컬 설정할 수 있습니다.

첨부 파일과 같이 MultiDex 등을 설정해주세요유니티 프로젝트에 Assets/Plugins/Android/ 경로에 첨부 파일을 넣어서 빌드 확인 부탁드립니다.

Build System - Gradle(New) 선택

아래 경로에 첨부 파일을 넣으면 Gradle 이 로컬 껄 사용하게 되어 있습니다. 첨부의 파일을 복사하여 확인 부탁드리겠습니다.

첨부 파일은 아래와 같은 구조인데요멀티 덱스 및 플러그 빌드 관련된 내용은 아래와 같습니다. 아래 부분을 현재 프로젝트 구조에 맞게 넣으시고 확인 부탁드립니다.

compile 'com.android.support:multidex:1.0.1'

multiDexEnabled true

packagingOptions {
        exclude 'AndroidManifest.xml'
        exclude 'META-INF/maven/com.nhncorp.nelo2.android/nelo2-android-sdk/pom.xml'
        exclude 'META-INF/maven/com.nhncorp.nelo2.android/nelo2-android-sdk/pom.properties'
    }

[공통] 입력하신 아이디로 로그인할 수 없습니다.

게임이 개발 중인 상태라고 뜨며, 아래처럼 로그인을 할 수 없습니다.

네이버 개발자 센터에서 상태값을 변경하셔야 합니다.

네이버개발자센터( https://developers.naver.com ) 에서'내 애플리케이션 > 설정 > 애플리케이션 개발 상태'값을 '개발중'에서 '서비스 적용'으로 변경해주세요.

[Android] minSDK 버전이 낮아 컴파일이 되지 않습니다.

현재 카페 플러그를 적용하기 위하여,16이전을 지원하는 게임은 아래 절차로 진행해주세요. 1) aar 파일의 확장자를 zip으로 변경한 후 압축을 풀어 AndroidManifest.xml 파일의 minSdkVersion을 수정합니다.

2) 다시 zip으로 압축한 후 파일확장자를 aar로 변경합니다.3) 16이상인 버전만 카페 SDK에 진입할 수 있도록 분기처리를 합니다.

[iOS] AFNetworking 관련 크래쉬가 발생합니다.

AFNetworking 관련 라이브러리에서 발생하는 EXC_BAD_ACCESS A.저희 서비스는 ARC를 사용하여 개발되었습니다.ARC를 사용하지 않는 프로젝트에서는라이브러리 모든 파일에 -fobjc-arc 옵션을 추가해 주셔야 합니다.

Last updated