iOS开发 重要通知(critical-alerts)
<div data-page-id="W1Y4dYe2MoOK0Sxp637cAa3InFh" data-docx-has-block-data="false"><div class="ace-line ace-line old-record-id-VJ2WdF5k3o9B5FxhQSkcDvYXn6c">重要警报(critical-alerts)是 iOS 12 和 watchOS 5.0 中的一种新型选择加入通知,允许绕过“请勿打扰”和静音开关。他的本意是出现紧急情况,需要用户<em>立即关注的关键事件。</em></div>
<div class="ace-line ace-line old-record-id-VJ2WdF5k3o9B5FxhQSkcDvYXn6c">
<div data-page-id="W1Y4dYe2MoOK0Sxp637cAa3InFh" data-docx-has-block-data="false">
<h2 class="heading-2 ace-line old-record-id-InIpdC5RNod6pCx7HUMc9lSlnEb">一、适用程序</h2>
<div class="ace-line ace-line old-record-id-OAmyd8ET8oZBJPxDyizcNkxDnDc">苹果不允许通过重要通知来推送营销信息,因此,此类通知仅限于医疗或健康相关应用程序、公共安全或特殊安全应用程序。所以,重要警报需要苹果公司授予的特殊授权。</div>
<div class="ace-line ace-line old-record-id-HyRldarjIoKUexxOKvGcfNXLnfb">申请入口:苹果重要通知申请入口</div>
<div class="ace-line ace-line old-record-id-W9yxdnRmhoX8pjxtuJ3coJj8nth">需要填写的内容:</div>
<div class="ace-line ace-line old-record-id-JPBcdh6MXoNBTMx9fOBcFiy3n6Y" style="white-space: pre">1.app类型 2.描述我们的app 3.发送紧急通知的消息类型 4.紧急通知的频率 5.解释为什么需要用到紧急通知及功能设计过程</div>
<div class="ace-line ace-line old-record-id-B0YIdJNHkoA6GRxBnducAUj9njb">我们需要解释应用正在做什么以及计划如何向我们发送重要警报。Apple 希望您列出一个令人信服的理由,说明为什么我们的应用程序可能需要用户立即关注。</div>
<div class="ace-line ace-line old-record-id-OWavdib6Mo2j4LxfMHLcziMdnOh">最后就是等待申请结果的邮件。</div>
<div class="ace-line ace-line old-record-id-OWavdib6Mo2j4LxfMHLcziMdnOh">
<div data-page-id="W1Y4dYe2MoOK0Sxp637cAa3InFh" data-docx-has-block-data="false">
<h2 class="heading-2 ace-line old-record-id-YiPRd8LOIo4LflxtJtbcF06KnIg">二、配置文件</h2>
<div class="ace-line ace-line old-record-id-F7i8ds3ttonBjkxlnUocWjFan1c">登陆苹果开发者账号,选择要启用关键警报的应用程序的标识符。勾选<strong>“重要警报”</strong>框。然后单击<strong>“保存”</strong>按钮。</div>
<div class="ace-line ace-line old-record-id-F7i8ds3ttonBjkxlnUocWjFan1c">
<p><img src="https://img2023.cnblogs.com/blog/1080250/202311/1080250-20231116150507108-1905703382.png"></p>
<p> </p>
<div data-page-id="W1Y4dYe2MoOK0Sxp637cAa3InFh" data-docx-has-block-data="true">
<div class="ace-line ace-line old-record-id-UUisdUPA3oQPUDxkRlzc03uynsg">导航到Profiles,然后单击加号按钮注册新的配置文件。</div>
<div class="image-uploaded gallery old-record-id-L6Ykd7g9OoT4FfxgW0XcLMcWneg" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"4d311ce3-f6fb-4889-beb3-9e140d24eede","height":890,"width":2456,"currHeight":890,"currWidth":2456,"natrualHeight":890,"natrualWidth":2456,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FOKvCbKGfNoUuChxuE1wcLxvOnLh%2F%3Fpreview_type%3D16","file_token":"OKvCbKGfNoUuChxuE1wcLxvOnLh","image_type":"image/png","size":150880,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=ZjkwMTczNzI1YjJkNDViZjE3OTg1YjNmYTRlMTg5MThfVzQ5SDlHcElCbzdzaTNnRXBKbDJrZHhLQ3lUVmhTNzZfVG9rZW46T0t2Q2JLR2ZOb1V1Q2h4dUUxd2NMeHZPbkxoXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2456" data-height="890"></div>
<div class="ace-line ace-line old-record-id-VjAodbmNaowFRtx8yaCcaPJpnKg">选择“iOS 应用程序开发”选项,然后单击<strong>“继续”</strong>按钮。</div>
<div class="image-uploaded gallery old-record-id-P4U7dIjx2oK1obx5aGHc6X8wnje" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"b2dc0bc0-5630-4d68-be72-fd96ff53326d","height":460,"width":1400,"currHeight":460,"currWidth":1400,"natrualHeight":460,"natrualWidth":1400,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FVJUibR1CioXd1KxtRpMcxwgLnrc%2F%3Fpreview_type%3D16","file_token":"VJUibR1CioXd1KxtRpMcxwgLnrc","image_type":"image/png","size":127087,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=NWVhODRlMDA0ZTQxNjJkYWUzODczMmNiMDg3ZTA0M2ZfcXdicUZoWHdGNGNTTEcwalZWc015Q2Zua2VsbURqaE9fVG9rZW46VkpVaWJSMUNpb1hkMUt4dFJwTWN4d2dMbnJjXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="1400" data-height="460"></div>
<div class="ace-line ace-line old-record-id-Pfsmd0SKHor6Iqxmk98cuaaQnUc">选择您的应用程序 ID,然后单击<strong>“继续”</strong>按钮。</div>
<div class="image-uploaded gallery old-record-id-I3wRd3pipoPStqxPFYecT0JLnMg" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"9f940819-b686-4428-ba77-db3d951f6f21","height":774,"width":1600,"currHeight":774,"currWidth":1600,"natrualHeight":774,"natrualWidth":1600,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FOaNsbfE3Eo1OjaxXYQJc1uQlnAd%2F%3Fpreview_type%3D16","file_token":"OaNsbfE3Eo1OjaxXYQJc1uQlnAd","image_type":"image/png","size":148512,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=NDkzOTI0MzhjMTg5MDI5OGU1OGQ5MTJhMDJkMThjMThfUzNHVFQxM0Zickx4azFNRlhhRVk2NEtocmVvVHBETmVfVG9rZW46T2FOc2JmRTNFbzFPamF4WFlRSmMxdVFsbkFkXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="1600" data-height="774"></div>
<div class="ace-line ace-line old-record-id-ILZHdYeAeoiBZ8x8BrdcTlqNntf">选择所有证书并单击<strong>“继续”</strong>按钮。</div>
<div class="image-uploaded gallery old-record-id-HOFHdGBonoyg9kxaFmFcVw1CnJe" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"d5043991-5646-4247-b12d-bc1c1e5b2cb5","height":976,"width":2398,"currHeight":976,"currWidth":2398,"natrualHeight":976,"natrualWidth":2398,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FOV5BbAjXDoDwt7xNakUcMIqKnqh%2F%3Fpreview_type%3D16","file_token":"OV5BbAjXDoDwt7xNakUcMIqKnqh","image_type":"image/png","size":198996,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=OWZmMDg3OTM3YmVjMmRjNWE2ODcxNzNjZWUzZWE5YzNfZGFmOEZHT0p0R2loMjJNQmxabjl2R1llWjR1Yk56SGxfVG9rZW46T1Y1QmJBalhEb0R3dDd4TmFrVWNNSXFLbnFoXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2398" data-height="976"></div>
<div class="ace-line ace-line old-record-id-SIBVdWTqPoy6WuxMJv8cEkbJnhg">选择您的设备并单击<strong>“继续”</strong>按钮。</div>
<div class="image-uploaded gallery old-record-id-CnXldGmdAo2MmgxtkTdciYT2nSh" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"51504495-6731-4b19-a0be-3cc12785fe80","height":974,"width":2356,"currHeight":974,"currWidth":2356,"natrualHeight":974,"natrualWidth":2356,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FTyaGbn4WIoxXz7xNe0vcPmJdnhc%2F%3Fpreview_type%3D16","file_token":"TyaGbn4WIoxXz7xNe0vcPmJdnhc","image_type":"image/png","size":139163,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=NTIzMmU4ZWY3Y2Y4NmMwNmM2OGQzYTc0Yjc5YWEyNzVfWVdLRlF0NlpUeksyQ3RPMERyaEYzcnVzZnFFTFpINnNfVG9rZW46VHlhR2JuNFdJb3hYejd4TmUwdmNQbUpkbmhjXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2356" data-height="974"></div>
<div class="ace-line ace-line old-record-id-Lb8wdiQQzo8FaXxQ05McNsA8nMd"><strong>输入您的配置文件</strong>的名称,然后单击<strong>“生成”</strong>按钮。</div>
<div class="image-uploaded gallery old-record-id-Bs1hdBxyToXUEixaFz1cz3ngnfg" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"7b02d35f-15a5-4ccc-a5e7-dbb011af22cd","height":1040,"width":2350,"currHeight":1040,"currWidth":2350,"natrualHeight":1040,"natrualWidth":2350,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FQxS8b5ONuo97sWx7HHec2gy6nRb%2F%3Fpreview_type%3D16","file_token":"QxS8b5ONuo97sWx7HHec2gy6nRb","image_type":"image/png","size":144035,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=NTI2YTJmYTIwZDFlNWFhYjIxZmViNDY3MTRjM2VlNDlfSDN5Z3IyUHFtVThYZU1hd0M1UXhzelBEaFQ4c0lPQktfVG9rZW46UXhTOGI1T051bzk3c1d4N0hIZWMyZ3k2blJiXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2350" data-height="1040"></div>
<div class="ace-line ace-line old-record-id-R87CduCSro25N7xUPvecTIL7n0b">单击<strong>“下载”</strong>按钮。然后双击以下文件来安装您的<strong>配置文件,</strong>发布证书也是相同流程。</div>
<div class="ace-line ace-line old-record-id-OLgrdn5raotJOmxOO3HcYC3NnNc"> </div>
<h2 class="heading-2 ace-line old-record-id-NVDsdWcM9oggrLx8ekic0eqqnLf">Xcode 配置</h2>
<div class="ace-line ace-line old-record-id-NcAfdJTVJor8Z7xY7CXcsxglnxg">选择您在前面的步骤中下载并安装的<strong>配置文件。</strong></div>
<div class="image-uploaded gallery old-record-id-IB6hdwFrKo7uvyxHHlHc25kenNf" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"6ea7523a-0650-4fd1-aaa6-ede954a5b930","height":378.7734915924827,"width":820,"currHeight":378.7734915924827,"currWidth":820,"natrualHeight":934,"natrualWidth":2022,"pluginName":"imageUpload","scale":0.4055390702274975,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FU6cqb0H98otWSSx6v9EclcDCnth%2F%3Fpreview_type%3D16","file_token":"U6cqb0H98otWSSx6v9EclcDCnth","image_type":"image/png","size":252765,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=NmRlMmM1Yzk1OGM1YTRhY2FhZGYxODY5NjQxN2YwZWZfbUhaMzBoa3lGbFVTazF4Z3pac3F2RU9nNFhXN3lDMU1fVG9rZW46VTZjcWIwSDk4b3RXU1N4NnY5RWNsY0RDbnRoXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2022" data-height="934"></div>
<div class="ace-line ace-line old-record-id-HMrDdtOEko8inSxv8gNcdUIZnzb">查看权限</div>
<div class="image-uploaded gallery old-record-id-Qiqsddkoco8Oxyx36bQcGYbdnrb" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"c4ba3653-5921-4025-a853-d962c3fbd9ef","height":860,"width":1648,"currHeight":860,"currWidth":1648,"natrualHeight":860,"natrualWidth":1648,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FNeofbWaSzoeDeIxtqSpcXEMlnSh%2F%3Fpreview_type%3D16","file_token":"NeofbWaSzoeDeIxtqSpcXEMlnSh","image_type":"image/png","size":302391,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=M2E1YzFjZGFhYTM5YzRlYWE5NjdlMzE4OWZiMzFjNDVfN0tlNWNwVTRKVkJIQnFzMWFkckIwMW5tZHpTVkszWllfVG9rZW46TmVvZmJXYVN6b2VEZUl4dHFTcGNYRU1sblNoXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="1648" data-height="860"></div>
<div class="ace-line ace-line old-record-id-WdurdyN7roo0fCxTdEZcLw6xnOd">在设置UNUserNotificationCenter中增加criticalAlert</div>
<div>func requestAuthorization(completion: ((Bool, Error?) -> Void)?) { let options: UNAuthorizationOptions if #available(iOS 12.0, *) { options = [.alert, .badge, .sound, .criticalAlert] } else { options = [.alert, .badge, .sound] } UNUserNotificationCenter.current().requestAuthorization(options: options) { (granted, error) incompletion?(granted, error) } }</div>
<div class="ace-line ace-line old-record-id-VBHUdregkoJDFWxmvyHcY6WJn0b">然后在<code>app.entitlements</code>中增加key<code>com.apple.developer.usernotifications.critical-alerts</code>类型为boolean 并将值设为<code>1</code></div>
<h2 class="heading-2 ace-line old-record-id-Wh6Vd6hJToasAixNmrZcsXydnih">Critical alerts APNS 格式</h2>
<div class="ace-line ace-line old-record-id-SBv3dvUSkoRWhQxY7lqc9fAOn7g">最后,需要在从服务器发送推送通知时修改 APS,可以加入声音键对象。</div>
<div>{ "aps":{ "alert": "This is a Critical Alert!", "badge": 1, "sound": { "critical": 1, "name": "your_custom_sound.aiff", "volume": 1.0 } } }</div>
<div class="ace-line ace-line old-record-id-PSwId4i2so8RaxxEep4cu03TnQd">添加自定义声音文件(.aiff 格式)并指定设备音量(值 0.0 到 1.0),其中 1.0 表示全音量。</div>
<div class="ace-line ace-line old-record-id-JY79diIBuopUtAxgdW6cTRmTn6f"> </div>
<h2 class="heading-2 ace-line old-record-id-U5WTdQqcTotIFAxlQ3lcbPatnh4">如何测试紧急通知</h2>
<div class="ace-line ace-line old-record-id-GGuGd7qV2oAvMPxT9bjcXZLpnSe">工具下载:</div>
<div class="ace-line ace-line old-record-id-ZKeYdTJL7ofa0dxpvjHcybbWn4f">Push Notifications</div>
<div class="ace-line ace-line old-record-id-QDXKdAaXposMfWxTTF6cywYXngh">工具界面:</div>
<div class="image-uploaded gallery old-record-id-GuSxdfqYYo1QJTxWDERcJmPdnlf" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"69a83809-9622-4ceb-bff9-d314515667eb","height":1602,"width":1660,"currHeight":1602,"currWidth":1660,"natrualHeight":1602,"natrualWidth":1660,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FY2sJbxjEOo3RuExFqmHclVE1ndd%2F%3Fpreview_type%3D16","file_token":"Y2sJbxjEOo3RuExFqmHclVE1ndd","image_type":"image/png","size":227168,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=ZDBhYzdmZDJkNWEwNjJkMTBmYjk3ZDI1Nzc1ZmI3MTRfVG5neUlaRkM3OEZwZzlIM0dXc3p6eW5TOFFaTWR6eTdfVG9rZW46WTJzSmJ4akVPbzNSdUV4RnFtSGNsVkUxbmRkXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="1660" data-height="1602"></div>
<div class="ace-line ace-line old-record-id-ES2FdpLOPo5QYHxIJJXc338xnUg">需要的参数配置:</div>
<ol class="list-number1" start="1">
<li class="ace-line ace-line old-record-id-NAmDdOUSAoctaXxn8eacIYaRnxb" data-list="number">
<div>.p8</div>
</li>
</ol>
<div class="image-uploaded gallery old-record-id-K0modFw8wodr6DxvKc0cFrxxnEw" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"8ede13d8-f8f8-4cd0-9f83-3f0a6fcd2419","height":1018,"width":2610,"currHeight":1018,"currWidth":2610,"natrualHeight":1018,"natrualWidth":2610,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FW9kkbwaW9oXkgGxhDwfcgUm3ngb%2F%3Fpreview_type%3D16","file_token":"W9kkbwaW9oXkgGxhDwfcgUm3ngb","image_type":"image/png","size":123092,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=ODliYzVmMmE4M2E3ZDJlMTAyY2Q1OTgzZDZjNTI3YjRfYUM1UVhFcERvdjdQcXEzcVhEQVRuVVdmMkx1QndFMnFfVG9rZW46Vzlra2J3YVc5b1hrZ0d4aER3ZmNnVW0zbmdiXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2610" data-height="1018"></div>
<div class="image-uploaded gallery old-record-id-TELqdm0eAoEG2fxK8r3coJx5nme" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"b7157192-abc9-4455-8ab3-b495a059b15b","height":1264,"width":2682,"currHeight":1264,"currWidth":2682,"natrualHeight":1264,"natrualWidth":2682,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FMdA4b5zWGo7KQqxOtzMcFBQVnZe%2F%3Fpreview_type%3D16","file_token":"MdA4b5zWGo7KQqxOtzMcFBQVnZe","image_type":"image/png","size":288863,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=MzVlMGRhZGVjYzc0OGQzYWRlMWFlNGIxZmUzZmI2OGRfNHE2aTB5ZThHQjNBbDJOVmtTcUhMdnJoaDVUMER0OHpfVG9rZW46TWRBNGI1eldHbzdLUXF4T3R6TWNGQlFWblplXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2682" data-height="1264"></div>
<ol class="list-number1" start="2">
<li class="ace-line ace-line old-record-id-AexYdFOlYoZps4xryXxcZL23nqh" data-list="number">
<div>key ID</div>
</li>
</ol>
<div class="image-uploaded gallery old-record-id-RXyWdA7Z0okjW4xxU91c2vmKnEe" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"0e676b1b-3e11-4954-9de3-ad2fda02ee94","height":894,"width":2500,"currHeight":894,"currWidth":2500,"natrualHeight":894,"natrualWidth":2500,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FGSrhbXUUVoL8vfxVjAscdVTgnee%2F%3Fpreview_type%3D16","file_token":"GSrhbXUUVoL8vfxVjAscdVTgnee","image_type":"image/png","size":135992,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=N2Q2MDRhMWQ4MmE4NTA0NmM4MGJjN2VjNDVlNGVjYmFfZGt4WjNjMUFmRTN0cWZiU0RSbDVBbnBqZHFRMkUydDhfVG9rZW46R1NyaGJYVVVWb0w4dmZ4VmpBc2NkVlRnbmVlXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="2500" data-height="894"></div>
<div class="ace-line ace-line old-record-id-C3Owd80UmooZrhxXoGEcYY5jnfd"> </div>
<div class="ace-line ace-line old-record-id-FqiDdrGdMoRxitxQH5Icabi6nVc">3.team id:</div>
<div class="image-uploaded gallery old-record-id-AA6dd5mpco5twDxlDWwcGqXYnBg" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"86f0a4aa-57a2-4e77-b19e-1e7ae8a4ab41","height":1232,"width":1274,"currHeight":1232,"currWidth":1274,"natrualHeight":1232,"natrualWidth":1274,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FGS08bqXXoowBdrxPT1PcpMIVn8g%2F%3Fpreview_type%3D16","file_token":"GS08bqXXoowBdrxPT1PcpMIVn8g","image_type":"image/png","size":152701,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=OGYwZTYzN2ExNTUxMjUzNTdjMTIzOTIzNzQ2ZTY2OGZfQXVQZXFPZVRucWE0RHZ0VnExOVdTeHZ6NW1qb3RjTFVfVG9rZW46R1MwOGJxWFhvb3dCZHJ4UFQxUGNwTUlWbjhnXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="1274" data-height="1232"></div>
<div class="ace-line ace-line old-record-id-CB14dHbkjoYcXAxEXVBcIWp5nkb">4:bundle id :</div>
<div class="image-uploaded gallery old-record-id-LQSXdEecloX3WbxCnXdcCIFvnjg" style="text-align: center" data-type="image" data-ace-gallery-json="{"items":[{"uuid":"5c507aab-7727-4248-89d0-ae2f465897e1","height":738,"width":1634,"currHeight":738,"currWidth":1634,"natrualHeight":738,"natrualWidth":1634,"pluginName":"imageUpload","scale":1,"src":"https%3A%2F%2Finternal-api-drive-stream.feishu.cn%2Fspace%2Fapi%2Fbox%2Fstream%2Fdownload%2Fpreview%2FVG7AbLcpco1mCCxhEjjc3V5Knlf%2F%3Fpreview_type%3D16","file_token":"VG7AbLcpco1mCCxhEjjc3V5Knlf","image_type":"image/png","size":156075,"comments":[]}]}"><img src="https://ihqz5dyhwa.feishu.cn/space/api/box/stream/download/asynccode/?code=Y2FlY2NkZjQzMjhlN2U4YzVlNzM5YzYxYTE5YTM4NGJfQm5PYmg5OHR6WEllRzMxbFp3MXlEN05ZTkFNWnoyR2RfVG9rZW46Vkc3QWJMY3BjbzFtQ0N4aEVqamMzVjVLbmxmXzE3MDAxMTgzNDE6MTcwMDEyMTk0MV9WNA" data-width="1634" data-height="738"></div>
<div class="ace-line ace-line old-record-id-B1hbdsBxfotul9xjytGcoEVUnJf">5.device token:</div>
<div class="ace-line ace-line old-record-id-ZilqdDi1noWJNKxr8TsciohYnng">代码里获取 <strong>===device token:===d94d073a2ba5aae294920dd0d7680c2fb06fd4146bc9bee3a889f9d5acd86899</strong></div>
<div>
<div class="cnblogs_Highlighter">
<pre class="brush:swift;gutter:true;"> func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
print("===device token:===\(deviceToken.hexString)")
// 记录/获取推送token,发生改变则将token上传
if UserDefaults.standard.object(forKey: "lastSnsToken") == nil {
WoUser.currentUser.needUpload = true
UserDefaults.standard.set(deviceToken.hexString, forKey: "lastSnsToken")
} else {
let lastSnsToken: String = UserDefaults.standard.object(forKey: "lastSnsToken") as! String
if lastSnsToken != deviceToken.hexString {
WoUser.currentUser.needUpload = true
UserDefaults.standard.set(deviceToken.hexString, forKey: "lastSnsToken")
} else {
WoUser.currentUser.getUploadUserInfoTag()
}
}
// Replies.didRegisterForRemoteNotifications(withDeviceToken: deviceToken)
}
</pre>
</div>
<p> 发送成功结果:</p>
<div data-page-id="W1Y4dYe2MoOK0Sxp637cAa3InFh" data-docx-has-block-data="false">
<div class="ace-line ace-line old-record-id-AY7MdPTkwo1sfcxODQGceVXenhc">
<p><img src="https://img2023.cnblogs.com/blog/1080250/202311/1080250-20231116154903797-1405802556.png"></p>
<p> 手机端会听到尖锐报警音,和如下图效果:</p>
<p><img src="https://img2023.cnblogs.com/blog/1080250/202311/1080250-20231116155134126-170874492.jpg"></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div><br><br>
来源:https://www.cnblogs.com/laolitou-ping/p/17836326.html
頁:
[1]