有奖捉虫:行业应用 & 管理与支持文档专题 HOT

一、证书配置

集成 TIMPush 组件之前,需要先向 Apple 申请 APNs 推送证书,然后上传推送证书到 IM 控制台 。之后按照快速接入步骤接入即可。
Apple 厂商配置目前有两种主流的证书,p12 证书和 p8 证书。两种证书各有优劣,您可按需要选择其中的一种。
证书类型
p12 证书:p12 证书是一个包含公钥和私钥的二进制文件,用于基于证书的身份验证。它将公钥证书和私钥捆绑在一个文件中,扩展名为 .p12 或 .pfx。
p8 证书:p8 证书是一个 Auth Key(授权密钥),用于基于令牌的身份验证。它是一个包含私钥的文本文件,扩展名为 .p8。
有效期和管理:
p12 证书:p12 证书通常有一年的有效期,过期后需要重新生成和部署。每个应用程序都需要单独的 P12 证书来处理推送通知。
p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。此外,使用 P8 证书可以简化证书管理,因为您可以使用一个 p8 证书为多个应用程序提供推送通知服务。
安全性:
p12 证书:p12 证书使用基于证书的身份验证,需要在服务器上存储私钥。这可能会增加安全风险,因为私钥可能会被未经授权的用户访问。
p8 证书:p8 证书使用基于令牌的身份验证,这意味着您的服务器会周期性地生成一个 JSON Web Token(JWT)来与 APNs 建立连接。这种方法更安全,因为它不需要在服务器上存储私钥。
灵动岛:
p12 证书:不支持。
p8 证书:支持灵动岛推送。

方式一:使用 p12 证书 (传统推送证书)

步骤1:申请 APNs 证书

1. 登录 苹果开发者中心 网站,单击 Certificates,Identifiers & Profiles 或者侧栏的 Certificates,IDs & Profiles,进入 Certificates, IDS & Profiles 页面。
?
2. 单击 Identifiers 右侧的 +
?
3. 您可以参见如下步骤新建一个 AppID,或者在您原有的 AppID 上增加 Push NotificationService
说明:
您 App 的 Bundle ID 不能使用通配符 *,否则将无法使用远程推送服务。
4. 勾选 App IDs,单击 Continue 进行下一步。
?
5. 选择 App,单击 Continue 进行下一步。
?
6. 配置 Bundle ID 等其他信息,单击 Continue 进行下一步。
?
7. 勾选 Push Notifications,开启远程推送服务。
?
?
?

生成证书

1. 选中您的 AppID,选择 Configure
?
2. 可以看到在 Apple Push Notification service SSL Certificates 窗口中有两个 SSL Certificate,分别用于开发环境(Development)和生产环境(Production)的远程推送证书,如下图所示:
?
3. ?
们先选择开发环境(Development)的 Create Certificate,系统将提示我们需要一个 Certificate Signing Request(CSR)。
?
4. 在 Mac 上打开钥匙串访问工具(Keychain Access),在菜单中选择钥匙串访问 > 证书助理 > 从证书颁发机构请求证书Keychain Access - Certificate Assistant - Request a Certificate From a Certificate Authority)。
?
?
?
5. 输入用户电子邮件地址(您的邮箱)、常用名称(您的名称或公司名),选择存储到磁盘,单击继续,系统将生成一个 *.certSigningRequest 文件。
?
?
?
6. 返回上述 步骤3 中 Apple Developer 网站刚才的页面,单击 Choose File 上传生成的 *.certSigningRequest 文件。
?
?
?
7. 单击 Continue,即可生成推送证书。
?
?
?
8. 单击 Download 下载开发环境的 Development SSL Certificate 到本地。
?
?
?
9. 再次按照上述步骤1 - 8,将生产环境的 Production SSL Certificate 下载到本地。
说明
生产环境的证书实际是开发(Sandbox)+生产(Production)的合并证书,可以同时作为开发环境和生产环境的证书使用。
?
?
?
?
?
?
10. 双击打开下载的开发环境和生产环境的 SSL Certificate,系统会将其导入钥匙串中。
11. 打开钥匙串应用,在登录 > 我的证书,右键分别导出刚创建的开发环境(Apple Development IOS Push Service)和生产环境(Apple Push Services)的 p12 文件。
?
注意
保存.p12文件时,请务必要为其设置密码。

