我正在尝试为社交媒体共享开发Android应用.我知道PubNub如何使用云服务器以快速的速度和安全性共享数据.我想在我的应用程序中使用它.如果有API,请告诉我它是如何工作的.
我正在寻找Pusher与PubNub专有的iOS客户端的优缺点.在资源利用(电池消耗,速度等)和交付可靠性方面.似乎PubNub有一个官方iOS库,但Pusher库是由第三方创建的,而不是正式维护的?您使用这些库的经验是什么?
我有一个移动应用程序,用户可以通过聊天(用户只对用户,而不是聊天室)与对方交谈.
今天,一切都是同步的.我们正在考虑将解决方案转换为更"实时"的方式,可能使用PubNub或Pusher.
我们想知道最好的方法,因为我们的服务器需要存储每个发送的消息.
我们想到的是:
我的问题是关于服务器,今天我们有一个Nginx/PHP后端.我们希望我们的服务器能够监听所有用户频道,因为我们需要在我们自己的服务器上存储用户发送的消息.
对于用户与用户的通信,我们正在考虑在消息中创建自己的协议.例如.如果用户111想要向用户222发送"hello",则他可以发布"to:222 hello",这将由服务器检索.
收到此命令后,服务器会将"from:111 hello"推送到他自己的频道(即222).
我在这个设计中看到的问题是我们的服务器需要打开尽可能多的渠道,因为我们的数据库中有总用户.
我没有看到更好的方法来做到这一点.
有没有人知道是否有一个Pubnub功能可以立即从频道取消订阅所有用户?我的意思是不操纵常规功能
pubnub.unsubscribe({
channel: 'my_channel',
callback: function() {
/* something */
}
});
Run Code Online (Sandbox Code Playgroud)
我开始建立一个大规模取消订阅自己的功能 - 但是,嘿,在尝试令人讨厌的东西之前询问周围总是一个好主意!
ps - 对不起,如果之前已经问过这个Pubnub问题.我环顾四周,似乎没有答案.
谢谢!
有没有人能够将PubNub与React Native集成?
PubNub支持团队告诉我使用pubnub_browserify包,它应该工作.但是,当我这样做时,require('pubnub_browserify')
我得到一个错误,http
找不到该模块:
Unable to resolve module http from /Users/jfender/Documents/Workspace/KaiwaReact/node_modules/pubnub_browserify/browserify_node/pubnub.js: Invalid directory /Users/node_modules/http
运行npm install http --save
不会更改错误.
我使用的是Node v5.1.0,npm 3.3.12和React Native 0.14.2.
这是我的package.json:
{
"name": "KaiwaReact",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "react-native start"
},
"dependencies": {
"eslint": "^1.10.0",
"eslint-plugin-react": "^3.9.0",
"parse": "^1.6.9",
"parse-react": "^0.5.0",
"pubnub_browserify": "^1.0.2",
"react-native": "^0.14.2"
}
}
Run Code Online (Sandbox Code Playgroud) 我的应用程序使用硬编码的子键和pubkey初始化PubNub,然后订阅/发布到一个频道.如何阻止某人对我的应用进行逆向工程,收集子/ pub键并将垃圾信息发布到我的频道?
TL; DR见下文
我的Android应用程序的核心功能是在前台服务中广播用户的当前位置,该服务在从活动中解除绑定后继续运行.在发布到频道和从频道接收数据的订阅者方面,我的一切工作正常.服务很好.我甚至动画谷歌地图相机,以遵循从订阅的消息收到的位置.
我担心的是我收到这条消息:
I/Choreographer: Skipped 49 frames! The application may be doing too much work on its main thread.
Run Code Online (Sandbox Code Playgroud)
我当然研究过这条消息.很多人似乎都说它与动画有关,所以我认为它与地图有关,因为它是唯一动画的东西.虽然,我也了解到编舞者可以因为其他原因而产生这个信息.
当我的应用程序启动时,它会启动一个前台服务,该服务使用GoogleAPIClient连接到谷歌位置服务.初始化后,我立即请求我当前的位置并使用PubNub将lng和lat广播到一个频道.然后我订阅该频道,当收到消息时,我的MapFragmentPresenter类会侦听来自服务的位置更新.然后,演示者调用MapFragment的视图(MVP中的V)来为摄像机设置动画并将标记放置在每个新位置.
这一切都很好.我只是想确保我没有引起跳过的帧并且没有在主线程上放太多工作.考虑到我计划在其上做的所有其他事情,我现在在主线程上做的很少.现在我只是不断地重新定位相机以跟随设备的当前位置,我认为非常基本.
此外,我没有使用任何唤醒锁功能,但我的PubNub广播工作正常.为什么是这样?我读到某个地方,当设备被锁定时使用PubNub运行需要这个,但我的工作没有它.
对不起,很长的帖子.
注意:我没有大型资源文件.除了从AS本身导入的图标之外,我甚至没有添加任何其他内容.
TL; DR 我似乎在我的主线程上做了太多.谷歌位置服务和PubNub操作可以在服务中的不同线程上完成,这将解决我的问题吗?
问题:
这是一些代码:
感谢您抽出宝贵的时间!
MapViewFragment
public class MapViewFragment extends Fragment
implements OnMapReadyCallback, IMapFragment {
private static final String TAG = "MAP_VIEW_FRAGMENT";
private MapView mapView;
private GoogleMap gMap;
private IMapPresenter presenter;
private boolean mapReady;
private Handler handler;
private LatLng myLocation;
//ToDo: newInstance method
//==========================
//Fragment Lifecycle
//==========================
@Override @Nullable …
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个IoT +数据分析系统,我无法决定使用哪种技术或服务进行摄取.
最终目标的高级描述是:
我的问题是,如果我们只需要~10秒的响应时间,我们应该使用什么样的pubsub系统?(例如,以下是可接受的:物联网设备检测到事件,然后大约10秒后它会显示在用户的仪表板上或发出警报)
以下是我的一些问题:
此外,不确定是否值得一提,但目前,该团队只是我和其他2个完整堆栈开发人员.我们已经阅读了Kafka和Zookeeper,但我们都没有过去推出它的教程示例.
我正在使用 PubNub (GO SDK) 发布/订阅服务来接收消息,但即使我能够google.com
从容器内部ping 通,我也没有收到任何消息。
在 Pubnub 日志中,每次我的程序尝试连接到源(Pubnub 服务器)时,我都会收到“拨号 tcp:i/o 超时”错误。我猜这是由于主机或容器中的 Internet 连接速度较慢。
我应该怎么做才能解决这个错误?
我想知道从 pubnub.history 中检索到的消息是谁发送的!
pubnub.history() 只返回时间令牌和消息。
pubnub ×10
android ×3
javascript ×2
pusher ×2
apache-kafka ×1
chat ×1
docker ×1
go ×1
google-maps ×1
ios ×1
iot ×1
jquery ×1
node.js ×1
objective-c ×1
react-native ×1
security ×1
unsubscribe ×1