使用onessignal在Ionic应用程序中推送通知
本文于2017年5月3日更新,适用于Angular 4和Ionic 3。
介绍推送通知,它们是什么,它们是如何工作的
推送通知是从服务器发送给应用程序用户的消息。它们通知用户新内容,即使用户没有使用您的应用程序。它们可以提高应用的用户粘性和留存率。WhatsApp的“哨子”就是一个例子,它会在收到新消息时通知你。在本教程中,我们将深入研究如何使用onessignal集成推送通知。
推送通知的工作原理
推送通知从应用服务器发送到移动操作系统的推送通知平台之一。苹果iOS的推送通知服务和Android的谷歌云消息服务。这些推送通知服务将消息转发到适当的设备。
您可能想知道,您的服务器和GCM如何知道将通知发送到哪个设备?您的应用程序将包括向服务器注册其唯一设备令牌的代码。
在服务器上跟踪这些设备令牌是很乏味的。但是有一些很好的服务可以简化这个过程。onessignal就是这样一种服务。
步骤1:安装Ionic
首先,您需要在您的机器上安装Ionic。使用节点包管理器安装它npm;
如果您没有安装**npm**,请按照参考资料部分中的说明安装它。接下来,根据ionic的目标版本运行以下命令之一,启动一个新的ionic项目;1 * * * *离子
$ ionic start PushDemo sidemenu ' '
离子2/3
上面的命令在当前目录中创建一个新项目。项目文件夹名为' PushDemo ' *,它将使用*sidemenu*模板。
$ cd PushDemo && ionic serve -lab ' '
上面的代码导航到你的项目文件夹,并在浏览器窗口中打开你的应用程序进行测试。
步骤3:在谷歌云消息传递(GCM)上注册
访问Firebase控制台并登录您的谷歌帐户:
https://firebase.google.com/
创建一个新项目,给它一个名字,然后进入你的国家。
点击左上角的齿轮图标并选择项目设置->云的消息传递
注意图像中突出显示的两个值。的服务器密钥,也被称为谷歌服务器API密钥和发件人ID,也被称为谷歌工程编号.
步骤4:创建一个OneSignal帐户
浏览https://www.onesignal.com并创建一个帐户。
确认您的电子邮件地址并登录
点击添加新应用随你怎么叫。我建议你们给它取和离子工程一样的名字。
接下来,选择要配置onessignal推送通知的平台。在本教程中,我将为Android配置推送通知。
输入您的谷歌服务器API密钥而且谷歌工程编号.这些是你从Firebase控制台得到的细节步骤3.
接下来,为你的应用程序选择目标SDK。在我们的例子中,我们正在制作一个Ionic应用程序,所以你选择,PhoneGap, Cordova, Ionic, Intel XDK
注意你的onessignal应用ID.当你将onessignal集成到你的应用程序代码时,你将需要这个。
第五步:将onessignal集成到你的离子项目中
回到命令行窗口,从您的项目目录运行;
这将把onessignal插件添加到ionic项目中。这个插件为ionic应用程序提供了一个API来访问推送通知。否则,它们将无法用于混合应用程序。接下来,导航到你的主“”“app.js”“”文件*[project-directory]/www/js/app.js* ![](https://uploads.sitepoint.com/wp-content/uploads/2017/01/1484738035onesignal-code.png)必威西盟体育网页登录将以下代码添加到你的“”$ionicPlatform.ready()“”函数中
//一个信号推送通知设置
//打开调试
/ / window.plugins.OneSignal。setLogLevel({logLevel: 4, visualLevel: 4});
var notificationOpenedCallback = function(jsonData) {
console.log(' didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData));
};
window.plugins.OneSignal.init(“
{googleProjectNumber:“
notificationOpenedCallback);
//如果用户在你的应用程序中有通知,显示一个警告框。
window.plugins.OneSignal.enableInAppAlertNotification(真正的);
确保你输入了你的**应用ID**和**谷歌项目号**。保存文件。导航到你的“app.ponent .ts”文件*[project-directory]/src/app/ app.ponent .ts* ![](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1490609438PushDemo-ion2.png)将以下代必威西盟体育网页登录码添加到你的“this.platform.ready()”函数中
//打开调试
/ /窗口.OneSignal“插件”。setLogLevel({logLevel: 4, visualLevel: 4});
var notificationOpenedCallback = function(jsonData) {
console.log(' notificationOpenedCallback: ' + JSON.stringify(jsonData));
};
窗口(“插件”)。OneSignal
.startInit(“
.handleNotificationOpened (notificationOpenedCallback)
.endInit ();
确保你输入了你的**应用ID**和**谷歌项目号**。保存文件。就是这样!这就是将onessignal代码集成到Ionic 1或2/3应用程序中所要做的全部工作。接下来,通过USB线将android测试设备连接到计算机。然后使用以下命令编译并安装PushDemo应用程序:
$ ionic build android && adb install -r
接下来,在您的设备上运行应用程序,以便它注册到onessignal服务器。然后单击检查订阅用户.
6 .测试
点击pushdemo应用
点击新的推送通知
创建一个测试通知,然后单击预览.接下来,单击发送.
您将立即在您的设备上收到推送通知。
信号额外功能
onessignal还有很多其他很棒的功能,你应该进一步探索;
- 通知中的表情符号
- 安排的通知
- 通知模板
- 实时分析
- 用户段
- 自动信息
参考文献
安装npm -
https://www.必威西盟体育网页登录sitepoint.com/beginners-guide-node-package-manager/代码存储库- https://github.com/chmod-777/pushDemo
Ionic框架文档- https://ionicframework.com/docs/
OneSignal文档- https://documentation.onesignal.com/