2016-09-27 154 views
0

我正在做一个具有Notifications功能的Ionic项目,它适用于Android,但对于iOS,我遇到了很多问题。我看了,也做了离子指南中的所有步骤,以实现推送通知:https://docs.ionic.io/services/push/iOS的Ionic推送通知

总结: 创建云,通知客户端我的应用程序,并且我加入离子云这样的:

npm [email protected]/cloud --save 

和将文件添加到我的index.html 我定义了无极安装:

npm install bluebird --save 

我可配置我的应用程序:

angular.module('starter', ['ionic', 'ionic.cloud', 'starter.controllers', 'starter.services']) 

.config(function($ionicCloudProvider) { 
    $ionicCloudProvider.init({ 
    "core": { 
     "app_id": "APP_ID" 
    } 
    }); 
}) 

然后配置通知给iOS和我一样的,本指南:https://docs.ionic.io/services/profiles/#android-gcm-project--api-key

  1. 注册应用程序ID
  2. 器械注册
  3. 创建与钥匙串登入请求。
  4. 我创建iOS应用证书&中的.p12
  5. 发放模板
  6. 转换.CER我做
  7. 我去离子云仪表板和updload中.P12和对名为.mobileprovision我的应用程序的供应配置文件我的档案
  8. 创建iOS推送我的应用程序的证书
  9. 然后我将此证书上载到Ionic Cloud仪表板。

最后,我在我的应用程序中做了设置,并在真实设备,android和iOS中构建和运行。问题是,在Android中,它完美的工作,但在iOS中,我完美地保存了令牌,但是当我从Ionic Cloud仪表板发送通知时没有任何内容到达。

任何帮助?

非常感谢!

+0

希望你只用真正的iOS设备测试推送通知,是吗? –

+0

@SatishMavani是的,有2个设备。 – Ary

回答

0

我可以回答你question.Answer很晚如下:..

  1. 更新您的离子到版本V2以上,使用命令“$ NPM安装离子科尔多瓦”了点。
  2. 然后仔细按照这一个http://nishanthkabra.com/ionic2push.html 你可以很容易地实现它。
  3. 我也建议宁可ion.io使用java或php代码来发送推送通知,因为它们将非常容易定制。
0

在第一次安装项目下的下列插件

科尔多瓦插件添加https://github.com/phonegap/phonegap-plugin-push

您还需要一个。PEM文件和密码,你可以按照这个链接生成它们:Generate .pem file Used to setup Apple PUSH Notification

下载下面的代码从这里:https://drive.google.com/open?id=0B_-b-DfCLwKdREkwZFdYVEhYWXM

然后在你的app.js合并代码,之后运行你的应用程序在iPhone和控制台检查设备是否获得令牌,如果设备令牌正在显示,则转到下一步。

然后,您可以在用户登录或注册时将设备令牌存储在数据库中。

然后输入你的[.PEM]文件的位置,并传递[db.class.php]

短语然后输入设备令牌[sendIphonenotification.php]文件

然后执行[sendIphonenotification.php]文件并检查你的iphone,你会得到一个通知。