开发者社区> 问答> 正文

应用研发平台EMAS 脚本测试了,可以收到推送,生产上的app收不到推送,那问题出在哪里,该如何解决

应用研发平台EMAS 脚本测试了,可以收到推送,生产上的app收不到推送,那问题出在哪里,该如何解决?

我用控制台发送的消息id
appKey:333411977
消息id:8083792529690624
设备id:950120b49cfe41b392dd246edd54b25f

!/bin/bash

推送p12证书的路径

CERT_FILE=/Users/humiaomiao/work/12-8zhengshu/push/prod/prod.p12

推送证书的密码

CERT_PASSWORD='iDingxiao701)'

true是开发环境,false是生产环境

SANDBOX=false

安装包的bundleId

BUNDLE_ID=com.idingxiao.net

安装包获取的APNs的Token

DEVICE_TOKEN=ce60d70e4b8304a5de76a0d30af00e47868ec4fc86a4db8aba56cbfdbbdaa2bb
if [ "${SANDBOX}" = true ]; then
HOST=api.sandbox.push.apple.com
else
HOST=api.push.apple.com
fi
curl -v \
-d '{"aps":{"alert":"Test Push Message! --EMAS"}}' \
--cert-type P12 \
--cert ${CERT_FILE}:${CERT_PASSWORD} \
-H "apns-topic:${BUNDLE_ID}" \
https://${HOST}/3/device/${DEVICE_TOKEN}

展开
收起
2401。 2023-09-02 10:19:24 80 0
2 条回答
写回答
取消 提交回答
  • 查的原因是:DeviceTokenNotForTopic。DeviceToken和当前的bundleID不匹配。检查下控制台的bundleId 和 包的bundleId 是否一致。
    此回答整理自“应用研发平台EMAS开发者交流群”。

    2023-09-04 21:52:09
    赞同 展开评论 打赏
  • 将App上传App Store前,可以在注册的测试上,运行Ad Hoc环境的App,用以测试App生产环境的功能,包括生产环境的远程推送通知。

    注册测试设备

    每个开发者账号支持注册同一类型设备100个,用于真机测试,开发者对该流程都比较熟悉,在此不多做介绍。若不了解,可参考《苹果官方文档 - 注册测试设备》。

    归档Ad Hoc App

    Xcode选中App对应Target,Device选中Generic iOS Device;

    Product > Archive,若有警告报出,请Fix后再做归档。

    导出Ad Hoc App并签名

    测试者不一定都有Xcode开发环境,需要生成iOS App file,即.ipa文件。

    选择Window > Organizer,打开Archives organizer,并选中上述的App归档。

    f34f2702fdd46cb0145b9abfddfe45ee_p334833.png

    单击Export,选中Save for Ad Hoc Deployment,并单击Next。

    5de28875e2c053765d6303d797801158_p334834.png

    在弹出的窗口中,选中开发组。

    30049f764298f9f91f146e91f1b69525_p334835.png

    设备支持选择,根据需要选择支持的设备范围。

    96230c161f4a073109ee5b99305c4ae3_p334836.png

    选择Rebuild from bitcode,单击Next。

    输入文件名后,点击Export将.ipa导出到指定目录。

    安装Ad Hoc App

    Xcode Window > Devices,选中设备。

    Installed App列表,单击+。

    选中对应的.ipa文件并打开。

    Ad Hoc App 生产环境通知测试

    若Bundle Id和测试App相同,建议先将开发环境的App卸载,然后再安装Ad Hoc App。

    通过控制台排查系统,可以查看指定设备的信息,包括设备上报的deviceToken,开发环境和生产环境App获取的deviceToken是不同的。

    确认生产环境deviceToken上报到推送系统后,基于控制台或OpenAPI推送生产环境通知。

    2023-09-02 14:52:46
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于阿里巴巴以及合作伙伴的最佳实践,围绕大前端、云原生领域的相关技术热点(小程序、Serverless、应用中间件、低代码、DevOps)展开行业探讨,与开发者一起探寻云原生时代应用研发的新范式。
相关文档: 移动研发平台
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载