标签: pubnub

如何在Android应用程序中使用PubNub?

我正在尝试为社交媒体共享开发Android应用.我知道PubNub如何使用云服务器以快速的速度和安全性共享数据.我想在我的应用程序中使用它.如果有API,请告诉我它是如何工作的.

android pubnub

5
推荐指数
1
解决办法
4228
查看次数

Pusher与PubNub for iOS

我正在寻找Pusher与PubNub专有的iOS客户端的优缺点.在资源利用(电池消耗,速度等)和交付可靠性方面.似乎PubNub有一个官方iOS库,但Pusher库是由第三方创建的,而不是正式维护的?您使用这些库的经验是什么?

objective-c push-notification ios pusher pubnub

5
推荐指数
1
解决办法
1580
查看次数

PubNub或Pusher并将数据存储在我自己的服务器上

我有一个移动应用程序,用户可以通过聊天(用户只对用户,而不是聊天室)与对方交谈.

今天,一切都是同步的.我们正在考虑将解决方案转换为更"实时"的方式,可能使用PubNub或Pusher.

我们想知道最好的方法,因为我们的服务器需要存储每个发送的消息.

我们想到的是:

  • 每个移动应用程序都会使用用户ID作为频道名称来创建频道.
  • 此频道将用于移动应用/服务器通信.

我的问题是关于服务器,今天我们有一个Nginx/PHP后端.我们希望我们的服务器能够监听所有用户频道,因为我们需要在我们自己的服务器上存储用户发送的消息.

对于用户与用户的通信,我们正在考虑在消息中创建自己的协议.例如.如果用户111想要向用户222发送"hello",则他可以发布"to:222 hello",这将由服务器检索.

收到此命令后,服务器会将"from:111 hello"推送到他自己的频道(即222).

我在这个设计中看到的问题是我们的服务器需要打开尽可能多的渠道,因为我们的数据库中有总用户.

我没有看到更好的方法来做到这一点.

javascript node.js pusher pubnub

5
推荐指数
1
解决办法
3593
查看次数

Pubnub - 取消订阅特定频道中的所有活动用户

有没有人知道是否有一个Pubnub功能可以立即从频道取消订阅所有用户?我的意思是不操纵常规功能

pubnub.unsubscribe({
channel: 'my_channel',
callback: function() {
/* something */
}
});
Run Code Online (Sandbox Code Playgroud)

我开始建立一个大规模取消订阅自己的功能 - 但是,嘿,在尝试令人讨厌的东西之前询问周围总是一个好主意!

ps - 对不起,如果之前已经问过这个Pubnub问题.我环顾四周,似乎没有答案.

谢谢!

javascript jquery chat unsubscribe pubnub

5
推荐指数
1
解决办法
981
查看次数

使用PubNub和React Native

有没有人能够将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)

pubnub react-native

5
推荐指数
1
解决办法
2262
查看次数

PubNub安全反对某人逆向工程Android应用程序

我的应用程序使用硬编码的子键和pubkey初始化PubNub,然后订阅/发布到一个频道.如何阻止某人对我的应用进行逆向工程,收集子/ pub键并将垃圾信息发布到我的频道?

security android pubnub

5
推荐指数
1
解决办法
199
查看次数

PubNub在工作线程上

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操作可以在服务中的不同线程上完成,这将解决我的问题吗?

问题:

  1. 应该/我可以在工作线程上执行所有位置请求吗?
  2. 应该/可以将PubNub操作放在自己的线程上吗?
  3. 我做得不好吗?
  4. 当设备处于睡眠/锁定状态时,我的前台服务似乎工作得很好,但我根本没有弄乱WAKE_LOCK.我是不是该?当我的服务似乎正在做我期望的一切时,操纵锁定状态的区别是什么?

这是一些代码:

感谢您抽出宝贵的时间!

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)

multithreading android google-maps pubnub

5
推荐指数
1
解决办法
154
查看次数

物联网数据系统设计:Google Pub/Sub vs Kafka vs Kinesis vs PubNub用于物联网数据摄取?

我正在尝试构建一个IoT +数据分析系统,我无法决定使用哪种技术或服务进行摄取.

最终目标的高级描述是:

  1. 物联网设备将数据推送到物联网网关(使用Zigbee,Z波,蓝牙等)
  2. 物联网网关(连接到互联网)将数据推送到发布/订阅系统
  3. 后端服务处理来自pub/sub系统的数据,更新仪表板并发送警报

我的问题是,如果我们只需要~10秒的响应时间,我们应该使用什么样的pubsub系统?(例如,以下是可接受的:物联网设备检测到事件,然后大约10秒后它会显示在用户的仪表板上或发出警报)

以下是我的一些问题:

  1. 我看到PubNub在物联网中广告宣传了很多东西.我的理解是,PubNub基本上是一个非常快速的pubsub系统,保证不到1/4秒的交付 - 这是对它的正确理解吗?但与使用Google的Pub/Sub或维护我们自己的Kafka相比,PubNub有点贵.
  2. Google Pub/Sub在某种意义上与PubNub类似,因为与单个数据中心中运行的单个自我管理的Kafka群集不同,Google Pub/Sub拥有自己的网络,因为它是Google的一部分吗?(类似于PubNub是一个"数据流网络"?)
  3. 如果我使用Kafka,生产者应该在网关设备中吗?
    1. 如果生产者不在网关设备中,那么Kafka生产者是否应该在我们的服务器上并且有一个REST API来接受来自网关设备的消息?
    2. 如果Kafka生产商IS在网关设备中,是否需要在Kafka经纪人面前有任何特殊的东西让他们接受来自网关设备的消息?
  4. PubNub可用于将命令发送回IoT设备.这可以通过Google Pub/Sub或Kafka完成吗?
    1. 将命令推送到IoT设备使用Kafka,每个Gateway设备是否需要一个等待来自其订阅主题的消息的消费者?(例如命令)

此外,不确定是否值得一提,但目前,该团队只是我和其他2个完整堆栈开发人员.我们已经阅读了Kafka和Zookeeper,但我们都没有过去推出它的教程示例.

publish-subscribe pubnub apache-kafka iot

5
推荐指数
2
解决办法
2123
查看次数

获取拨号 tcp:从容器内的服务访问互联网时的 i/o 超时

我正在使用 PubNub (GO SDK) 发布/订阅服务来接收消息,但即使我能够google.com从容器内部ping 通,我也没有收到任何消息。

在 Pubnub 日志中,每次我的程序尝试连接到源(Pubnub 服务器)时,我都会收到“拨号 tcp:i/o 超时”错误。我猜这是由于主机或容器中的 Internet 连接速度较慢。

我应该怎么做才能解决这个错误?

go pubnub docker

5
推荐指数
1
解决办法
1万
查看次数

如何从 pubnub 历史记录中获取消息发件人 UUID/元数据?

我想知道从 pubnub.history 中检索到的消息是谁发送的!

pubnub.history() 只返回时间令牌和消息。

pubnub

5
推荐指数
1
解决办法
549
查看次数