Вот краткое описание процесса. < /p>
< Br /> Сервер будет отвечать за начало живой деятельности, чтобы указать пользователю, что время их отчета будет через 2 часа. вниз при запуске. Согласно документации Apple, вы можете начать живую деятельность с помощью APN. Но я использую FCM Firebase для отправки push -уведомлений с использованием администратора Firebase. Кроме того, в документации Firebase упоминается, как начать живую деятельность, используя FCM. < /P>
, поэтому я хочу попытаться использовать SDK Firebase Admin, чтобы иметь возможность начать живую деятельность, если это возможно. Я знаю о процессе получения токена начала токена, а затем получения токена обновления для обновления живой деятельности. Эти шаги уже реализованы в моем приложении, и они успешно отправляют необходимую информацию и токены для запуска/обновления/завершения живой деятельности.
Однако я не смог начать живую деятельность. .
Код: Выделить всё
def start_live_activity(token):
now_timestamp = datetime.now().timestamp()
headers={
"apns-topic": "com.myapps.myapps_bundle_id",
"apns-push-type": "liveactivity",
"apns-priority": "10"
}
# Construct APNS payload
payload = messaging.APNSPayload(
aps=messaging.Aps(
alert=messaging.ApsAlert(
title="Test Title",
body="Test Body"
),
sound="default",
),
custom_data={ # Custom data should be here
"timestamp": now_timestamp,
"event": "start",
"content-state": {
"gate": "B1",
"status": "ON TIME",
"remainingTime": now_timestamp
}
}
)
# Creates an APNS (Apple Push Notification Service) configuration
apns_config = messaging.APNSConfig(
headers=headers,
payload=payload
)
message = messaging.Message(
token=token,
apns=apns_config
)
response = messaging.send(message)
return response
Код: Выделить всё
def start_live_activity_2(token, push_to_start_token):
now_timestamp = str(int(datetime.now().timestamp()))
data = {
"token": token,
"apns": {
"live_activity_token": push_to_start_token,
"headers": {
"apns-priority": "10"
},
"payload": {
"aps": {
"timestamp": now_timestamp,
"event": "start",
"content-state": {
"gate": "B1",
"status": "ON TIME",
"remainingTime": now_timestamp
},
"attributes-type": "ReportAcitivtyAttributes",
"attributes": {
"gate": "B1",
"status": "ON TIME",
"remainingTime": now_timestamp
},
"alert": {
"title": "test title",
"body": "test body"
}
}
}
}
}
message = messaging.Message(
data=data
)
response = messaging.send(message)
return response
Подробнее здесь: https://stackoverflow.com/questions/794 ... -in-python