我们正在开发一个基于 cordova 的 Android 应用程序,它具有聊天功能。
我们正在从服务器发送测试聊天消息,当应用程序位于前台时,我们收到的消息很好。
我们希望当应用程序在后台时收到有关聊天消息的通知。
但是我们没有收到任何有关聊天消息的推送通知。
我们遵循的步骤如下所述。请让我们知道我们所犯的错误。
我们已经提到了这个链接 http://www.pubnub.com/docs/web-javascript/mobile-gateway#_javascript_mobile_push_gateway_for_realtime_apps_pubnub当应用程序处于后台时在设备上收到通知。
我们使用 cordova PushPlugin 来注册设备以进行推送通知。并使用以下代码注册设备
pubnub.mobile_gw_provision ({
device_id: 'A655FBA9931AB',
op: 'add',
gw_type: 'gcm', // or 'apns'
channel: 'my_chat',
callback: mySuccessCallback,
error: myErrorCallback,
});
如果我们使用 GCM API 以编程方式使用 GCM 设备 ID 从我们的服务器发送推送通知,我们就会收到推送通知。
当应用程序位于前台时,我们在 PushPlugin 的 onNotificationGCM 方法中收到来自 pubnub 的通知警报。
我们还在管理控制台中配置了 GCM 服务器 API 密钥并启用了 pubnub 推送通知。
我使用下面的 Python 代码来发布聊天:
_pubnub = Pubnub(publish_key='our-publish-key',
subscribe_key='our-sub-key')
channel_name = 'here-is-channel-string'
data=dict(
pn_gcm=dict(data=dict(
title_for_mobile='PN',
summary_for_mobile=['Hi, test']
)
),
text='what is your dob?',
sender=dict(name='Jon Snow', id='yyyyyyyy'),
meta=dict(job=dict(id='zzzzzzzz'))
)
_pubnub.publish(channel_name, data)
当应用程序运行时获取传入聊天消息的推送通知
在后台是我的应用程序的一个关键功能。
请让我知道我做错了什么?