Code Monkey home page Code Monkey logo

Comments (51)

JiangJuHong avatar JiangJuHong commented on July 20, 2024

你好,离线推送目前没有确定具体时间,但是应该会在四月内

from fluttertencentimplugin.

AlanJN avatar AlanJN commented on July 20, 2024

同求 推送时间,辛苦~

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

抱歉久等,预计这个周末

from fluttertencentimplugin.

raieoncc avatar raieoncc commented on July 20, 2024

支持 有捐赠通道吗? 想尽点微薄之力

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

支持 有捐赠通道吗? 想尽点微薄之力

感谢您的支持,目前没有捐赠通道哦!如果�你对这个插件支持,可以给一个 Star!

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

离线推送现已提供两个接口:setOfflinePushSettingssetOfflinePushToken,具体Token和bussid获得方式根据腾讯云文档决定。

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

@JiangJuHong 👍
现在是能支持安卓各个厂商版的对吧,我看参数里写了

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

不同厂商需要根据腾讯云文档单独集成SDK,并获得Token

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

插件升级到 0.2.28,并在Demo中增加了小米推送的配置方法

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

@JiangJuHong 👍
确实如文档里写的没有安卓基础还是有难度
华为、oppo、vivo、小米,每个都很“特别”
先啃一下

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

@JiangJuHong
可以肯定没有类似的插件,而且出这样的插件一定非常牛,在的很多群都经常有人问到这个

from fluttertencentimplugin.

Mzrong avatar Mzrong commented on July 20, 2024

腾讯有个移动推送(信鸽)的flutter插件,你看看适合不。https://cloud.tencent.com/document/product/548/41515

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

腾讯有个移动推送(信鸽)的flutter插件,你看看适合不。https://cloud.tencent.com/document/product/548/41515

感谢您的建议,初步尝试了一下,通过接入过程中发现存在一些问题,可能会不适用于该项目,看来只有找找其它办法了

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

@JiangJuHong
尝试了两天,实在搞不动安卓,蹲你的插件了~ 🥇

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

感谢支持,但是由于工作时间安排,我不确定什么时候能完成,我尽量本周末封装小米推送出来,其次的华为推送等就很简单了

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

image
现在我这边统计到的安卓访问分布可以参考~ 华为是真的老大 😃

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

小米推送插件已经发布 xiao_mi_push_plugin,使用文档已经添加到本文档”插件集成“步骤

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

@JiangJuHong 太牛了,给你大大的赞 👍

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

感谢支持

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

华为、oppo、vivo有计划吗 🥇

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

抱歉,由于工作安排,暂时未有其它插件支持安排,”或许我会在周末空闲时间进行集成“。�如果您感兴趣,可参考 �小米Push SDK 进行集成

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

image
真是太难了,我这的用户一直反馈安卓关到后台就收不到消息了,现在用的极光的推送,ios 没问题,安卓只有打开应用才有推送。。。godkillme
华为和小米的接入应该差不太多吧,我再研究一下

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

看了一下,你们用户群体大多是华为,我可以本周末优先将华为集成进来

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

那真是太感谢了!

from fluttertencentimplugin.

Mzrong avatar Mzrong commented on July 20, 2024

您好,请教一下,在IOS端,deviceToken是需要作怎样的处理。感谢大佬!
image
我这边的处理是这样子的
image
image

from fluttertencentimplugin.

Mzrong avatar Mzrong commented on July 20, 2024

image
真是太难了,我这的用户一直反馈安卓关到后台就收不到消息了,现在用的极光的推送,ios 没问题,安卓只有打开应用才有推送。。。godkillme
华为和小米的接入应该差不太多吧,我再研究一下

老哥,IOS端如何实现,我这边卡住了。大佬能否指点一下

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

IOS 使用 APNs 获得Token,可参考文档 https://cloud.tencent.com/document/product/269/44517,据我所知,Flutter 插件库似乎已经提供了 APNs 相关插件

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

