Android Parse 모듈을 Parse Server를 지원하도록 업데이트 했습니다.

새로운 업데이트는 여기에 있습니다.

Android Parse 모듈을 Parse Server를 지원하도록 업데이트 했습니다.

자세한 설명과 리파지터리는 아래 입니다.


(패키징된 모듈은 dist 폴더에 있습니다.)

Titanium에서는 이렇게 쓰시면 편리합니다.

var registerAndroid = function(_callback) {
  var ParsePush = require('eu.rebelcorp.parse');
  
  //instllationId
  ParsePush.addEventListener('installationId', function(e) {
    Alloy.Globals.SettingsM.set('Installation_objectId', e.objectId).save();
    afterRegisterDevice(_callback);
  });

  ParsePush.start();

  //푸쉬알림 도착에 대한 반응.
  ParsePush.addEventListener('notificationreceive', function(e) {
    pushRecieved(e);
  });
  //푸쉬 알림을 클릭했을 때의 반응
  ParsePush.addEventListener('notificationopen', function(e) {
    pushRecieved(e, true); //isClick
  });

  //앱을 켰으니 푸시를 다 지워주자
  ParsePush.notificationClear();
};

** SettingsM은 각종 변수를 영구저장하기 위해서 사용하는 properties 아답터의 alloy model입니다.

1 Like

서버 URL은 tiapp.xml의 property에서 자동으로 가져오나요? ^^

네. Readme에 있는 것처럼 tiapp.xml의 Parse_ServerUrl에서 가져옵니다.
아참, url 끝에 절대 / 를 붙이시면 안됩니다.

아놔…빌드시 too many method…에러 나요…ㅠㅠ

그럼 포함된 모듈의 method를 줄이셔야해요… 안쓰는 모듈을 줄이시고, 특히 ti.map쓰시면 꼭 최신 버전 쓰시구요.
https://github.com/appcelerator-modules/ti.map/tree/master/android/lib
이걸 보시면 ti.map도 google play service가 메쏘드수가 너무 많아서 줄여서 쓰고 있습니다.

저도 Parse Android 모듈 만들면서 Parse라이브러리 중에 필요없는 facebook이나 twiiter쪽 jar는 빼버렸어요.


혹시나하고 남겨놓은 ParseInterceptors-0.0.2.jar도 지워버리세요. (모듈 압축푸시면 lib 폴더에 들어있는걸 지우시면 됩니다.)

bolts-tasks-1.4.0.jar 요놈에서 에러가 나요…전 모듈도 이놈에서 에러가 나서 빼고 해도 문제가 없었는데…
이번엔 지우고 빌드하면 빌드는 되는데…런타임시 버전이 안맞아서 에러가 나네요…어딘가에 저걸 쓰고 있는 넘이 또 있는거 같은데…
소스상에선 뒤져봐도 안보이네요…쩝.

사용하시는 모듈 중에 bolts가 포함된 다른 모듈이 있을거에요. 1.4.0이 최신이니깐, 낮은 버전을 지워버리세요.
프로젝트가 아닌 공용으로 설치된 titanium 모듈에서도 찾아보세요.

아마 ti.facebook에서 사용하고 있을거에요.

그리고 ti.facebook을 쓰시면 ti.facebook의 lib안의 facebook bolts.android를 1.4.0으로 교체 하세요.
그런뒤에 parse module의 bolts.tasks를 지우시면 될거에요. bolts.tasks는 bolts.android에서 일부를 패키징한 것입니다.


요렇게 분리한 것이죠.

1 Like

trackAppOpenedInBackground을 하지 않도록 하는 옵션을 추가하면 좋을 것 같아요.
아쉬운 사람이 우물파도록 일단 답글 달아 놓습니다. (아쉬운 사람이 제가 될 것 같지만.ㅋㅋㅋ)

1 Like

trackAppOpenedInBackground를 하지 않는 것과 하는 것의 차이를 잘 모르겠어요?

지금 푸시 오픈 트래킹이 잘 되지 않는 상태인가요?

trackAppOpenedInBackground을 하면 앱이 실행될때 마다 parse-server로 /events/AppOpened로 post 날리더라고요.

1 Like