摘要:

GoEasy带来了一项令开发者振奋的消息:全面支持Android原生平台!现在,您可以在Android应用中使用最酷炫的实时通信功能,借助GoEasy轻松实现消息的发送和接收。本文将带您领略GoEasy最新版本的威力,为您的应用增添一抹鲜活的互动色彩。

嗨,开发者朋友们!是时候展现您的技术才华,让您的Android应用在实时通信领域熠熠生辉了!GoEasy最新版本为您呈现了一系列令人激动的功能和特性,基于订阅推送模式就可以轻松实现,现在就让我们一起来探索一下吧!

1. 集成GoEasy SDK

集成GoEasy SDK从来都是小菜一碟!只需几个简单的步骤,就能让您的Android应用拥有强大的实时通信功能。通过Gradle文件添加依赖项,初始化SDK并配置AppKey和AppSecret,您就可以轻松开启GoEasy的魔法之旅了。

1.1. 添加SDK依赖

    dependencies {
implementation 'io.goeasy:goeasy-client-java:0.1.4'
}

1.2. 初始化GoEasy,并建立GoEasy连接

在使用GoEasy进行消息的接收和发送之前,需要先初始化GoEasy对象, 并与GoEasy服务器建立websocket长连接

初始化GoEasy

    //初始化GoEasy,新加坡host:singapore.goeasy.io
GoEasy.init(“hangzhou.goeasy.io”, "您的appkey", this.getApplicationContext());

建立GoEasy websocket长连接

    GoEasy.connect(new ConnectEventListener() {

        @Override
public void onSuccess(GResult data) {
Log.i("GoEasy","连接成功");
} @Override
public void onFailed(GResult error) {
Log.i("GoEasy","Failed to connect GoEasy, code:" + error.getCode() + ",error:" + error.getData());
} @Override
public void onProgress(int attempts) {
Log.i("GoEasy", "GoEasy connect progress attempts: " + attempts);
}
});

2. 订阅channel 并接收实时消息

GoEasy为Android原生平台带来了令人垂涎的消息接收功能。您可以订阅特定频道(channel),随时接收实时消息的涌入。当新消息到达时,GoEasy SDK会立即激活onMessage回调函数,让您可以在第一时间捕捉到新鲜的消息,为用户带来极致体验。

    // test_channel 为定义的channel名称, 订阅推送模式根据channel的值来决定哪些客户端可以接收来自这个channel推送的消息,可以为任意的字符串
GPubSub.subscribe("test_channel", new SubscribeEventListener() { @Override
public void onMessage(PubSubMessage message) {
// 实时消息会自动触发onMessage回调,您可以在此处对收到的实时消息做进一步处理
Log.i("GoEasy",message.getContent());
} @Override
public void onSuccess(GResult data) {
Log.i("GoEasy","订阅成功");
} @Override
public void onFailed(GResult error) {
Log.i("GoEasy","订阅失败,错误编码:" + error.getCode() + " 错误信息:" + error.getData());
}
});

3. 发送消息

现在,您可以在您的Android应用中以惊人的速度和效率发送消息!借助GoEasy提供的API,您可以将消息直达特定用户、频道或甚至全网广播,无论是活动通知、个性化推送还是用户互动,您都能马到功成!

    // test_channel 为channel的名称,推送之后,所有订阅了“test_channel”的客户端都可以收到这条消息
GPubSub.publish("test_channel", content, new GoEasyEventListener() { @Override
public void onSuccess(GResult gResult) {
Log.i("GoEasy", gResult.getData().toString());
} @Override
public void onFailed(GResult error) {
Log.i("GoEasy","消息发送失败,错误编码:" + error.getCode() + " 错误信息:" + error.getData());
}
});

4. 停止接收某个channel的消息 (取消订阅channel)

不想继续接收消息,很简单,您可以直接取消订阅这个channel的消息。

    GPubSub.unsubscribe("test_channel", new GoEasyEventListener() {
@Override
public void onSuccess(GResult data) {
Log.i("GoEasy", "unsubscribe Success");
} @Override
public void onFailed(GResult error) {
Log.i("GoEasy", "unsubscribe Failed, code:" + error.getCode() + " content:" + error.getData());
}
});

5. 断开与GoEasy服务器的websocket连接

如果断开了GoEasy的连接,这个客户端所有订阅的channel都会失效。

    GoEasy.disconnect(new GoEasyEventListener() {
@Override
public void onSuccess(GResult data) {
Log.i("GoEasy", "Disconnect Success");
} @Override
public void onFailed(GResult error) {
Log.i("GoEasy", "Disconnect Failed, code:" + error.getCode() + " content:" + error.getData());
}
});

Android websocket demo 源码下载:

https://gitee.com/goeasy-io/helloworld/tree/master/android

https://github.com/goeasy-io/websocket-helloworld/tree/master/android

通过GoEasy实现实时消息通信,您可以为用户带来独特的互动体验。无论是个性化的促销推送、活动倒计时通知还是用户之间的实时聊天,您都能以轻松有趣的方式吸引用户,并激发他们的参与度。

GoEasy现在全面支持Android原生平台!这意味着,您不仅可以在Web上体验到GoEasy的魅力,现在您的Android应用也能与GoEasy的实时通信功能携手同行!让您的应用在Android平台上独领风骚,与用户进行更亲密、更即时的互动。

结论:

GoEasy最新版本的到来为Android开发者们带来了福音。借助GoEasy的强大实时通信功能,您可以为您的Android应用增添活力和创意,提升用户参与度和用户体验。不仅如此,GoEasy全面支持Android原生平台,为您的应用开辟了新的无限可能性。现在就加入GoEasy的大家庭,释放您的创造力,让您的应用在实时通信的海洋中航行!快来下载GoEasy最新版本,开启您的激动人心的开发之旅吧!