步骤2:上传证书到控制台

2. 单击目标应用卡片,进入应用的基础配置页面。
?
?
?
3. 单击 iOS 原生离线推送设置右侧的添加证书
4. 选择证书类型,上传 iOS 证书(p.12),设置证书密码,单击确认
?
注意:
上传证书名最好使用全英文(尤其不能使用括号等特殊字符)。
上传证书需要设置密码,无密码收不到推送。
发布 App Store 的证书需要设置为生产环境,否则无法收到推送。
上传的 p12 证书必须是自己申请的真实有效的证书。
5. 待推送证书信息生成后,记录证书的 ID。
?

方式二:使用 p8 证书 (支持灵动岛推送)

p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。此外,使用 p8 证书可以简化证书管理,因为您可以使用一个p8 证书为多个应用程序提供推送通知服务。另外,p8 证书支持灵动岛推送。

步骤1:申请 APNs 证书

要创建 p8 证书文件,首先需要登录 苹果开发者中心
?
1. 进入Certificates,Identifiers & Profiles:在页面右上角单击 Account,然后在下拉菜单中选择 Certificates, Identifiers & Profiles
2. 创建一个新的 App ID:在左侧菜单中单击 Identifiers ,然后单击右侧的 + 创建一个新的 App ID。填写相应的信息并单击 Continue
3. 创建一个新的密钥:在左侧菜单中单击 Keys,然后单击右侧的 + 创建一个新的密钥。输入密钥的名称,然后勾选 Apple Push Notifications service (APNs),单击 Continue
?
确认并生成密钥:在确认页面核对您的密钥信息,然后单击 Register 。接下来,您将看到一个页面提示您下载密钥。单击 Download,将生成的 .p8 文件保存到您的计算机上。
注意:
p8 证书只可以下载一次,请妥善保存。
请妥善保管下载的 p8 文件,因为您将无法再次下载该文件。您可以使用此P8证书配置您的iOS应用程序以接收推送通知。

步骤2:上传 p8 证书到IM控制台

2. 单击目标应用卡片,进入应用的基础配置页面。
3. 单击 iOS 原生离线推送设置右侧的添加证书
4. 选择 .p8 证书
?
说明:
Key ID:这是您的 APNs Auth Key 的唯一标识符。当您在 Apple Developer Center 创建一个新的 APNs Auth Key 时,系统会为您生成一个 Key ID。您可以在 "Certificates, Identifiers & Profiles" 部分的 "Keys" 中找到它。
Team ID:这是您的开发者账户的唯一标识符。您可以在 Apple Developer Center 的账户详情页面找到它。点击右上角的 "Membership",在 "Membership Details" 部分可以找到您的 Team ID。
Bundle ID:这是您的应用程序的唯一标识符,也称为应用程序 ID。您可以在 Apple Developer Center 的 "Certificates, Identifiers & Profiles" 部分找到它。选择 "Identifiers",然后在您的应用程序列表中找到对应的 Bundle ID。

二、Xcode添加推送权限

要在App中添加推送权限,请在 Xcode 项目中启用推送通知功能。

打开 Xcode 项目,在 Project > Target > Capabilities 页面中点击红框中的加号按钮,然后选择并添加 Push Notifications
?
添加后的结果如图中红框所示。
?

三、生成 App GroupID (可选)

当您需要使用 TIMPush 组件统计推送抵达率时,推荐您配置 TIMPushAppGroupID ,之后按照快速接入进行使用。
App GroupID 标识当前主 App 和 Extension 之间共享的 App Group,需要在主 App 的 Capability 中配置 App Groups 能力。

步骤1:登录苹果开发者中心网站,进入【identifiers】 ->【App Groups】创建 AppGroups。

?
?
?

步骤2:绑定需要使用的应用的 AppID 到 AppGroups。

?
?

?

步骤3:获取您的 TIMPushAppGroupID。

?

步骤4:在Xcode中配置 TIMPushAppGroupID。

打开 Xcode 项目,在 Project > Target > Capabilities 页面中点击红框中的加号按钮,然后选择并添加 App Groups
?
填入第3步中配置的 Group ID,例如 group.com.tencent.im.pushkey:
?
?


http://www.vxiaotou.com