问题描述
我想将PubNub与Parse一起用于聊天模块.有人可以解释一下我如何通过PubNub向用户(仅一对一)发送带有文本和图像的消息吗?我想使用PFUser用户名作为用户私人频道的ID.
I would like to use PubNub with Parse for a chat module. Could somebody explain me how can i send messages with text and images via PubNub to a user (only one-to-one)? I wanna use the PFUser usernames as the id of a user's private channel.
我已在PubNub中找到此代码帮助文档,但是我从未在Objective-C中看到过这样的代码.我应该在哪里/如何使用这条线?
I've found this code in the PubNub help docs, but i've never seen code like this in objective-c. Where/how should i use this line?
curl https://pubsub.pubnub.com/publish/<PUB-KEY>/<SUB-KEY>/0/<CHANNEL-NAME>/0/%22Hellooooooo%22
我也不清楚应该将消息存储在哪里?在Parse中还是只能将它们存储在PubNub中?我不确定第二种版本是否可行,因为在PubNub上没有看到任何数据存储.或者例如,我只发送我存储在Parse中的PFObject的网址?
It's also unclear for me that where should i store the messages? In Parse or can i store them only at PubNub? I'm not sure that the second variation is possible, because i didn't see any data storage at PubNub. Or for example i'm sending only the url's of the PFObjects that i store at Parse?
推荐答案
解析+ PubNub发布消息
您可以在解析云内部向移动用户发布消息,以轻松创建聊天体验.如果要直接从Parse Cloud内部发送消息,请使用以下代码向用户发送消息:
You can publish messages inside of parse cloud to your mobile users to create chat experiences easily. If you want to send the messages directly from within Parse Cloud use the following code to send a message to a user:
Parse.Cloud.httpRequest({
url: 'https://pubsub.pubnub.com/publish/<PUB-KEY>/<SUB-KEY>/0/<USER-CHANNEL-NAME>/0/%22Hellooooooo!%22',
// successful HTTP status code
success: function(httpResponse) {
console.log(httpResponse.text);
},
// unsuccessful HTTP status code
error: function(httpResponse) {
console.error('Request failed with response code ' + httpResponse.status);
}
});
您不一定需要以这种方式使用Parse.您可以改为在用户之间直接向每个用户的频道名称发送消息. Sally有"channel-sally"
,而Bill有"channel-bill"
.您可以直接通过Objective-C应用代码发布和订阅. Bill将订阅自己的频道,并向Sally订阅她的频道.
You don't necessarily need to use Parse this way. You can instead send messages directly between users to each user's channel name. Sally has "channel-sally"
, and Bill has "channel-bill"
. You can publish and subscribe directly form your Objective-C App Code. Bill will subscribe to his own channel and a Sally to her channel.
// Define a channel
PNChannel *myChannel = [PNChannel channelWithName:@"channel-bob"];
PNChannel *friendChannel = [PNChannel channelWithName:@"channel-sally"];
// Receive Messages Sent to Me!
[PubNub subscribeOnChannel:myChannel];
// Send a Message to Sally
[PubNub sendMessage:@"Hello from PubNub iOS!" toChannel:friendChannel];
//(In AppDelegate.m, define didReceiveMessage delegate method:)
- (void)pubnubClient:(PubNub *)client didReceiveMessage:(PNMessage *)message {
NSLog(@"Received: %@", message.message);
}
Bob可以在自己的频道上接收消息,并且可以将消息发送给Sally或他的任何其他朋友.
Bob can receive messages on his own channel and he can send messages to Sally or any other of his friends.
这篇关于通过PubNub发布来自Parse的消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!