使用GoEasy快速实现Android原生app中的websocket消息推送的更多相关文章

  1. node.js Websocket消息推送---GoEasy

    Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送 速度快,代码简单易懂上手快 浏览器兼容性:GoEasy推送 支持websocket ...

  2. C(++) Websocket消息推送---GoEasy

    Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送 速度快,代码简单易懂上手快 浏览器兼容性:GoEasy推送 支持websocket ...

  3. SignalR 中丰富多彩的消息推送方式

    在上一篇 SignalR 文章中,演示了如何通过 SignalR 实现了简单的聊天室功能:本着简洁就是美的原则,这一篇我们也来聊聊在 SignalR 中的用户和组的概念,理解这些基础知识有助于更好的开 ...

  4. django中实现微信消息推送

    -公众号(不能主动给用户发消息) -认证的公众号:需要营业执照,需要交钱,可以发多篇文章 -未认证的公众号:一天只能发一篇文章 -服务号(微信推送) -需要申请,需要认证 -可以主动给用户推送消息 - ...

  5. SSM项目使用GoEasy 实现web消息推送服务

      一.背景 之前项目需要做一个推送功能,最开始我用websocket实现我的功能.使用websocket的好处是免费自主开发,但是有几个问题:1)浏览器的兼容问题,尤其是低版本的ie:2)因为是推送 ...

  6. Android P正式版即将到来:后台应用保活、消息推送的真正噩梦

    1.前言 对于广大Android开发者来说,Android O(即Android 8.0)还没玩热,Andriod P(即Andriod 9.0)又要来了.   下图上谷歌官方公布的Android P ...

  7. 拾人牙慧篇之——基于HTML5中websocket来实现消息推送功能

    一.写在前面 要求做一个,后台发布信息,前台能即时得到通知的消息推送功能.网上搜了也有很多方式,ajax的定时询问,Comet方式,Server-Sent方式,以及websocket.表示除了定时询问 ...

  8. Android原生APP内分享

    Android原生APP内分享,可实现数据分享以及assets文件夹分享及私有文件分享 项目地址:https://github.com/json-pu/AndroidAppShare.git

  9. APICloud原生APP中ajax需要用api.ajax

    报错截屏: APICloud原生APP中ajax请求需要用api.ajax(api对象的ajax方法来替代),否则会将引起请求失败. APICloud api.ajax

  10. android系统下消息推送机制

    一.推送方式简介: 当前随着移动互联网的不断加速,消息推送的功能越来越普遍,不仅仅是应用在邮件推送上了,更多的体现在手机的APP上.当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数 ...

随机推荐

  1. Luogu P2574 XOR的艺术 P3870 [TJOI2009]开关 P2846 [USACO08NOV]光开关Light Switching SP7259 LITE - Light Switching

    四倍经验题 简单线段树qwq(那你怎么还调了好几个小时) 修改:\(ans[cur]=(r-l+1-ans[cur]);\) 点表示的区间有多长就是有多少盏灯 亮着的关掉 暗的开启 就是上述语句了. ...

  2. elasticsearch升级和索引重建。

    1.背景描述   2020年团队决定对elasticsearch升级.es(elasticsearch缩写,下同)当前版本为0.9x,升级到5.x版本.es在本公司承载三个部分的业务,站内查询,订单数 ...

  3. 学习C语言的第一天

    今天学习C语言学习了三个部分: 第一个部分是软件环境的搭建,如何搭建一个项目 使用工具:visual studio 2010 搭建过程:新建项目.配置设置(主要是解决运行后一闪而过的问题) 第二部分是 ...

  4. Python精品书籍

    目录 Python精品书籍 * 参考资料 基础 Python编程:从入门到实践(第2版) 笨办法学_Python Coding for Kids: Python: Learn to Code with ...

  5. 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(14)-Charles过滤网络请求

    1.简介 在日常工作测试中,经常要抓包看请求的request,response是不是传的对,返回的字段值对不对,众多的请求中看得眼花缭乱,如何找到自己想要的请求,那么我们就需要过滤请求.Charles ...

  6. API Gateway vs Load Balancer:选择适合你的网络流量管理组件

    本文从对比了 API Gateway 和 Load Balancer 的功能区别,帮助读者更好地了解他们在系统架构中扮演的角色. 作者陈泵,API7.ai 技术工程师. 原文链接 由于互联网技术的发展 ...

  7. Netty服务端开发及性能优化

    作者:京东物流 王奕龙 Netty是一个异步基于事件驱动的高性能网络通信框架,可以看做是对NIO和BIO的封装,并提供了简单易用的API.Handler和工具类等,用以快速开发高性能.高可靠性的网络服 ...

  8. php获取未解码之前的原始接口请求参数

    前言 目前的几个项目,业务方基本都使用POST方式请求接口,我们本机磁盘会保留一份请求的原始参数用于请求分析和问题排查使用,一般有问题,也会基于seqid(请求唯一id)捞到日志,copy参数模拟请求 ...

  9. 2020-08-23:描述HTTPS和HTTP的区别。

    福哥答案2020-08-23: 1.地址区别http:http://开头.https:https://开头. 2.默认端口区别http:端口80.https:端口443. 3.数据传输区别http:明 ...

  10. 2020-11-20:java中,听说过CMS的并发预处理和并发可中断预处理吗?

    福哥答案2020-11-20:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/391)1.首先,CMS是一个关注停顿时间,以回收停顿时间最短为目标的垃 ...