AWS SNS推送通知请求返回“ DeviceTokenNotForTopic”

时间:2019-10-26 19:08:44

标签: python amazon-web-services push-notification apple-push-notifications amazon-sns

iOS应用程序请求令牌并将其发送到python API。我将其作为设备令牌添加到AWS API中,并订阅了该主题。

然后尝试发送推送通知,我收到类似这样的“ DeviceTokenNotForTopic ”错误:

with tmain as (select member_id, purpose, group_id, pg.name
from participant_group_member pgm
join participant_group pg on pg.id = pgm.group_id
join participant_group_type pgt on pg.participant_group_type_id = pgt.id
join program_pivoted pp on pp.program_id = pgt.component_id
where   purpose not like '%Test_জানিনা%'  and purpose not like '%Test_Apu_SAPLING%' and purpose not like '%Test Purpose -p1%'

),
cte as (SELECT string_agg( distinct tmain.purpose, ',' ORDER BY tmain.purpose) as pc,
count(*)                                              as cnt
from tmain
group by tmain.purpose
)
select pc       as purpose_combination,
sum(cnt) as member_count

from cte
group by pc

1 个答案:

答案 0 :(得分:0)

错误“ DeviceTokenNotForTopic” 通常从APNS(Apple推送通知服务)端返回到SNS。

如果我们仔细查看APNS文档,您会发现此错误主要发生在“设备令牌与指定主题不匹配” 时,其中“主题”是指应用程序的捆绑ID。这将意味着:

a)。没有为该特定的捆绑包ID生成令牌。

b)。当用于通过APNS进行身份验证的证书中的捆绑ID与设备令牌的注册应用程序不匹配时,SNS上的端点将被禁用,因为SNS本质上说““除非您更改设备令牌,否则我们将无法达到此终点”。

以下是一些其他情况下需要考虑的提示:

  1. 如果您有多个iOS应用程序,我建议确保令牌已注册到正确的平台应用程序,并确认证书是该应用程序环境的正确证书。

  2. 如果最近将iOS应用从沙箱移至生产环境,则证书也需要更改,反之亦然。

希望这会有所帮助。