안녕하세요!!
Ti 3.3 으로 개발중이구요
아… 허무하지만 3.3 버그인거같네요…
ti.cloudpush 3.2.1 로 변경해서 테스트해보니 정상 작동되네요 ㅠㅠㅠㅠ
… 하루종일 뭘 한건지 ㅠ_ㅠ…
다들 좋은 연휴 되세요~
2014-08-14 오후 6시 추가 내용…
제가 Alloy 로 개발을 하고있어서 정보가 부족한지… ㅠ_ㅠ…
오늘 하루종일 확인해본 결과 프로세서가 종료 되어있어도 푸쉬는 받아오는거 같긴 합니다…
허나 activity 가 없어서 인지… 뭔가 설정이 잘못되어서인지 푸시가 오지 못하고
어플을 실행하면 맛이 가있는 현상이 있네요… (unable to start receiver nullpointerexception 인것으로 예상됩니다.)
기존에 showTrayNotificationsWhenFocused 해당 옵션을 주지 않고 슬립모드에서 위의 에러가 떳었거든요…
방법이 잘못된건지…Tiapp 에는 별다른 설정을 하지 않았구요…
CloudPush.enabled = true;
CloudPush.showTrayNotificationsWhenFocused = true;
CloudPush.focusAppOnPush = flase;
로 설정해놓았습니다… 프로세서만 살아있다면 슬립모드일때도 문제없이 푸쉬가 오고있습니다…
서비스를 하는거면 어떤식으로 등록해야할지 감이 안잡히네요…
10초마다 인터벌 돌면서 푸쉬를 확인하는건지…;;
검색을 해도 별다른 설정이 없는것같아서 참 난감하네요…
–
iOS 는 문제가 안되는데요…
안드로이드같은 경우엔 어플을 완전히 종료해버리면(프로세서 종료) 푸쉬가 안오드라구요…
현재 ACS 를 이용하여 사용중입니다.
홈키 꾹 누르고 있으면 최근 사용한 앱 목록에 존재하면 푸쉬가 오고… 없으면 안오고… 어떡하는게 좋을까요…
옵션을 설정하는게 있는건지… ㅠㅠ…
다른분들은 이런 문제가 없으신가요…?
–
아 그리고 푸시 노피티케이션 목록에 있는걸 클릭하면 google+ 가 열리는데…
이것도 다른분들은 어떠신가요;;;; 노티피 클릭시 실행 어플을 지정할 수 있는건가요…!!!
3.2까진 정상 작동하던건데 3.3 버그인지…ㅠㅠ…
android의 경우 앱이 실행중이지 않은 상황에서 push를 받고자 하면 android의 service를 등록해놓고 push가 올경우 화면을 그려주는 것 까지 구현해야합니다. 해당 push 눌렀을 때 어떤일을 할지도 전부 구현해줘야합니다. titanium이라서가 아니라 android가 원래 이래요.
(ios의 경우는 이 모든 것을 알아서 해주죠…)
gcm 모듈을 이용해서 service 등록하는 예제입니다.
http://iamyellow.net/post/40100981563/gcm-appcelerator-titanium-module
이걸로 구현한 적은 있습니다.
acs의 cloudpush 모듈을 써보진 않았는데 여기서 알아서 해주진 않나요? cloudpush로 android push를 아직 써보진 않아서 cloudpush는 잘 모르겠네요.
알아서 해주지 않거나 좀 다른 방식으로 noti를 보여주고 싶다면 subscribe 관리는 acs로 하고 push 받는건 gcm으로 해도 될 겁니다… acs도 gcm을 이용하는 것이니까요.
acs로 구현한 적이 있는데 어플 종료시에도 잘왔습니다.
꺼진 화면에서 알림은 화면 출력은 서비스로 만들어야 해서 저도 포기했어요.
대신 소리와 진동으로 하면 그나마 알아차릴수 있습니다.
1개의 좋아요
헐… 어플 작동 종료가 아니라 프로세서를 완전히 종료해도 푸시가 작동했나요…?!
프로세서를 완전히 종료하니까 진동이든 뭐든 아무것도 안와서… 그냥 종료한거는 전혀 문제가 안되는데요 ㅠㅠ…
아 슬립모드에서도 동작이 안되는거같네요;;;;
전엔 됐던거같은데;;; 3.3 업하면서 슬립모드에서 푸쉬 받으면
[ERROR] : TiApplication: (main) [46657,47283] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to start receiver com.appcelerator.cloudpush.GCMReceiver: java.lang.NullPointerException; Titanium 3.3.0,2014/07/11 12:36,787cd39
[ERROR] : TiApplication: java.lang.RuntimeException: Unable to start receiver com.appcelerator.cloudpush.GCMReceiver: java.lang.NullPointerException
[ERROR] : TiApplication: at android.app.ActivityThread.handleReceiver(ActivityThread.java:2567)
[ERROR] : TiApplication: at android.app.ActivityThread.access$1800(ActivityThread.java:161)
[ERROR] : TiApplication: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
[ERROR] : TiApplication: at android.os.Handler.dispatchMessage(Handler.java:102)
[ERROR] : TiApplication: at android.os.Looper.loop(Looper.java:157)
[ERROR] : TiApplication: at android.app.ActivityThread.main(ActivityThread.java:5356)
[ERROR] : TiApplication: at java.lang.reflect.Method.invokeNative(Native Method)
[ERROR] : TiApplication: at java.lang.reflect.Method.invoke(Method.java:515)
[ERROR] : TiApplication: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
[ERROR] : TiApplication: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
[ERROR] : TiApplication: at dalvik.system.NativeStart.main(Native Method)
[ERROR] : TiApplication: Caused by: java.lang.NullPointerException
[ERROR] : TiApplication: at com.appcelerator.cloudpush.utils.APSProperties.(APSProperties.java:45)
[ERROR] : TiApplication: at com.appcelerator.cloudpush.Settings.props(Settings.java:45)
[ERROR] : TiApplication: at com.appcelerator.cloudpush.Settings.useSingleCallback(Settings.java:67)
[ERROR] : TiApplication: at com.appcelerator.cloudpush.APSCloudPush.receivePayload(APSCloudPush.java:229)
[ERROR] : TiApplication: at com.appcelerator.cloudpush.GCMReceiver.onReceive(GCMReceiver.java:31)
[ERROR] : TiApplication: at android.app.ActivityThread.handleReceiver(ActivityThread.java:2552)
[ERROR] : TiApplication: … 10 more
[INFO] : Process: Sending signal. PID: 32127 SIG: 9
해당 에러가 뜨면서 안되는거였네요…
으흠… titanium 에서 서비스 동작하는게… 제가 생각한거랑 다른거같아서 햇갈리네요…ㅠ
broadcastReceive 관련된건 없고… creasteService 해서 start를 하는 예제들이 나오는데;;
http://docs.appcelerator.com/titanium/3.0/#!/guide/Android_Notifications
이런건… 프로세스를 종료하면 서비스도 같이 종료되어버리드라구요;; 제가 생각한 그 서비스가 아닌건지…
@kimjw0820 고생하셨네요.^^
한가지 부탁드릴 말씀은 본문을 수정하기보다는 댓글로 변동되는 사항을 남겨주세요.
글 수정없이 댓글로 시간순서대로 나열되어 있어야 다른 분들이 이해하기 더 쉬울테니까요.
경험을 공유해주셔서 감사합니다.
결국 아래와 관련이 있겠네요.
업그레이드 후에 안드로이드 디바이스 빌드시 ti.cloudpush 모듈 추가한 부분에서 아래와 같은 에러가 납니다. 일단 ti.cloudpush 모듈 버젼을 3.2.1 로 낮추어서 빌드하면 정상적으로 됩니다.
[이미지]
[INFO] : Running dexer: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java "-Xmx1024M" "-XX:-UseGCOverheadLimit" "-Djava.ext.dirs=/Users/forest/AndroidSdk/platform-tools" "-jar" "/Users/forest/AndroidSdk/build-tools/19.1.0/lib/dx.jar" "--dex" "--output=/Users/forest/Documents/Titanium_Studio_Workspace/testcloud/build/android/bin/classes.dex" "/U…
kimjw0820
(kim ji woo)
8월 18, 2014, 12:42오전
7
아 넵 ㅎㅎ 다음부턴 그렇게 하겠습니다~~
전 빌드는 정상적으로 잘 되고 작동도 잘 되서… 전혀 다를거라 생각했는데… 3.3.0 버그라니 ㅠ_ㅠ…