当前位置: 首页>移动开发>正文

android设备如何实时往管理平台推送视频 安卓实时推送

一、移动推送 TPNS 简介


移动推送 TPNS 是一款专业的移动 APP 推送平台,支持百亿级的通知/消息推送,秒级触达用户,能够有效提升用户留存率、活跃度。TPNS 提供了全链路的移动推送能力,只需接入腾讯云 TPNS 的 SDK(3分钟即可完成接入,点击这里 查看教程),就可以立即将推送消息送达到用户的移动设备。

同时,移动推送 TPNS 还提供了操作便捷的网页端管理台,方便开发者进行推送消息管理,推送数据查看,推送调试。您只需要进行简单的配置,即可发送消息,并且实时观测数据。

为了帮助您灵活地定制推送相关业务逻辑,移动推送 TPNS 还提供了全面的终端和后台 API,通过这些 API,您可以实现个性化的触达等高级使用场景。

二、常用场景流程说明


官网链接: 常用场景流程说明

设备注册流程

android设备如何实时往管理平台推送视频 安卓实时推送,android设备如何实时往管理平台推送视频 安卓实时推送_android,第1张

设备反注册流程

android设备如何实时往管理平台推送视频 安卓实时推送,android设备如何实时往管理平台推送视频 安卓实时推送_javascript_02,第2张

账号相关流程

android设备如何实时往管理平台推送视频 安卓实时推送,android设备如何实时往管理平台推送视频 安卓实时推送_javascript_03,第3张

三、SDK 集成


1.接入前准备


创建 Android 平台产品 ( 前提条件:已注册腾讯云账号。)

官方链接: 创建产品和应用

  • 登录 移动推送 TPNS 控制台,单击左侧菜单栏【产品管理】。
  • 进入产品管理页面,单击【新增产品】。
  • 进入新增产品页面,填写产品名称、产品详情、选择产品分类和服务接入点
  • 勾选下方 Android、iOS、macOS 时,系统将默认为您创建该平台下的应用。
  • android设备如何实时往管理平台推送视频 安卓实时推送,android设备如何实时往管理平台推送视频 安卓实时推送_腾讯云_04,第4张

  • 单击【确定】,即可完成产品新增
  • android设备如何实时往管理平台推送视频 安卓实时推送,android设备如何实时往管理平台推送视频 安卓实时推送_android_05,第5张

创建 Android 平台应用

  • 登录 移动推送 TPNS 控制台,选择左侧菜单栏【产品管理】。
  • 进入产品列表页面,选择已创建的产品,单击【新增应用】,勾选平台【Android】。
  • 填写应用名称,单击【确定】即可完成应用创建。

    完成以上步骤后,进入应用的【配置管理】页面,准备接入

2.前端集成和 SDK 文档


官网链接: AndroidStudio Gradle 自动集成(含手动集成,此处不做演示)

  1. 登录 移动推送 TPNS 控制台,在【产品管理】>【配置管理】页面获取应用的 AccessID、AccessKey。
  2. 在 SDK 下载 页面,获取当前最新版本号。
  3. 在 app build.gradle 文件下,配置以下内容:
android {
......
defaultConfig {
     //控制台上注册的包名.注意application ID 和当前的应用包名以及控制台上注册应用的包名必须一致。
    applicationId "您的包名"
    ......
     ndk {
        //根据需要 自行选择添加的对应cpu类型的.so库。
        abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
        // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
    }
     manifestPlaceholders = [
         XG_ACCESS_ID : "注册应用的accessid",
        XG_ACCESS_KEY : "注册应用的accesskey",
    ]
    ......
}
......
}
dependencies {
......
//添加以下依赖             
implementation 'com.tencent.tpns:tpns:[VERSION]-release' 
   // TPNS 推送 [VERSION] 为最新 SDK 版本号,即为上述步骤2获取的版本号
}
  1. 调试
    开启 Debug 日志数据,上线时请设置为 false。
XGPushConfig.enableDebug(this,true);
  1. Token 注册
