我正在尝试为社交媒体共享开发Android应用.我知道PubNub如何使用云服务器以快速的速度和安全性共享数据.我想在我的应用程序中使用它.如果有API,请告诉我它是如何工作的.
我正在尝试创建一个简单的Android聊天应用程序,用户可以在其中注册并拥有一个朋友列表来开始对话.我打算在数据库后端使用Parse,在实际的聊天频道使用PubNub.
我对这种应用程序没有多少经验.我知道需要做什么,但只想得到有经验的人的意见.
这是我计划实施的模型:
这看起来像是朝着正确的方向前进吗?或者可以做得更好?或者我可以使用任何其他服务?
我正在开发一个Android应用程序.在我的应用程序中,我必须与parse.com实现pubnub聊天.我找到了以下代码. github链接
在Android studio中成功集成项目.登录后,当我开始聊天消息时,我没有发送消息
Error sending message:[Error: 112-0] : Authentication Failure. Incorrect Authentication Key.
如果我们再次登录,那么我可以看到我发送的所有邮件但无法发送新邮件.请帮我修复此问题.
寻找使用PubNub将实时更新发送到用户的Web浏览器.
我查看了他们的网站和资料.看起来他们有几个不同的选择.
我们希望使用它将实时更新发送到用户正在查看的网页.这些信息很简单,比如"刚刚收到消息".我们不是试图实施聊天程序或类似的东西.
PubNub是一个很好的解决方案吗?如果是这样,应该使用哪个版本的服务?
我们在Heroku服务器上运行Django.
非常感谢!
我们在Appcelerator中完成了一个非常基本的应用程序(iOS/Android),每周都会收到一次更新.此更新将发送给订阅推送通知服务的所有用户.
到目前为止,我们上个月在此应用程序上安装了约35,000个活动用户,但有7,000名活跃用户.我们一直在为所有推送通知评估两种服务:
Appcelerator云服务很好,但我们不愿意支付那么多.Parse和StackMob的价格低于Appcelerator Cloud服务,通过我们的分析,我们甚至可以在两种服务上使用免费服务(StackMob = 60k推送通知+ 60k api调用,Parse 1M api调用+ 1M推送).
如果我们要使用Parse,我们需要从Marketplace购买Android和iOS模块(每个30美元/年).哪个好.在对应方面,我认为我们可以使用StackMob上的REST API来订阅推送服务.
问题:
提前致谢.
我在Appcelerator论坛上问了同样的问题.过了一段时间,用户回来时有几个答案和用户使用Parse.com.
我结束了Parse.com的实现,使用Appcelerator Market上的Android和iOS插件非常简单.
我正在努力如何使用rxjs lib将以下内容转换为observable.
var client = PUBNUB.init({
publish_key: 'pubkey',
subscribe_key: 'subkey'
});
client.subscribe({
channel: 'admin:posts',
message: function(message, env, channel){console.log("Message");},
connect: function(){console.log("Connected");},
disconnect: function(){console.log("Disconnected");},
reconnect: function(){console.log("Reconnected");},
error: function(){console.log("Network Error");},
});
Run Code Online (Sandbox Code Playgroud)
我希望将消息回调转换为observable以及其余的回调.
关于如何做到这一点的任何想法?
谢谢
以下是我最终使用它来实现这一目标.我应该补充一点,我需要在用户登录并清理注销后才订阅pubnub.
如果这是一个好方法,请告诉我:
var self = this;
var logins = Rx.Observable.create(function (obs) {
//Using a session manager in ember.
self.get('session').on('sessionAuthenticationSucceeded', function(e){
var data = {
token:this.content.secure.token,
email:this.content.secure.email
}
obs.onNext(data);
});
self.get('session').on('sessionAuthenticationFailed', function(e){obs.onError(e)});
return function(){
self.get('session').off('sessionAuthenticationSucceeded', function(e){obs.onNext(e)});
self.get('session').off('sessionAuthenticationFailed', function(e){obs.onError(e)});
}
});
var logouts = Rx.Observable.create(function (obs) {
self.get('session').on('sessionInvalidationSucceeded', …Run Code Online (Sandbox Code Playgroud) 关于PubNub History API的页面指出
history() 函数返回最多 100 条消息、开始时间标记和结束时间标记的列表。
有没有办法检索超过 100 条消息?
我目前不是 PubNub 的付费客户。
我们正在使用Android构建聊天应用程序,并且很难确定消息的消息排序策略。到目前为止,我们一直在将设备时间用于已发送的消息,并将服务器时间用于已接收的消息。我们意识到,如果设备时间与服务器时间不同步,该策略很容易失败。
作为替代方案,我们计划使用设备时间来发送和接收消息,以保持正确的顺序。考虑到可能会错误地设置设备时间的情况,如果在Publish回调中收到的PubNub timetoken与用户的设备时间相去甚远,我们计划向用户展示祝酒词。下面的代码段:
这是消息排序的可接受策略吗?是否有更好的选择。
public void successCallback(String channel,
Object message) {
if (channel.equals(getUserChannel())) {
JSONArray messageDetails = (JSONArray) message;
if(messageDetails.length() >2)
try {
long timeToken = Long.parseLong(messageDetails.getString(2));
timeToken = timeToken / 10000;
changeMessageStatus(chatMessage.getMobileId(), Status.SENT);
long diffValue = timeToken - Calendar.getInstance().getTimeInMillis();
if(Math.abs(diffValue) > Constants.TIME_DIFF_THRESHOLD)
{
applicationHandler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(getApplicationContext(), getString(R.string.incorrect_time), Toast.LENGTH_SHORT).show();
}
});
}
Log.d(Constants.TAG,"Diff Time: " + String.valueOf(diffValue));
} catch (JSONException e) {
e.printStackTrace();
}
}
pubnub.unsubscribeAll();
}
Run Code Online (Sandbox Code Playgroud) 我以前问过这个问题,但没有任何运气..我在本教程后遇到问题https://www.pubnub.com/blog/2014-10-21-building-a-webrtc-video-and-voice-chat - 应用/.我写了代码,它在本地网络上完美运行,但是当我尝试连接远程客户端(即不在同一网络上)时,代码不再起作用了.它只显示一个黑屏,客户端的视频应该是.
phone.receive(function(session){
session.connected(function(session){
$("#vid-box").append(session.video); //outputs black screen
});
session.ended(function(session) {alert("Call ended: "+session.number});
});
Run Code Online (Sandbox Code Playgroud)
我甚至联系了PubNub,但他们无法提供帮助.有人有什么想法吗?