목차

반응형

유니티 모펍 페이스북 광고 네트워크를 연동하기 위해서는 여러가지 조건이 필요한데 기억나는대로 적겠다.



facebook이 테스트 사용자 휴대폰에 설치되어있어야하며 광고 관리자 계정과 동일한 계정으로 로그인이 되어있어야함



모펍에서 추가한 페이스북 네트워크의 placement ID와 페이스북에서 제공해준 placement ID가 동일해야함


SDK가 잘 연동되어있어야함(jar, aar)

필자의 경우 2개의 라일브러리를 설치하였음 AudienceNetwork.aar, mopub-facebookaudiencenetwork-adapters-5.1.0.0.jar


주의할것은 다른 광고 연동을 하다보니

com.android.support.support-compat-26.1.0

com.android.support.support-core-ui-26.1.0

com.android.support.recyclerview-v7-26.1.0.aar

이런것들(필수 라이브러리가 꽤 많더라 한 7개였나? 라이브러리 관련해서 똥빠지게 뒤지다보면 이거 모아놓은것을 쉽게 찾을 수 있음)은 기본적으로 설치가 되어있다는 가정하에 말하는거임 얘네들 없고 위에 2개만 설치한다고해서 광고가 돌아가지는 않을거임


C:\jump\Assets\MoPub\Plugins\Android\MoPub.plugin\libs 아래에

mopub-facebookaudiencenetwork-adapters-5.1.0.0.jar 파일 다운로드 링크

C:\jump\Assets\Plugins\Android 아래에

AudienceNetwork.aar 다운로드 링크


최신파일을 받으려면 아래 사이트에서 참고


라이브러리를 제대로 설치안하면 아래와 같은 경고가 나오더라


로그캣에서 facebook으로 검색해보면 아래와 같은 로그가 나타난다.

01-27 15:35:52.347 8681-8762/? W/MoPub: Class not found for attempted network adapter class name: com.mopub.mobileads.GooglePlayServicesAdvancedBidder

    Class not found for attempted network adapter class name: com.mopub.mobileads.FacebookAdvancedBidder

01-27 15:35:52.349 8681-8762/? W/MoPub: Class not found for attempted network adapter class name: com.mopub.mobileads.FacebookAdvancedBidder

01-27 15:35:52.353 8681-8681/? W/MoPub: Ignoring unknown class name com.mopub.mobileads.FacebookRewardedVideo

01-27 15:35:52.406 8681-8681/? W/MoPub: Ignoring unknown class name com.mopub.mobileads.FacebookRewardedVideo

01-27 15:35:54.094 8681-8681/? D/MoPub: Attempting to invoke custom event: com.mopub.mobileads.FacebookBanner

    Couldn't locate or instantiate custom event: com.mopub.mobileads.FacebookBanner.

01-27 15:35:54.160 8681-8681/? E/MoPub: Couldn't create custom event with class name com.mopub.mobileads.FacebookRewardedVideo

01-27 15:35:54.981 8681-8681/? E/MoPub: Couldn't create custom event with class name com.mopub.mobileads.FacebookRewardedVideo


com.mopub.mobileads.FacebookAdvancedBidder 이 파일이 없어서 생긴 오류임을 알 수 있다.

2019 1월 27일 기준 아래 링크에서 최신파일을 받을 수 있다

링크


해당 jar파일은 아래 경로에 넣어주도록 한다

Assets\MoPub\Plugins\Android\MoPub.plugin\libs


본인의 기기가 광고 테스트 기기에 등록이 되어있어야함

일단 광고테스트를 하다보면 본인의 기기가 테스트 기기 등록이 안되어있을경우 아래와 같은 로그가 나옴

01-27 15:45:30.419 11298-11298/? D/AdInternalSettings: Test mode device hash: 10259d71-ed3d-435d-8580-3f5401de6b25

    When testing your app with Facebook's ad units you must specify the device hashed ID to ensure the delivery of test ads, add the following code before loading an ad: AdSettings.addTestDevice("10259d71-ed3d-435d-8580-3f5401de6b25");

저 해쉬를 복사해서 테스트 기기로 등록해주자



여기까지해서 테스트 디버깅이 잘 된다면 이제 한시름 덜었다

에러가 발생하면 에러원인을 잘 알려주니까 말이다(진짜 욕이 안나올수가없다 페북 광고연동 너무 불친절해 xxx들아)


오른쪽에 no fill 원인 링크를 찾아 들어가면 자세하게 원인을 알려준다.


나는 배너광고는 잘 뜨는데 아래와 같은 로그가 발생했다.

Rejecting re-init on previously-failed class java.lang.Class<ul>: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/webkit/SafeBrowsingResponse;

찾아보니까 광고에 영향을 주는 에러는 아니라고 한다.(실제로 광고는 정상적으로 호출되는데 로그가 남았었음)


MoPub.InitializeSdk는 한번만 해야한다.

잘 모르고 MoPub.InitializeSdk를 동영상광고 한번 배너광고 한번 따로따로 해줬는데 그렇게하면 오류는 발생하지 않지만 설정하는 과정에서 이후에 설정한 MoPub.InitializeSdk값이 제대로 반영이 되지 않는다.

// NOTE: the MoPub SDK needs to be initialized on Start() to ensure all other objects have been enabled first.


반응형