XGPushManager.registerPush(this, new XGIOperateCallback() {
 @Override
 public void onSuccess(Object data, int flag) {
     //token在设备卸载重装的时候有可能会变
     Log.d("TPush", "注册成功,设备token为:" + data);
 }
  @Override
 public void onFail(Object data, int errCode, String msg) {
     Log.d("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);
 }
});

过滤 “TPush” 注册成功的日志如下:

TPNS register push success with token : 6ed8af8d7b18049d9fed116a9db9c71ab44d5565
  1. 接口文档以及使用说明

参考官网

3、Java后端集成和 API 文档


REST API 是移动推送 TPNS 提供给 App 后台的 HTTP 管理接口,供开发者远程调用推送服务。
REST API 支持 HTTP 和 HTTPS 协议,为了提高安全性,建议使用 HTTPS 协议。
官网链接: Api文档

SDK 说明

本 SDK 提供 TPNS 服务端接口的 Java 封装,与移动推送 TPNS 后台通信。使用时引用 XingeApp 包即可,本 SDK 封装的主要是 V3 推送相关接口。

集成方式

Maven 依赖引用方式:

<dependency>
        <groupId>com.github.xingePush</groupId>
        <artifactId>xinge</artifactId>
        <version>1.2.4.2</version>
</dependency>

使用方法

XingeApp 接口说明
该类提供与 TPNS 后台交互的接口。由 XingeApp.Builder 进行构建,对应参数如下

参数名

类型

必需

默认值

参数描述

appId

String



推送目标 AccessID,可在 产品管理 页面获取。

secretKey

String



推送密钥,可在【产品管理】 -【应用配置】页面获取。

proxy

Proxy


Proxy.NO_PROXY

如果需要设置代理可以设定该参数

connectTimeOut

Integer


10s

链接超时时间设置

readTimeOut

Integer


10s

请求超时时间设置

domainUrl

String


https://openapi.xg.qq.com/

请求接口服务域名地址,默认为请求信鸽平台的接口地址。使用时需要根据您产品的服务接入点选择 请求服务地址

示例

XingeApp xingeApp = new XingeApp.Builder()
      .appId(appid)
      .secretKey(secretKey)
      .domainUrl(“https://api.tpns.tencent.com/”)    
      .build();
PushAppRequest pushAppRequest = new PushAppRequest();
//完善PushAppRequest  消息
... 
JSONObject ret =  xingeApp.pushApp(pushAppRequest );

pushAppRequest 接口说明

该类提供封装好的推送消息体,各参数说明及使用方法可参考 推送接口说明。

示例

Android 单设备推送示例

public JSONObject pushTokenAndroid() {
      PushAppRequest pushAppRequest = new PushAppRequest();
      pushAppRequest.setAudience_type(AudienceType.token);
      pushAppRequest.setMessage_type(MessageType.notify);
      Message message = new Message();
      message.setTitle("title");
      message.setContent("content");
      pushAppRequest.setMessage(message);
      MessageAndroid messageAndroid = new MessageAndroid();
      message.setAndroid(messageAndroid);
      ArrayList<String> tokenList = new ArrayList();
      tokenList.add("04cac74a714f61bf089********63d880993");
      pushAppRequest.setToken_list(tokenList);
      return this.xingeApp.pushApp(pushAppRequest);
  }

Android 单账号推送示例

public JSONObject pushAccountAndroid() {
      PushAppRequest pushAppRequest = new PushAppRequest();
      pushAppRequest.setAudience_type(AudienceType.account);
      pushAppRequest.setPlatform(Platform.android);
      pushAppRequest.setMessage_type(MessageType.notify);
      pushAppRequest.setAccount_push_type(1);
      Message message = new Message();
      message.setTitle("title");
      message.setContent("content");
      MessageAndroid messageAndroid = new MessageAndroid();
      message.setAndroid(messageAndroid);
      pushAppRequest.setMessage(message);
      ArrayList<String> accountList = new ArrayList();
      accountList.add("123");
      pushAppRequest.setAccount_list(accountList);
      return this.xingeApp.pushApp(pushAppRequest);
  }

Android 标签推送示例

public JSONObject pushTagAndroid() {
      PushAppRequest pushAppRequest = new PushAppRequest();
      pushAppRequest.setAudience_type(AudienceType.tag);
      pushAppRequest.setPlatform(Platform.android);
      pushAppRequest.setMessage_type(MessageType.notify);
      Message message = new Message();
      message.setTitle("title");
      message.setContent("content");
      MessageAndroid messageAndroid = new MessageAndroid();
      message.setAndroid(messageAndroid);
      pushAppRequest.setMessage(message);
      ArrayList<String> tagList = new ArrayList();
      tagList.add("tag");
      TagListObject tagListObject = new TagListObject();
      tagListObject.setTags(tagList);
      tagListObject.setOp(OpType.OR);
      pushAppRequest.setTag_list(tagListObject);
      return this.xingeApp.pushApp(pushAppRequest);
  }

Android 全部设备推送示例

public JSONObject pushAllAndroid() {
      PushAppRequest pushAppRequest = new PushAppRequest();
      pushAppRequest.setAudience_type(AudienceType.all);
      pushAppRequest.setPlatform(Platform.android);
      pushAppRequest.setMessage_type(MessageType.notify);
      Message message = new Message();
      message.setTitle("title");
      message.setContent("content");
      MessageAndroid messageAndroid = new MessageAndroid();
      message.setAndroid(messageAndroid);
      pushAppRequest.setMessage(message);
      return this.xingeApp.pushApp(pushAppRequest);
  }

推送应答示例

{"result":"{}","environment":"","push_id":"1328245138690125824","err_msg":"NO_ERROR","err_msg_zh":"","ret_code":0,"seq":0}



https://www.xamrdz.com/mobile/4g61951306.html

相关文章: