IONIC的iOS推送通知


我已经与Ionic合作了将近2年。 毫无疑问,这是构建混合应用程序的顶级框架,因为它提供了开箱即用的本机界面,易于使用的CLI,它使用了适用于本机API(例如Camera,Geo-Location,Push Notification等)的Cordova插件。

一年来,在为iOS和Android开发应用程序时,我不得不在一些应用程序中实现推送通知服务。 由于Apple的开发树比android复杂得多,并且缺乏社区支持导致了我大量的错误和调试。 因此,本帖子专为那些现在正在敲打头或敲打键盘的用户而设计。

分三个步骤。

  • 安装Push插件并配置您的应用。
  • 创建APP ID
  • 生成APNS证书

首先启动您的终端并转到项目的根目录,并使用以下命令安装推插件:

cordova plugin add phonegap-plugin-push --variable SENDER_ID="1234567890" 

您无需担心SENDER_ID,只需保持原样。 要检查插件是否正确安装,请运行以下命令:

  科尔多瓦插件ls 

您会在应用程序中看到已安装插件的列表。 或者,您可以检查package.json文件,您将看到类似以下内容:

然后在您的服务内添加以下代码:

  var push = PushNotification.init({ 
ios:{
警告:“ true”,
徽章:是的,
声音:“假”
}
});
PushNotification.hasPermission(function(data){
如果(data.isEnabled){
console.log('isEnabled');
}
});
push.on('registration',function(data){
console.log(data.registrationId);
// registrationId是设备令牌。
//根据您的要求将其存储或发送到服务器。
});
//每当设备上的第三方推送服务收到推送通知或您点击通知时,都会触发以下事件。push.on('notification',function(data){
console.log(data);
//在这里处理您的数据
});
push.on('error',function(e){
console.log(e);
});

这一切都在您端上。 接下来,我们将在Apple开发人员帐户中创建APP IDAPNS证书

现在登录到您的Apple开发人员帐户,然后单击证书,标识符和配置文件> APP ID。 然后点击右上角的+按钮,为您的应用创建一个新的APP ID。

接下来,您的捆绑包ID必须与您的应用包名称相同。 打开您的config.xml文件并复制小部件ID 这里。 (例如:com.ionicios.pushnotification)

然后检查来自APP Services的 推送通知 ,然后单击继续。 下一页将如下所示:

单击注册完成以完成该过程。

接下来,我们将创建APNS证书。

登录到您的Apple开发人员帐户,然后转到您刚创建的应用程序ID,然后单击它。

您会看到“开发”和“分发”的推送通知状态均为“可配置”。 这意味着我们尚未为该应用程序配置推送通知服务。 现在单击“编辑”,然后向下滚动到“推送通知”部分,然后选择要创建的证书。

此时,我们将创建一个开发证书。 因此,单击创建证书

在“ 创建CSR文件”部分中,单击“ 继续” 。 在生成证书的下一页它要求您从Mac上传.certSigningRequest或CSR文件。

要创建CSR文件,请从Mac启动“ 钥匙串访问” ,然后选择以下选项:

输入所需的信息,然后选择“ 保存到磁盘”。 单击继续并将其保存在您的文件夹中。

现在上传我们刚刚创建的证书,然后单击继续。

将生成您的开发SSL证书。

下载证书。 它将以.cer格式保存。 双击它以在Mac的钥匙串访问中安装证书。

启动钥匙串访问,然后从左侧面板中选择“登录”和“类别中的我的证书”,并标识刚刚安装的证书,该证书现在已与私钥配对。

选择证书密钥和私钥,然后右键单击它。 选择导出苹果开发iOS推送服务。 从atat将文件另存为p12

输入导出密码。 记住密码,因为将来会需要它。 单击“ 确定”完成导出证书。

现在回到应用程序ID,然后单击您的应用程序ID,您会看到“开发的推送通知”状态已更改为“ 启用”。

现在,根据您在后端服务器上的偏好或在任何需要的地方使用该p12文件。

准备好要在App Store上启动要分发的应用程序时,将以类似的方式创建分发证书。

进一步的查询,您可以在下面发表评论或通过hasansadmans@gmail.com询问我 我很乐意为您提供帮助。

快乐编码🙂