用于python的expo服务器sdk
exponent-server-sdk的Python项目详细描述
指数服务器sdk python
这个回购协议是由世博会令人敬畏的社区:心眼:!所以,如果你在这个库中的代码有问题,请随时打开一个问题,并作出公关。谢谢!
安装
pip install exponent_server_sdk
用法
用于从Python服务器向指数体验发送推送通知。
Full documentation如果您想深入了解详细信息,可以使用api上的。
下面是一个示例,说明如何通过pyrollbar将其用于重试和报告。
fromexponent_server_sdkimportDeviceNotRegisteredErrorfromexponent_server_sdkimportPushClientfromexponent_server_sdkimportPushMessagefromexponent_server_sdkimportPushResponseErrorfromexponent_server_sdkimportPushServerErrorfromrequests.exceptionsimportConnectionErrorfromrequests.exceptionsimportHTTPError# Basic arguments. You should extend this function with the push features you# want to use, or simply pass in a `PushMessage` object.defsend_push_message(token,message,extra=None):try:response=PushClient().publish(PushMessage(to=token,body=message,data=extra))exceptPushServerErrorasexc:# Encountered some likely formatting/validation error.rollbar.report_exc_info(extra_data={'token':token,'message':message,'extra':extra,'errors':exc.errors,'response_data':exc.response_data,})raiseexcept(ConnectionError,HTTPError)asexc:# Encountered some Connection or HTTP error - retry a few times in# case it is transient.rollbar.report_exc_info(extra_data={'token':token,'message':message,'extra':extra})raiseself.retry(exc=exc)try:# We got a response back, but we don't know whether it's an error yet.# This call raises errors so we can handle them with normal exception# flows.response.validate_response()exceptDeviceNotRegisteredError:# Mark the push token as inactivefromnotifications.modelsimportPushTokenPushToken.objects.filter(token=token).update(active=False)exceptPushResponseErrorasexc:# Encountered some other per-notification error.rollbar.report_exc_info(extra_data={'token':token,'message':message,'extra':extra,'push_response':exc.push_response._asdict(),})raiseself.retry(exc=exc)