inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Học cách đóng gói ứng dụng lai chỉ bằng Javascript

Áp dụng giải pháp Onesignal và dịch vụ đẩy Android

onesignal 연동 시 black screen

292

noasand1951

1 câu hỏi đã được viết

1

window.plugins.OneSignal.setAppId();

위 코드 입력 시 화면이 black screen으로 표시됩니다.

하지만 onesignal 연동도 잘되고 푸시 메시지 발송되 잘 됩니다.

원인이 무엇일까요? android 구버전과 최신버전 모두에서 그렇습니다.

javascript ios android 하이브리드-앱 cordova

Câu trả lời 2

1

yellowin

안녕하세요. 답변이 늦었습니다.
답변을 자체 등록을 하셨는데요.

"setAppId 선언을 onDeviceReady 함수 내에서 하지 않고..." 라고 답변다신 내용과는 상관관계가 없습니다만, 해결되셨다고 하니~ 다행입니다.

함수를 바깥으로 빼서 호출는건 차이가 없는데~ 이상하네요. ^^;
참고로 제가 현재도 매주 1개이상씩 계속 원시그널을 사용해 앱을 만들고 있지만~ 말씀하신 오류가 발생한적이 한번도 없습니다.
아래처럼 플러그인 버전에 따른 구문오류일수도 있으니 참고부탁드립니다.

----------------------------------------------------------------------------------------
cordova 원시그널 플러그인의 최신버전은 현재 5.1.x 버전이며~
appid 설정의 초기코드는 아래입니다.
window.plugins.OneSignal.initialize("YOUR_ONESIGNAL_APP_ID");

이전 old버전의 초기코드는 아래이구요.(강의영상에는 아래로 적용되어 있을겁니다.)
window.plugins.OneSignal.setAppId("YOUR_ONESIGNAL_APP_ID");

터미널창에서 아래 명령어로 원시그널 플러그인 버전을 확인하시고~ 5.1.0 이상의 버전이라면 위내용 참고하시면 될것 같습니다.
cordova plugin ls

5.1.0 이상의 버전이라면 아래처럼 원시그널 document 가이드 페이지에 예제소스가 나오니 참고하시면 됩니다.
참고 url : https://documentation.onesignal.com/docs/ionic-capacitor-cordova-sdk-setup

1

noasand1951

setAppId 선언을 onDeviceReady 함수 내에서 하지 않고 별도 함수를 선언하여 호출하니 에러가 해결되네요....

같은 오류 있으신 분들 참고하세요 ㅠㅠ

 

document.addEventListener('deviceready', onDeviceReady, false);
var ref = '';
function onDeviceReady() {
    var url = 'file:///android_asset/www/test.html';
  
    OneSignalInit();
}
function OneSignalInit() {
    window.plugins.OneSignal.setAppId('ㅇㅇㅇㅇㅇㅇ');
    window.plugins.OneSignal.setNotificationOpenedHandler(function(jsonData) {
        console.log('notificationOpenedCallback: ' + JSON.stringify(jsonData));
    });
    
    window.plugins.OneSignal.promptForPushNotificationsWithUserResponse(function(accepted) {
        console.log("User accepted notifications: " + accepted);
    });
}

3강 질문

0

18

1

74. 데이터 캐시 - 1 (이론) 강의 영상 누락

0

29

1

2강 nodejs 3단계 설명 질문

0

34

1

imagesLoaded에 관한 질문

0

19

2

useEffect와 lifecycle문의

0

27

2

프론트엔드 학습 수준 문의

0

39

2

리액트 챕터별 코드에서 eslint 설정파일이 없어요

0

48

2

최근 코테, 과제 테스트 트렌드

0

69

2

6강에 비디오가 이상해요

0

27

2

lucide react 아이콘 설치

0

46

2

Isar 마지막 업데이트는 2년전입니다.

0

31

0

17강 zustand store 서버에서 생성

1

37

1

진입 여부 판단 기준 질문

0

77

3

피그마 first draft 기능 질문

0

49

3

수강 기간 연장 문의

0

28

1

upup 질문

0

59

2

data.ai 필터링 검색이 안됩니다!

0

47

1

앱 리텐션에 대한 질문

0

50

2

수강연장부탁드려도될까요..

0

42

2

문의관련 문의

0

44

2

next.js 를 2대이상 실행하는 경우 제공하는 cache 기능들은 어떻게 되나요?

0

57

2

76. 전문성 더하기: 놓치면 아쉬운 관련 기술들 수업 자료가 없어요.

0

48

2

onesignal 연동 확인 부탁드립니다!

0

453

2

코르도바와 다른 프로젝트 연동 질문입니다.

0

598

1