您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
在 5 分钟内从移动应用发送一个 Push 通知
 
作者:Lisa Seacat DeLuca 来自于:IBM 发布于 2015-10-23
   次浏览      
 

创建一个 Apache Cordova 项目

如果您已经有一个现成的混合移动项目,比如 IBM Worklight 项目,请跳过这一节。

1.如果您还没有该项目的话,请 下载 Apache Cordova 的节点打包模块,并为 Apache Cordova 设置环境。

2.在安装 Cordova 后,打开一个 命令提示符。

3.通过运行以下命令在当前工作目录中创建一个新的项目:

cordova create bluemixpush com.example.bluemixpush  BluemixPush?

4.通过运行以下命令更改到新的项目目录:

cd bluemixpush?

5.通过运行以下命令添加您想在上面进行测试的平台:

ex. cordova platform add android?

备注:如果您是第一次为特定的平台开发 Cordova 项目,那么您还需要执行一些 额外的步骤,以便设置该平台的开发环境。

例如,要配置一个 Android 环境,请执行以下步骤:

1.安装 Android SDK。

2.将 Android tools 和 platform-tools 的位置添加到您的 PATH 环境变量。

3.下载 ANT 并将它添加到您的 PATH 环境变量。

4.确保在您的 PATH 环境变量中已经设置了 Java? 路径。备注:确保它是一个完整的 JDK,而且不仅仅是一个 JRE。

5.可以选择下载并安装 Eclipse with ADT 来运行模拟器,并使用 Eclipse LogCat 功能调试应用程序。

安装 ibmbluemix npm 包

本文中使用的 Push 服务以及作为 Bluemix 的一部分提供的 许多移动云服务 均被用作一个 节点打包模块。安装 ibmbluemix 包,以便初始化 Bluemix 移动应用程序的 Push 服务。

1.在命令行上,切换到混合移动项目的 www 目录。

2.如 ibmbluemix 模块的 npm 文档中所述,如果需要安装一个 Web 或混合应用程序,则应通过运行以下命令来使用 bower 包管理器:

bower install https://hub.jazz.net/git/bluemixmobilesdk/ibmbluemix-javascript/.git?

安装 ibmpush npm 包

1.从 npm 安装 IBM Push 服务:

2.在命令行上,切换到混合移动项目的 www 目录。

3.如 ibmpush 模块的 npm 文档中所述,如果需要安装一个 Web 或混合应用程序,则应通过运行以下命令来使用 bower 包管理器:

bower install https://hub.jazz.net/git/bluemixmobilesdk/ibmpush-javascript/.git?

Bluemix ibmpush 包的成功安装将会产生下面的响应。

图片显示了成功安装 Bluemix ibmpush 包的响应

设置 Bluemix

现在,您已经准备好了一个混合应用程序,并从 npm 安装了您自己的 IBM Push 服务,您还需要设置 Bluemix,以便使用该服务:

1.登录到 Bluemix。

2.在 Applications 下面的仪表板上,单击 CREATE AN APP。截屏突出显示了 Create Application

3.在新的页面上,选中 Boilerplates 下面的 Mobile Cloud。样板应用程序

4.填写信息和名称,如下所示:Create an application 详情

5.单击 CREATE。

6.您将被重定向到 Dashboard,现在您可以在那里看到自己的应用程序。在 Bluemix 中运行的新移动应用程序的绿色状态指示灯表示,该应用程序已完成暂存进程并且已启动。截屏显示出,仪表板现在显示了您的应用程序,并且该应用程序已经启动

7.单击您的应用程序。您将被重定向到 Applications 页面,您可以在这里看到应用程序 ID 和应用程序的密码,并确定将哪些服务绑定到应用程序。如下图所示,需要使用应用程序 ID 才可以连接到 Bluemix 服务。请记下 ID。截屏显示,您的应用程序 ID 显示在了 Applications 页面上

让自己熟悉 Push 服务

在 Bluemix 中的新移动应用程序的移动应用程序信息页面中,在 Services 下面,可以看到 Push 服务被绑定到该应用程序。

截屏显示了 Services 部分和绑定到应用程序的 Push 服务

单击 Push 服务。

此 Services 部分是与您的 Bluemix 应用程序的所有 Push 相关问题的仪表板。您甚至可以使用此屏幕向注册设备发送测试通知。

在移动应用中集成 Bluemix Push

现在,您已经创建了一个 Bluemix 应用程序,并保存了应用程序 ID,重新回到开发模式。将 Bluemix Push JavaScript API 添加到您的混合移动应用程序,以便推送消息:

1.在您最喜欢的 IDE 中打开混合应用程序。

2.将浏览器指向您的 www 目录内的 index.html 页面(或主 HTML 页面)。

3.包括以下 script 标签,以便开始使用之前安装的 npm Push 组件。

<script src="bower_components/ibmpush/js/IBMPush.min.js"></script>?

4.包括 JavaScript 文件,以便将 IBM Mobile Backend 初始化为一个 Service (ibmbluemix)。

<script src="bower_components/ibmbluemix/js/IBMBluemix.min.js"></script>?

5.初始化 IBMBluemix SDK。

var values = {

applicationId:"____bluemix_appid_________",
applicationRoute:"____bluemix_approute_________",
applicationSecret:"____bluemix_appsecret_________",

};
IBMBluemix.initialize(values);

