커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
5-3 AdMob설정의 메인하단배너 실행 후에 ERROR
[왕초보] 나만의 수익성 앱, 앱개발 종합반
5주차
북마크
안*호
댓글
5
추천
0
조회수
21
조회수
21
답변 완료


app.json과 MainPage에서 ID입력 후 실행시 ERROR가 발생하였습니다.

핸드폰 화면에서도 초기 Loading화면까지 나오고 바로 오류화면이 나타납니다.



스파르타 즉문즉답




작성한 코드 및 에러 메세지

The native view manager required by name (ExpoAdsPublisherBannerView) from NativeViewManagerAdapter isn't exported by expo-modules-core. Views of this type may not render correctly. Exported view managers: [ExpoLinearGradient, ExpoBarCodeScannerView, ExpoVideoView, ExponentGLView, ExponentCamera].

at node_modules\expo\build\environment\react-native-logs.fx.js:null in warn

at node_modules\expo-modules-core\build\NativeViewManagerAdapter.native.js:null in requireNativeViewManager

at node_modules\expo-ads-admob\build\PublisherBanner.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at node_modules\expo-ads-admob\build\index.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at pages\MainPage.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at navigation\StackNavigator.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at App.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at node_modules\expo\AppEntry.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at node_modules\metro-runtime\src\polyfills\require.js:null in guardedLoadModule

at http://218.53.102.238:19000/node_modules%5Cexpo%5CAppEntry.bundle?platform=android&dev=true&hot=false&strict=false&minify=false:null in global code


The native view manager required by name (ExpoAdsAdMobBannerView) from NativeViewManagerAdapter isn't exported by expo-modules-core. Views of this type may not render correctly. Exported view managers: [ExpoLinearGradient, ExpoBarCodeScannerView, ExpoVideoView, ExponentGLView, ExponentCamera].

at node_modules\expo\build\environment\react-native-logs.fx.js:null in warn

at node_modules\expo-modules-core\build\NativeViewManagerAdapter.native.js:null in requireNativeViewManager

at node_modules\expo-ads-admob\build\AdMobBanner.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at node_modules\expo-ads-admob\build\index.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at pages\MainPage.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at navigation\StackNavigator.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at App.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at node_modules\expo\AppEntry.js:null in <global>

at node_modules\metro-runtime\src\polyfills\require.js:null in loadModuleImplementation

at node_modules\metro-runtime\src\polyfills\require.js:null in guardedLoadModule

at http://218.53.102.238:19000/node_modules%5Cexpo%5CAppEntry.bundle?platform=android&dev=true&hot=false&strict=false&minify=false:null in global code


파이어베이스에서 데이터 가져왔습니다!!


Invariant Violation: requireNativeComponent: "ViewManagerAdapter_ExpoAdsAdMobBannerView" was not found in the UIManager.


