摘要:

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. 四月二十七日java基础知识

    1.多线程的主要目的是讲一个程序中的各个"程序段"并发化2.并行执行通常表示为同一时刻有多个代码在处理器上执行3.并发执行通常表示为在单个处理器上,同一时刻只执行一个代码,但在一个 ...

  2. Terraform 系列-Terraform 简介

    系列文章 Terraform 系列文章 前言 最近在使用 Terraform 来置备 OCI 的 Always Free Tier, 发现它非常好用.总结学习下:Terraform 的基础知识. 什么 ...

  3. Albert理论详解:用矩阵分解与跨层参数共享减少参数量

    1.介绍 Albert是Bert的一个变种,它在Bert的基础上减少了参数量,使整个模型更加的"轻量化",同时也保持了Bert的性能,但值得注意的是,Albert虽然显著地减少了参 ...

  4. 【对比】文心一言对飚ChatGPT实操对比体验

    前言 缘由 百度[文心一言]体验申请通过 本狗中午干饭时,天降短信,告知可以体验文心一言,苦等一个月的实操终于到来.心中这好奇的对比心理油然而生,到底是老美的[ChatGPT]厉害,还是咱度娘的[文心 ...

  5. [OpenCV-Python] 9 图像的基础操作

    文章目录 OpenCV-Python: 核心操作 9 图像的基础操作 9.1 获取并修改像素值 9.2 获取图像属性 9.3 图像 ROI 9.4 拆分及合并图像通道 9.5 为图像扩边(填充) Op ...

  6. [ [Ynoi2013] 无力回天 NOI2017 ] 解题报告

    [Ynoi2013] 无力回天 NOI2017 首先看到异或,想到能维护异或的东西就那几样(线性基/01trie/数位 dp/FWT),再看到求选任意个数后的异或最大值,线性基无疑了. 这时再看还要维 ...

  7. Comparator之用最少数量的箭引爆气球

    文章目录 前言 关于Comparator 原题 前言 今天刷个题,遇到一个很有趣的问题,关于Comparator的使用,感觉也是一个关于写代码的一些小细节的问题 关于Comparator Compar ...

  8. Grafana 系列-统一展示-2-Prometheus 数据源

    系列文章 Grafana 系列文章 Grafana Prometheus 数据源 Grafana 提供了对 Prometheus 的内置支持.本文会介绍 Grafana Prometheus(也包括 ...

  9. 2022-12-02:有a块草莓蛋糕,有b块芝士蛋糕,两人轮流拿蛋糕, 每次不管是谁只能选择在草莓蛋糕和芝士蛋糕中拿一种, 拿的数量在1~m之间随意, 谁先拿完最后的蛋糕谁赢。 返回先手赢还是后手赢。

    2022-12-02:有a块草莓蛋糕,有b块芝士蛋糕,两人轮流拿蛋糕, 每次不管是谁只能选择在草莓蛋糕和芝士蛋糕中拿一种, 拿的数量在1~m之间随意, 谁先拿完最后的蛋糕谁赢. 返回先手赢还是后手赢. ...

  10. 2021-06-01:K个逆序对数组。给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数。逆序对的定义如下:对于数组的第i个和第 j个元素,如果满

    2021-06-01:K个逆序对数组.给出两个整数 n 和 k,找出所有包含从 1 到 n 的数字,且恰好拥有 k 个逆序对的不同的数组的个数.逆序对的定义如下:对于数组的第i个和第 j个元素,如果满 ...