Closed mingmingeee96 closed 3 months ago
이거 PR을 올린다고 해놓고 전화가 와서 이제야 올리네요,,,ㅎㅎ 사실 한 거라곤 현민님께서 작성하신 코드 ios ver로 만든 거입니다 ㅎㅎㅎ 확인 부탁드려요~
# IOS push 보내는 함수 def send_push_ios(): try: # DB에서 IOS 디바이스 토큰 가져오기 ios_registration_tokens_all = list(DeviceToken.objects.filter(device_os='ios').values_list('token', flat=True)) #푸시 분산 발송용 리스트 생성 ios_registration_tokens = [] #한번에 푸시 발송 할 수량 설정 : kluck_env.env_settings.py push_cnt = env.push_cnt #푸시를 발송하는 단위 시간 : kluck_env.env_settings.py push_term = env.push_term #전체 토큰을 발송량에 따라 분산 저장 for i in range(0, len(ios_registration_tokens_all), push_cnt): temp = ios_registration_tokens_all[i:i+push_cnt] ios_registration_tokens.append(temp) # 오늘 날짜 가져오기 today = datetime.now().strftime("%Y%m%d") # DB에서 오늘의 운세 메시지 가져오기 today_luck_msg = LuckMessage.objects.filter(luck_date=today, category='today').first() # 오늘의 운세 메시지가 존재한다면 푸시 알림 보내기 if today_luck_msg: title = '오늘의 운세' body = today_luck_msg.luck_msg else: title = '오늘의 운세' body = '새벽 공기처럼 맑고 상쾌한 기운이 가득하길.🍃✨ 마음 가득 행복이 채워지는 날 되세요.🌷' push_logger.info(f"오늘의 운세 메시지가 존재하지 않습니다. today_luck_msg: {today_luck_msg} => 임의의 내용 작성: {body}") for i in range(0, len(ios_registration_tokens)): push_logger.info(f"Android 푸시용 리스트값: {ios_registration_tokens[i]}") # 푸시 알림 (notification -> 백그라운드) message = messaging.MulticastMessage( # 여러 기기에 메시지 전송 notification=messaging.Notification( title=title, body=body, ), # IOS 알림 설정 (APNs, Apple Push Notification Service) apns=messaging.APNSConfig( headers={ 'apns-push-type': 'background', # 알림 유형 == 백그라운드 'apns-sound': 'default', 'apns-priority': '10', # 알림 우선순위 == 높음(10) }, payload=messaging.APNSPayload( # Android의 data 설정 역할 (alert으로 뜨는 정보) aps=messaging.Aps( content_available=True, ), ), ), tokens = ios_registration_tokens, # 여러 개의 등록 토큰 리스트 ) # Firebase로 푸시 알림 전송 response = messaging.send_each_for_multicast(message) push_logger.info(f"IOS 푸시 알림 발송 성공. Response_num[{i}]: 'title' = {title}, 'body' = {body}") time.sleep(push_term) except Exception as e: push_logger.error(f"IOS 푸시 알림 전송 중 오류 발생: {e}")
아 지금 뭔가 프린트문 삭제하고 for문 주석 처리 삭제한게 push가 안된거 같은 느낌이,,,,,ㅎㅎ 다시 push 올려보겠습니다 ㅎㅎ
이거 PR을 올린다고 해놓고 전화가 와서 이제야 올리네요,,,ㅎㅎ 사실 한 거라곤 현민님께서 작성하신 코드 ios ver로 만든 거입니다 ㅎㅎㅎ 확인 부탁드려요~