This error is located at:

  in ViewManagerAdapter_ExpoAdsAdMobBannerView

  in Adapter<ExpoAdsAdMobBannerView> (created by AdMobBanner)

  in RCTView (at View.js:32)

  in View (created by AdMobBanner)

  in AdMobBanner (at MainPage.js:157)

  in RCTView (at View.js:32)

  in View (at ScrollView.js:1682)

  in RCTScrollView (at ScrollView.js:1800)

  in ScrollView (at ScrollView.js:1826)

  in ScrollView (at MainPage.js:121)

  in MainPage (at SceneView.tsx:132)

  in StaticContainer

  in EnsureSingleNavigator (at SceneView.tsx:124)

  in SceneView (at useDescriptors.tsx:217)

  in RCTView (at View.js:32)

  in View (at CardContainer.tsx:281)

  in RCTView (at View.js:32)

  in View (at CardContainer.tsx:279)

  in RCTView (at View.js:32)

  in View (at CardSheet.tsx:33)

  in CardSheet (at Card.tsx:557)

  in RCTView (at View.js:32)

  in View (at createAnimatedComponent.js:211)

  in AnimatedComponent (at createAnimatedComponent.js:264)

  in AnimatedComponentWrapper (at Card.tsx:536)

  in PanGestureHandler (at GestureHandlerNative.tsx:14)

  in PanGestureHandler (at Card.tsx:530)

  in RCTView (at View.js:32)

  in View (at createAnimatedComponent.js:211)

  in AnimatedComponent (at createAnimatedComponent.js:264)

  in AnimatedComponentWrapper (at Card.tsx:526)

  in RCTView (at View.js:32)

  in View (at Card.tsx:520)

  in Card (at CardContainer.tsx:219)

  in CardContainer (at CardStack.tsx:661)

  in RNSScreen (at createAnimatedComponent.js:211)

  in AnimatedComponent (at createAnimatedComponent.js:264)

  in AnimatedComponentWrapper (at src/index.native.tsx:257)

  in MaybeFreeze (at src/index.native.tsx:256)

  in Screen (at Screens.tsx:37)

  in MaybeScreen (at CardStack.tsx:654)

  in RNSScreenContainer (at src/index.native.tsx:332)

  in ScreenContainer (at Screens.tsx:20)

  in MaybeScreenContainer (at CardStack.tsx:566)

  in RCTView (at View.js:32)

  in View (at Background.tsx:13)

  in Background (at CardStack.tsx:564)

  in CardStack (at StackView.tsx:437)

  in RNCSafeAreaProvider (at SafeAreaContext.tsx:87)

  in SafeAreaProvider (at SafeAreaProviderCompat.tsx:46)

  in SafeAreaProviderCompat (at StackView.tsx:430)

  in RNGestureHandlerRootView (at GestureHandlerRootView.android.tsx:23)

  in GestureHandlerRootView (at StackView.tsx:429)

  in StackView (at createStackNavigator.tsx:121)

  in PreventRemoveProvider (at useNavigationBuilder.tsx:696)

  in NavigationContent (at useComponent.tsx:35)

  in Unknown (at createStackNavigator.tsx:120)

  in StackNavigator (at StackNavigator.js:22)

  in StackNavigator (at App.js:19)

  in EnsureSingleNavigator (at BaseNavigationContainer.tsx:430)

  in BaseNavigationContainer (at NavigationContainer.tsx:132)

  in ThemeProvider (at NavigationContainer.tsx:131)

  in NavigationContainerInner (at App.js:17)

  in App (created by ExpoRoot)

  in ExpoRoot (at renderApplication.js:50)

  in RCTView (at View.js:32)

  in View (at AppContainer.js:92)

  in RCTView (at View.js:32)

  in View (at AppContainer.js:119)

  in AppContainer (at renderApplication.js:43)

  in main(RootComponent) (at renderApplication.js:60)

at node_modules\expo\build\environment\react-native-logs.fx.js:null in error

at node_modules\react-native\Libraries\Core\ExceptionsManager.js:null in reportException

at node_modules\react-native\Libraries\Core\ExceptionsManager.js:null in handleException

at node_modules\react-native\Libraries\Core\ReactFiberErrorDialog.js:null in showErrorDialog

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in logCapturedError

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in update.callback

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in callCallback

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in commitUpdateQueue

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in commitLayoutEffectOnFiber   

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in commitLayoutMountEffects_complete

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in commitLayoutEffects_begin   

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in commitLayoutEffects

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in commitRootImpl

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in commitRoot

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in performSyncWorkOnRoot

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in flushSyncCallbacks

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in flushSyncCallbacksOnlyInLegacyMode

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in scheduleUpdateOnFiber

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in dispatchSetState

at pages\MainPage.js:null in firebase_db.ref.once.then$argument_0

at node_modules\promise\setimmediate\core.js:null in tryCallOne

at node_modules\promise\setimmediate\core.js:null in setImmediate$argument_0

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _allocateCallback$argument_0

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _callTimer

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _callReactNativeMicrotasksPass

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in callReactNativeMicrotasks

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in __callReactNativeMicrotasks

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in __guard$argument_0

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in __guard

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in flushedQueue


[Unhandled promise rejection: Invariant Violation: requireNativeComponent: "ViewManagerAdapter_ExpoAdsAdMobBannerView" was not found in the UIManager.]

at node_modules\invariant\browser.js:null in invariant

at node_modules\react-native\Libraries\ReactNative\getNativeComponentAttributes.js:null in getNativeComponentAttributes

