2018. 4. 28.

How to send rich pushes to ios and android in firebase api

Firebase cloud message  (FCM) is very easy to use. You can send messages on firebase console. but if you want to send rich messages, you cannot them in firebase console. You need to use firebase message api. and You must send rich messages to each platforms (iOS, android) because json structures are different each other. 
 
  •  Android & iOS common part  
Method: POST
Headers:
           Content-Type: application/json
           Authorization: key={your key }
 
  • Android (body)  
    • If title,body element are in outside of data node.   app cannot receive messages in background state.
{
"to" : "/topics/subject_android",

"data": {
    "title": “Your title",
     "body": “Your messages",
     "image": “https://image full urls "
    }
}
 
 
  • iOS  
    • title, body  can be in notification-node , data-node contains image urls.  you must add ‘mutable_content’ node. This node will be converted to ‘mutable-content’ in app and call  ios push extention-component. ( You can show image in push.  You need more codings)
    •  
{

"to" : "/topics/subject_ios",
"content_available": true,
"mutable_content": true,
"priority": "high",

"notification": {

"title": “Your title",
"body": “Your messages",
"badge": 1,
"sound": "cheering.caf"
 
},
"data": {

 "image": “https://image full urls "
 
}

}

2018. 4. 23.

summer vacation in Saipan (2017) (사이판 가족 여행기)

2017년 사이판 가족여행기 입니다.

너무 미뤄 둬서 그냥 요약만 올립니다...(5일3박)


8/3 9:30 이스타


와이프는 랜덤검사에 당첨되어 2차검색을 했음 (여기도 미국 소속인지라 랜덤으로 심화 검색을 하는데 와이프가 당첨이 되어서 정밀 검색을 당했습니다. 그 규칙은 아무도 모른다고 합니다) , 손에서 화약류 검출이 되는지, 가방에서 그런 종류가 검출이 안되는지 검사를 받습니다. 그런거 만진적 없으면 크게 신경쓰지않으셔도 됩니다.  주로 가족들이 많이 탑승합니다 (아이들이 많음)

세관 신고서만 작성했고,  이전에 이스타를 발급하였습니다. ( 입국시 이스타 시스템에서 셀프로 진행하는데 시스템 반응이 좀 느림) 와이프와 큰딸은 출력물에 x가 찍히고, 다시 입국심사 대에서 추가 작업이 있어야 해야 되었음.  나올 때 큰 딸은 전신스캔하고 나왔음.
와이파이를 빌리고, 렌트카를 하루 빌렸음. 와이파이는 안에 배터리가 물에 잠겨서 붉은색이 되면 안된다고 강조~. 와이파이는 속도도 좋고, 배터리는 오래가서 가격대비로 만족도가 높았음. (약 3만원정도) 렌터카는 우리가 둘째날 묵는 숙소에서 반납이 가능하기 때문에, 택시비와 별차이가 없어서 사용. 여기는 한국 면허증으로 렌트카 대여가 가능함. - 운전을 해보니, 차가 그다지 많지 않아서, 크게 신경쓰지 않고 다닐 수 있음. 

1일 : 
히마와리 호텔(Himawari hotel) - 매우 낡은 호텔(모텔)인데,   1층에  마켓이 있습니다. 도시락, 유부초밥, 초밥,빵 등을 팔고 근처 관광객들이 아침에 많이 들르는 명소입니다. 우리 식구를 숙소에 크게 신경쓰지 않기 때문에 상관이 없었습니다. 마트에서 입맛대로 사서 드시면 되기 때문에, 식구들은 매우 좋아했습니다.

   야시장, 
   - 광선검- 그동네 통신사에서 하는 축제 같은 건데, 밥도 팔고 기념품도 줍니다 우리는 광선검을 받았습니다.  
   - 석양보기 - 여기 석양이 아름답습니다. 석양만 바라 봐도 기분이 좋아 집니다. 
  - 아이러브사이판/철판아이스크림/ - 쇼핑몰이 아이러브사이판이고 저도 이전에 회사에 직원이 가져다준 열쇠고리에 이 문구를 본적이 있네요. 작은 딸이 가지고 싶어하는 철판아이스크림 도구가 있는데 여기서 직접 철판아이스크림을 만들어 주네요 .  

2일~3일:
  히마와리 체크아웃 
  스노클링  - 이전에 갔던 코타키나발루 만큼 물고기가 화려하지는 않았지만 얕은 바다에서 안전하게 즐기실수 있고 해파리 문제는 없는거 같습니다. 
  kana resort 
  식사-쌀국수  - 리조트 근처 쌀국수 집에서 먹었는데 먹을만 합니다. (사실 식구들이 안가리고 잘 먹습니다.) 
    렌트카 반납 - 호텔내에 렌트카 사무실이 있어 바로 반납 할 수 있게 되어 있어서 편리합니다. 그런데, 제가 반납할 때는 렌트카 사무실에 아무도 없어서 호텔 프론트에 이야기 하니 자기들이 열쇠를 맡아 줍니다. 
  로비에서 음식파는 행사가 있었습니다 미니 야시장 같은 분위기였고 많은 사람들이 거기서 사서 먹습니다. 우리도 먹었습니다. (중국 관광객이 엄청 많이 있습니다.)    
 물놀이 - 메인 행사입니다.~
조텐마트- 우리 식구들이 제일 좋아하는 '해외 나가서 그동네 수퍼에서 장보기' 입니다. 기념품도 사고 그동네 음식도 사서 먹어 봅니다. 
 
3일
   토니로마스 - 우리나라에서 거의 없어진 프랜차이즈 식당이지요.   
   티겔러리아 - 쇼핑몰입니다. 여기 구경만 합니다.
   네이키드피쉬 - 여긴 식당 이라기 보다는 약간 호프집 분위기인데 조명이 좀 어둡습니다. 어린 식구가 있다면 그다지 추천하지는 않습니다. 

4일  
택시로 이동 - 
이원민숙( JC guest) - 게스트 하우스 입니다. 중국인 주인인거 같은데 영어 하시면 됩니다. 
모비딕 점심
조텐마트  - 또 갔습니다. 이제 익숙합니다. 

마이크로 비치 

킨파치 레스토랑

택시를 미리 예약해서 새벽에 택시를 타고 공항에 도착해서 한국을 옵니다...


2018. 4. 22.

App Transport Security has blocked a cleartext HTTP

Error Message: App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
  • Allow all sites

// 전체 허용 
<key> NSAppTransportSecurity </key>
  <dict> 
    <key> NSAllowsArbitraryLoads </key>
      <true /> 
    </dict>
  • Allow specific sites

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>



firebase rich push notification iOS example links