Bluemix推送通知无法发送到Android设备

3
我试图使用此处提供的示例代码:https://github.com/ibm-bluemix-mobile-services/bms-samples-android-hellopush。我遇到的第一个困难是配置GCM,因为该文档似乎已经过时了,但我想我已经正确地配置了所有内容。我使应用程序工作,可以注册我的设备,但是当我尝试发送通知时,却收不到任何消息。我同时使用bluemix仪表板和swagger发送消息。我收到的响应是消息已发送,但我的设备(一部手机而非模拟器)上没有任何反应。我检查了我的Google API仪表板,发现GCM api没有任何活动。应用程序ID是:f97eb706-3375-438d-8221-cd7ac0266de1。
3个回答

3

今天在演示中我又遇到了这个问题@joe - 你能帮我尝试调试一下吗? - Paulo Felipe
当然!如果您打开一个支持工单,我们应该能够查看有关您的服务实例的更多信息,并在必要时进行屏幕共享会话。 - joe

1
对于新项目,仪表板无法启动,以启用https://console.developers.google.com中的GCM API。 启用GCM的步骤: 创建新项目->创建API密钥->启用GCM。 要启用GCM,请导航到“仪表板”选项卡并搜索Google Cloud Messaging->单击GCM并启用API。请等待5分钟以激活它。

enter image description here

配置GCM凭据以进行推送通知 -> 注册设备并发送通知。


1

文档目前正在更新GCM,很快就会解决。

我尝试重新创建您的问题,并在此处使用Android示例中的Push Notifications样本进行了测试(使用最新版本的Android Studio v2.1.3):

之前:

before

之后:

after

这里是我在克隆示例(模拟值)之后编辑代码片段的方法:

编辑代码 1 之前:

BMSClient.getInstance().initialize(this, "<APPLICATION_ROUTE>", "<APPLICATION_ID>", BMSClient.REGION_US_SOUTH);

代码编辑1后:

BMSClient.getInstance().initialize(this, "http://imfpush.ng.bluemix.net", "dfadsfadsfdsf-2343-2334-8e82-421c02ce847c", BMSClient.REGION_US_SOUTH);

编辑代码2之前:

push.initialize(this, "<APPLICATION_ID>", "<CLIENT_SECRET>");

代码编辑2之后:

push.initialize(this, "dfadsfadsfdsf-2343-2334-8e82-421c02ce847c", "edec64df-34fd-44e3-9d1e-dfsfsdf989899");

我从推送通知服务凭据(模拟值)中获取了这些值。

service credentials


这是我如何设置GCM:

在我的Bluemix配置中,它看起来像这样(模拟值):

gcm credentials

这是我从GCM(模拟值)获取这些值的方法:
发送者ID:

senderid

API密钥:

apikey


请跟进并告诉我这是否适用于您。如果不行,我们可以进行更多的调试。 - joe
很遗憾,它没有起作用。我从头开始创建了一切,但仍然无法收到通知。屏幕截图 - Paulo Felipe
我注意到你的API密钥是在2016年5月3日创建的。@joe 你能否通过创建新的API和新的API密钥运行一个新的测试?我相信Google对GCM进行了一些更改,而我得到的结果与你的不同。 - Paulo Felipe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接