对于任何设备,我们只需要获得Token,然后调用 setOfflinePushToken 方法将Token上传到腾讯云即可

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

找了个曲线救国的路线,mob 提供了各个厂商的 api 推送的 flutter 插件
现在可以通过服务端调用它的接口也实现消息离线推送
目前测试下来发现大多数时候杀掉进程后能收到,但有时又收不到,oppo 收取状况最不好
之前 @JiangJuHong 大神提供了小米插件基本是收取没有有问题的
免费版有消息每分钟最多推送500条的限制
先可做一个临时方案
https://www.mob.com/wiki/detailed?wiki=MobPushForFlutterfenlei&id=136

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

是的,正因为我发现了信鸽、极光等插件的收费策略,所以打算对部分常用厂商提供PushSDK Flutter 支持,用户也只需要承担腾讯云IM费用即可.
实际上,我现在正在集成华为推送,但是不幸的是遇到了一些问题,我会尝试解决它.

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

无条件支持老哥,我现在在服务端写成动态的,等待切换到你的插件上,哈哈

from fluttertencentimplugin.

Mzrong avatar Mzrong commented on July 20, 2024

老哥有讨论群加一个吗

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

目前还没有,如果意向参与讨论人数多的话,我们可以创建一个.

from fluttertencentimplugin.

Mzrong avatar Mzrong commented on July 20, 2024

老哥那你创建一个群嘛,把群号发出来,大家一起讨论

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

from fluttertencentimplugin.

Mzrong avatar Mzrong commented on July 20, 2024

你好大佬,这边我想提一个小小的意见。有关IOS的APNs推送的话,插件库提供的获取device_token都是返回的16进制的字符串,而我看您的源码是使用的是str.data(using: String.Encoding.utf8)来将字符串转为Data,这样的话,我调用TencentImPlugin.setOfflinePushToken上传token时,收不到离线消息推送,一直是报错token不正确。所以,这边我实现了一个将字符串转为NSData的方法,这样就没有问题了。一个小小的建议,大佬莫见怪。我们项目的离线推送也全部好了,这里谢谢大佬提供的插件!

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

如果你的方法更优,我们可以将它引入进来,不过需要注意以下问题:

  1. 是否会出现兼容问题
  2. 是否会影响到之前内容

如果以上两个答案是否定的,能否提供PR支持,非常感谢. @Mzrong

from fluttertencentimplugin.

Mzrong avatar Mzrong commented on July 20, 2024

大佬您好,只是我这边处理获取到的device_token的方式不一样(在flutter_apns这个插件中,将device_token转成了hex string),所以可能针对每个人可能处理方式不同。这边我附上我的代码(配合插件有flutter_apns、apns_flutter)

/**
 * 将hex string 转为Data
*/
private func dataWithHexString(hex: String) -> Data {
        var hex = hex
        var data = Data()
        while(hex.count > 0) {
            let index1 = hex.index(hex.startIndex, offsetBy: 2)
            let index2 = hex.index(hex.endIndex, offsetBy: 0)
            let c: String = String(hex[hex.startIndex..<index1])
            hex = String(hex[index1..<index2])
            var ch: UInt32 = 0
            Scanner(string: c).scanHexInt32(&ch)
            var char = UInt8(ch)
            data.append(&char, count: 1)
        }
        return data
    }
/**
     * 设置离线推送Token
     */
    private func setOfflinePushToken(call: FlutterMethodCall, result: @escaping FlutterResult) {
        if let token = CommonUtils.getParam(call: call, result: result, param: "token") as? String,
           let bussid = CommonUtils.getParam(call: call, result: result, param: "bussid") as? UInt32 {

            let config = TIMTokenParam();
//            config.token = token.data(using: String.Encoding.utf8);
            config.token = dataWithHexString(hex: token)
            config.busiId = bussid;
            TIMManager.sharedInstance().setToken(config, succ: {
                result(nil);
            }, fail: TencentImUtils.returnErrorClosures(result: result))
        }
    }

在IOS13上是没有问题的,其他版本没有测试过。

