IBM Worklight - 推送通知功能在 Android 模拟器中不起作用

Posted

技术标签:

【中文标题】IBM Worklight - 推送通知功能在 Android 模拟器中不起作用【英文标题】:IBM Worklight - Push Notifications feature does not work in Android emulator 【发布时间】:2013-06-10 09:54:42 【问题描述】:

我正在尝试为Worklight push notification on android 设置示例项目。当我在 Android 模拟器中启动应用程序时,只有前两个按钮(isSubscribed 和 isSupported)是可点击的。其他两个按钮(订阅和取消订阅)保持禁用状态。

我的步骤是:

    将项目导入 Eclipse 将 SenderID 和 API 密钥替换为在 application-descriptor.xml 中从 GCM 控制台获取的密钥 部署 PushAdapter(包含在项目中) 构建和部署 在模拟器中启动 Android 应用程序

缺少什么?

【问题讨论】:

【参考方案1】:

要让推送通知在 Android 模拟器中工作,您需要确保安装在 Android SDK 管理器中

Google APIs add-on 对应于您在项目中使用的 API 级别(在 Worklight 中,它必须是 API 级别 8 或更高)。您创建的 AVD 应使用此 Google API

Google Cloud Messaging for Android Library(可在附加类别中找到)

注意:Android 模拟器中的推送通知在运行 Android OS 4.x.x 的 AVD 中工作。

接下来,您需要设置 GCM无论您使用的是设备还是模拟器,这些步骤都是相关的。

    创建 Gmail 电子邮件地址 进入GCM的网页:http://developer.android.com/google/gcm/gs.html 点击“Google API 控制台页面” 如果您从未完成上述第 3 步,您将被要求创建一个项目,该项目将有一个 ID。此 ID 是您在 application-descriptor.xml 中放置的 senderId 值 点击“创建新的服务器密钥...”/“创建新的 Android 密钥” 生成的密钥是您在 application-descriptor.xml 中放置的 API key

现在您需要:

    构建和部署应用程序 部署适配器 在设备或模拟器上运行应用程序

【讨论】:

我按照您的步骤进行操作,但仍然无法设置。启动时,它报告:“无法注册推送通知。应用程序将无法接收通知”。推送通知是否必须有服务器? 这是模拟器还是真机?您运行的是 Android OS 2.x 还是 4.x?如果您使用 2.x,您的设备必须与“设置”中的 Gmail 地址同步。如果是 4.x,则需要按照我上面的说明进行操作。是的,如果您计划使用 Worklight 使用推送通知,应用程序必须连接到 Worklight Server。 我在 4.x 上使用模拟器。如何设置 Worklight 服务器? 按照培训模块...请使用您已采取的完整步骤(从导入项目,到设置并在设备上运行)编辑您的问题,也许您已经走错了一步。 如果尝试使用 Android 模拟器进行推送通知,请查看我编辑的答案,了解您需要安装的内容;如果你有一个设备会更简单......

以上是关于IBM Worklight - 推送通知功能在 Android 模拟器中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight:推送通知行为

使用 IBM Worklight 和 IBM Bluemix 推送通知

IBM Worklight 和推送通知问题

IBM Worklight - 仅向订阅用户推送通知

IBM Worklight:iOS 推送通知长度限制

IBM Worklight - Android 上的推送通知