at node_modules\react-native\Libraries\Renderer\shims\ReactNativeViewConfigRegistry.js:null in exports.get

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in createInstance

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in completeWork

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in completeUnitOfWork

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in performUnitOfWork

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in workLoopSync

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in renderRootSync

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in performSyncWorkOnRoot

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in flushSyncCallbacks

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in flushSyncCallbacksOnlyInLegacyMode

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in scheduleUpdateOnFiber

at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:null in dispatchSetState

at pages\MainPage.js:null in firebase_db.ref.once.then$argument_0

at node_modules\promise\setimmediate\core.js:null in tryCallOne

at node_modules\promise\setimmediate\core.js:null in setImmediate$argument_0

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _allocateCallback$argument_0

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _callTimer

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in _callReactNativeMicrotasksPass

at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:null in callReactNativeMicrotasks

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in __callReactNativeMicrotasks

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in __guard$argument_0

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in __guard

at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:null in flushedQueue


Object {

 "coords": Object {

  "accuracy": 20,

  "altitude": 33.900001525878906,

  "altitudeAccuracy": 2.8939483165740967,

  "heading": 0,

  "latitude": 35.3161283,

  "longitude": 129.006219,

  "speed": 0,

 },

 "mocked": false,

 "timestamp": 1664200205252,

}

35.3161283

129.006219