from fluttertencentimplugin.

dancebear avatar dancebear commented on July 20, 2024

@Mzrong Mzrong;非常感谢,使用你的方法在iOS13下通过

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

大佬您好,只是我这边处理获取到的device_token的方式不一样(在flutter_apns这个插件中,将device_token转成了hex string),所以可能针对每个人可能处理方式不同。这边我附上我的代码(配合插件有flutter_apns、apns_flutter)

/**
 * 将hex string 转为Data
*/
private func dataWithHexString(hex: String) -> Data {
        var hex = hex
        var data = Data()
        while(hex.count > 0) {
            let index1 = hex.index(hex.startIndex, offsetBy: 2)
            let index2 = hex.index(hex.endIndex, offsetBy: 0)
            let c: String = String(hex[hex.startIndex..<index1])
            hex = String(hex[index1..<index2])
            var ch: UInt32 = 0
            Scanner(string: c).scanHexInt32(&ch)
            var char = UInt8(ch)
            data.append(&char, count: 1)
        }
        return data
    }
/**
     * 设置离线推送Token
     */
    private func setOfflinePushToken(call: FlutterMethodCall, result: @escaping FlutterResult) {
        if let token = CommonUtils.getParam(call: call, result: result, param: "token") as? String,
           let bussid = CommonUtils.getParam(call: call, result: result, param: "bussid") as? UInt32 {

            let config = TIMTokenParam();
//            config.token = token.data(using: String.Encoding.utf8);
            config.token = dataWithHexString(hex: token)
            config.busiId = bussid;
            TIMManager.sharedInstance().setToken(config, succ: {
                result(nil);
            }, fail: TencentImUtils.returnErrorClosures(result: result))
        }
    }

在IOS13上是没有问题的,其他版本没有测试过。

0.2.37 版本中引入了该方法,但是暂未全局替换,只替换了 setOfflinePushToken 接口

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

华为离线推送插件已经集成到Demo,并已更新相应文档,请参考 华为离线推送集成步骤 进行集成!

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

接下来的计划为 开发 OPPO推送SDK 插件.

from fluttertencentimplugin.

iyuhang avatar iyuhang commented on July 20, 2024

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

发现魅族开发者账号申请很复杂,所以暂定先进行 OPPO、VIVO插件

from fluttertencentimplugin.

JarnTang avatar JarnTang commented on July 20, 2024

有个疑问:这个离线推送,跟腾讯的 TPNS 有区别么

是不是直接引入腾讯的 TPNS 包就可以了,腾讯也提供flutter的版本 ,官方地址: https://git.code.tencent.com/tpns/XG-Flutter-Plugin.git

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

有个疑问:这个离线推送,跟腾讯的 TPNS 有区别么

是不是直接引入腾讯的 TPNS 包就可以了,腾讯也提供flutter的版本 ,官方地址: https://git.code.tencent.com/tpns/XG-Flutter-Plugin.git

该项目为信鸽插件,通过接入过程中发现存在一些问题,可能会不适用于该项目=

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

QQ群相关信息已更新到插件主页,欢迎加入QQ群进行讨论

from fluttertencentimplugin.

JarnTang avatar JarnTang commented on July 20, 2024

发送离线推送消息有demo么,有的话是在example下的哪个文件呢 @JiangJuHong

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

demo目前仅包含注册和订阅,暂不包含发送,如果你需要发送,请参考腾讯云TRTC离线推送相关文档。

from fluttertencentimplugin.

JiangJuHong avatar JiangJuHong commented on July 20, 2024

FlutterTencentIM插件已更新至 1.0.x,基于v5 SDK,优化参数、枚举等内容,如需要更新,请参考文档进行更新。注意:由于腾讯云 5.x api改动较大,请不要混用 5.x 和 4.x 接口,对应插件版本: 5.x -> 1.x ,4.x -> 0.x。项目地址:https://github.com/JiangJuHong/FlutterTencentImPlugin

from fluttertencentimplugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.