6.在调用任何 Push 命令之前,通过在您的应用程序中包括下面的 JavaScript 来初始化 Push 服务。

var push = IBMPush.initializeService();

7.通过调用下面的 JavaScript 从应用程序中发送测试消息:

// Push Notification content
var message = {
alert :"Hello Bluemix World",
url :"https://www.bluemix.net"
}

// Send the notification
push.sendBroadcastNotification(message).then(function(response) {
alert("Push sent!"+ JSON.stringify(response));
},function(err) {
console.log(err);
alert('error sending push message:' + JSON.stringify(err));
});

如果需要更多使用 IBM Push JavaScript API 的复杂 Push 示例,请参阅 IBM Mobile Cloud Services SDK 开发人员指南 的 JavaScript API 部分。

测试应用程序

现在,您应该已经准备好测试该应用程序了。如果您使用的是纯 Apache Cordova 应用程序,那么请使用命令行。例如,我正在测试 Android 应用程序,并使用 Eclipse 来监视 LogCat 输出的日志。

1.运行应用程序,如下所示:

cordova emulate android?

2.您可能会看到 GCM 与 APNS 凭据错误信息,如图所示。截屏显示了 GCM & APNS 凭据错误消息的示例

如错误所述,Bluemix 移动应用程序缺少 GCM 与 APNS 凭据。在 Bluemix 中没有输入应用程序的 Google Cloud Messaging 或 Apple Push Notification Service(或两者)。如果看到此错误,请参阅 在 Bluemix 中输入 Push 通知凭据。如果您没有看到这个错误,请跳到下一步。

3.在解决所有错误之后,您会在 LogCat 控制台中看到一个 Push 成功消息。

截屏显示了一个成功消息的示例

如果您有些设备已经注册了 Push 服务,那么您可以看到消息被推送到哪些设备。要查看已注册的设备列表,请访问您的应用程序的 Bluemix 控制台,单击 Push 服务,并切换到 Registrations 选项卡。

如果设备已注册,那么它们会显示在表格中。

如果 JavaScript SDK for Bluemix Mobile Backend 被用作 Service Push API,则不可能注册设备来接收 Push 消息;您必须使用 Android 和 iOS 原生 Bluemix SDK。

为了让设备可以注册 Push,以便查看 Push 通知,请参阅“使用 Push 云服务扩展 Android 应用程序”,其中包括一个完整的代码示例,您可以下载该示例并将它安装到自己的设备上,用它来测试接收 Push 消息的能力。

在 Bluemix 中输入 Push 通知凭据

如果错误信息表明 GCM 与 APNS 凭证缺失,请按照以下步骤来解决此问题:

1.返回您的移动应用程序页面的 Bluemix 仪表板。

2.选中 Push 服务来打开 Push 仪表板。

3.单击 Configuration 选项卡。如果没有输入凭据,则不会看到 Push 凭据。截屏显示,您的应用程序的 configuration 选项卡页面显示尚未输入配置

4.单击您想启用的 Push 服务的 Edit。

5.如果您有凭据,请将它们输入到相应的字段并保存。如果您没有凭据,并且不知道如何获得这些凭据,请单击字段旁边的信息图标,如图所示。截屏显示了信息图标,它可以为输入凭据提供帮助

信息对话框包含一个注册 Push 凭据的链接。

备注:您可以输入两组不同的凭据:一个用于 Sandbox,另一个用于 Production。当您准备好切换时,在 Sandbox 和 Production 之间切换服务模式就会很容易。

6.保存凭据后,您就可以使用前面的步骤重新测试移动应用程序。

结束语

现在,您可以使用 npm ibmpush 模块和可用的 JavaScript API 将 Bluemix Push 功能添加到现有或新的混合移动应用程序。

   
次浏览       
 
相关文章

手机软件测试用例设计实践
手机客户端UI测试分析
iPhone消息推送机制实现与探讨
Android手机开发(一)
 
相关文档

Android_UI官方设计教程
手机开发平台介绍
android拍照及上传功能
Android讲义智能手机开发
相关课程

Android高级移动应用程序
Android系统开发
Android应用开发
手机软件测试
最新活动计划
Node+Vue3.0前端全栈开发 7-5 [特惠]
Spring Cloud微服务架构 7-5[特惠]
SysML和EA系统设计与建模 7-26[特惠]
Python、数据分析与机器学习 8-23[特惠]
嵌入式软件架构设计 8-22[线上]
Linux内核编程及设备驱动 7-25[北京]

android人机界面指南
Android手机开发(一)
Android手机开发(二)
Android手机开发(三)
Android手机开发(四)
iPhone消息推送机制实现探讨
手机软件测试用例设计实践
手机客户端UI测试分析
手机软件自动化测试研究报告
更多...   

Android高级移动应用程序
Android应用开发
Android系统开发
手机软件测试
嵌入式软件测试
Android软、硬、云整合

领先IT公司 android开发平台最佳实践
北京 Android开发技术进阶
某新能源领域企业 Android开发技术
某航天公司 Android、IOS应用软件开发
阿尔卡特 Linux内核驱动
艾默生 嵌入式软件架构设计
西门子 嵌入式架构设计
更多...