Object {

 "config": Object {

  "adapter": [Function xhrAdapter],

  "data": undefined,

  "env": Object {

   "FormData": null,

  },

  "headers": Object {

   "Accept": "application/json, text/plain, */*",

  },

  "maxBodyLength": -1,

  "maxContentLength": -1,

  "method": "get",

  "timeout": 0,

  "transformRequest": Array [

   [Function transformRequest],

  ],

  "transformResponse": Array [

   [Function transformResponse],

  ],

  "transitional": Object {

   "clarifyTimeoutError": false,

   "forcedJSONParsing": true,

   "silentJSONParsing": true,

  },

  "url": "http://api.openweathermap.org/data/2.5/weather?lat=35.3161283&lon=129.006219&appid=cfc258c75e1da2149c33daffd07a911d&units=metric",

  "validateStatus": [Function validateStatus],

  "xsrfCookieName": "XSRF-TOKEN",

  "xsrfHeaderName": "X-XSRF-TOKEN",

 },

 "data": Object {

  "base": "stations",

  "clouds": Object {

   "all": 0,

  },

  "cod": 200,

  "coord": Object {

   "lat": 35.3157,

   "lon": 129.0112,

  },

  "dt": 1664200138,

  "id": 1832828,

  "main": Object {

   "feels_like": 20.1,

   "humidity": 77,

   "pressure": 1016,

   "temp": 20.03,

   "temp_max": 20.03,

   "temp_min": 20.03,

  },

  "name": "Yangsan",

  "sys": Object {

   "country": "KR",

   "id": 8086,

   "sunrise": 1664140467,

   "sunset": 1664183788,

   "type": 1,

  },

  "timezone": 32400,

  "visibility": 10000,

  "weather": Array [

   Object {

    "description": "clear sky",

    "icon": "01n",

    "id": 800,

    "main": "Clear",

   },

  ],

  "wind": Object {

   "deg": 30,

   "speed": 1.54,

  },

 },

 "headers": Object {

  "access-control-allow-credentials": "true",

  "access-control-allow-methods": "GET, POST",

  "access-control-allow-origin": "*",

  "connection": "keep-alive",

  "content-length": "464",

  "content-type": "application/json; charset=utf-8",

  "date": "Mon, 26 Sep 2022 13:50:07 GMT",

  "server": "openresty",

  "x-cache-key": "/data/2.5/weather?lat=35.32&lon=129.01&units=metric",

 },

 "request": XMLHttpRequest {

  "DONE": 4,

  "HEADERS_RECEIVED": 2,

  "LOADING": 3,

  "OPENED": 1,

  "UNSENT": 0,

  "_aborted": false,

  "_cachedResponse": undefined,

  "_hasError": false,

  "_headers": Object {

   "accept": "application/json, text/plain, */*",

  },

  "_incrementalEvents": false,

  "_lowerCaseResponseHeaders": Object {

   "access-control-allow-credentials": "true",

   "access-control-allow-methods": "GET, POST",

   "access-control-allow-origin": "*",

   "connection": "keep-alive",

   "content-length": "464",

   "content-type": "application/json; charset=utf-8",

   "date": "Mon, 26 Sep 2022 13:50:07 GMT",

   "server": "openresty",

   "x-cache-key": "/data/2.5/weather?lat=35.32&lon=129.01&units=metric",

  },

  "_method": "GET",

  "_perfKey": "network_XMLHttpRequest_http://api.openweathermap.org/data/2.5/weather?lat=35.3161283&lon=129.006219&appid=cfc258c75e1da2149c33daffd07a911d&units=metric",

  "_performanceLogger": PerformanceLogger {

   "_closed": false,

   "_extras": Object {},

   "_pointExtras": Object {},

   "_points": Object {

    "initializeCore_end": 1664200199985,

    "initializeCore_start": 1664200199926,

   },

   "_timespans": Object {

    "network_XMLHttpRequest_http://218.53.102.238:19000/logs": Object {

     "endExtras": undefined,

     "endTime": 1664200200593,

     "startExtras": undefined,

     "startTime": 1664200200567,

     "totalTime": 26,

    },

    "network_XMLHttpRequest_http://218.53.102.238:19000/symbolicate": Object {

     "endExtras": undefined,

     "endTime": 1664200200570,

     "startExtras": undefined,

     "startTime": 1664200200403,

     "totalTime": 167,

    },

    "network_XMLHttpRequest_http://api.openweathermap.org/data/2.5/weather?lat=35.3161283&lon=129.006219&appid=cfc258c75e1da2149c33daffd07a911d&units=metric": Object {

     "endExtras": undefined,

     "endTime": 1664200206961,

     "startExtras": undefined,

     "startTime": 1664200206706,

     "totalTime": 255,

    },

   },

  },

  "_requestId": null,

  "_response": "{\"coord\":{\"lon\":129.0112,\"lat\":35.3157},\"weather\":[{\"id\":800,\"main\":\"Clear\",\"description\":\"clear sky\",\"icon\":\"01n\"}],\"base\":\"stations\",\"main\":{\"temp\":20.03,\"feels_like\":20.1,\"temp_min\":20.03,\"temp_max\":20.03,\"pressure\":1016,\"humidity\":77},\"visibility\":10000,\"wind\":{\"speed\":1.54,\"deg\":30},\"clouds\":{\"all\":0},\"dt\":1664200138,\"sys\":{\"type\":1,\"id\":8086,\"country\":\"KR\",\"sunrise\":1664140467,\"sunset\":1664183788},\"timezone\":32400,\"id\":1832828,\"name\":\"Yangsan\",\"cod\":200}",

  "_responseType": "",

  "_sent": true,

  "_subscriptions": Array [],

  "_timedOut": false,

  "_trackingName": "unknown",

  "_url": "http://api.openweathermap.org/data/2.5/weather?lat=35.3161283&lon=129.006219&appid=cfc258c75e1da2149c33daffd07a911d&units=metric",

  "readyState": 4,

  "responseHeaders": Object {

   "Access-Control-Allow-Credentials": "true",

   "Access-Control-Allow-Methods": "GET, POST",

   "Access-Control-Allow-Origin": "*",

   "Connection": "keep-alive",

   "Content-Length": "464",

   "Content-Type": "application/json; charset=utf-8",

   "Date": "Mon, 26 Sep 2022 13:50:07 GMT",

   "Server": "openresty",

   "X-Cache-Key": "/data/2.5/weather?lat=35.32&lon=129.01&units=metric",

  },

  "responseURL": "http://api.openweathermap.org/data/2.5/weather?lat=35.3161283&lon=129.006219&appid=cfc258c75e1da2149c33daffd07a911d&units=metric",

  "status": 200,

  "timeout": 0,

  "upload": XMLHttpRequestEventTarget {},

  "withCredentials": true,

 },

 "status": 200,

 "statusText": undefined,

}

20.03

Clear

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