android 友盟服务端推送给客户端,Android 友盟推送 厂商通道 接入Notes

bb5672660347

image

前言

本文章也是就在接入过程中遇到的一些小问题做个记录,希望对遇到问题的开发者有些许帮助。

接入的SDK 版本为:Push SDK 6.1.0

官方文档

目前,友盟推送仅支持以下五家厂商的离线推送。

小米

华为

魅族

OPPO

VIVO

友盟推送具体文档请参考:

开始接入

统一配置

在友盟推送管理后台的【应用管理】—>【应用信息】填写各厂商的应用信息(AppKey,AppSecret等),并保存。

友盟推送管理后台地址:

公用代码块

各厂商通道弹窗功能

// FileName: MipushTestActivity.java

public class MipushTestActivity extends UmengNotifyClickActivity {

private static String TAG = MipushTestActivity.class.getName();

@Override

protected void onCreate(Bundle bundle) {

super.onCreate(bundle);

setContentView(R.layout.activity_mipush);

}

@Override

public void onMessage(Intent intent) {

super.onMessage(intent); //此方法必须调用,否则无法统计打开数

String body = intent.getStringExtra(AgooConstants.MESSAGE_BODY);

Log.i(TAG, body);

}

}

//然后在AndroidManifest.xml中配置该Activity,并设置launchMode=”singleTask”和exported=”true”:

android:name="com.umeng.message.example.MipushTestActivity"

android:launchMode="singleTask"

android:exported="true" />

推送API中一定得存在以下两个重要字段,才可以实现离线推送噢

//两个重要字段

"mipush":true

"mi_activity":"com.umeng.message.example.MipushTestActivity" //此处请填写Activity完整包路径

//推送消息json示例

{

"appkey": "",

"mi_activity": "com.umeng.message.example.MipushTestActivity"

"mipush": true,

"timestamp": 1473225266373,

"production_mode": "true",

"type": "unicast",

"device_tokens": "",

"payload":

{"body":

{"text": "from pa36a",

"after_open": "go_app",

"ticker": "Hello World",

"title": "listcastpa43"

},

"display_type": "notification",

}

}

Tips : 友盟推送管理后台直接创建推送任务时,请选择发送策略中的厂商通道需选中,并配置打开指定页面,打开指定页面需要配置有继承 UmengNotifyClickActivity 的页面完整路径,例如 MipushTestActivity 的完整路径 : com.umeng.message.example.MipushTestActivity

1. 小米

① 小米开放平台 —> 注册账号 —> 创建应用

② 友盟推送管理后台配置AppSecret

③ 调用方法注册,入参AppId,AppKey,即可:

MiPushRegistar.register(final Context context, final String XIAOMI_ID, final String XIAOMI_KEY);

小米推送无重要注意事项,不过多赘述

2. 华为

① 华为开放平台 —> 注册账号 —> 创建应用

【我的应用】—>【运营】—>【推送服务】

开启推送服务

配置回执状态

回调地址:

https://agoo-ack.m.taobao.com/hw/

HTTPS证书:

-----BEGIN CERTIFICATE-----

MIIEaTCCA1GgAwIBAgILBAAAAAABRE7wQkcwDQYJKoZIhvcNAQELBQAwVzELMAkG

A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv

b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw

MDBaFw0yNDAyMjAxMDAwMDBaMGYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i

YWxTaWduIG52LXNhMTwwOgYDVQQDEzNHbG9iYWxTaWduIE9yZ2FuaXphdGlvbiBW

YWxpZGF0aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IB

DwAwggEKAoIBAQDHDmw/I5N/zHClnSDDDlM/fsBOwphJykfVI+8DNIV0yKMCLkZc

C33JiJ1Pi/D4nGyMVTXbv/Kz6vvjVudKRtkTIso21ZvBqOOWQ5PyDLzm+ebomchj

SHh/VzZpGhkdWtHUfcKc1H/hgBKueuqI6lfYygoKOhJJomIZeg0k9zfrtHOSewUj

mxK1zusp36QUArkBpdSmnENkiN74fv7j9R7l/tyjqORmMdlMJekYuYlZCa7pnRxt

Nw9KHjUgKOKv1CGLAcRFrW4rY6uSa2EKTSDtc7p8zv4WtdufgPDWi2zZCHlKT3hl

2pK8vjX5s8T5J4BO/5ZS5gIg4Qdz6V0rvbLxAgMBAAGjggElMIIBITAOBgNVHQ8B

Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUlt5h8b0cFilT

HMDMfTuDAEDmGnwwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0

dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCow

KKAmoCSGImh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYB

BQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNv

bS9yb290cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZI

hvcNAQELBQADggEBAEYq7l69rgFgNzERhnF0tkZJyBAW/i9iIxerH4f4gu3K3w4s

32R1juUYcqeMOovJrKV3UPfvnqTgoI8UV6MqX+x+bRDmuo2wCId2Dkyy2VG7EQLy

XN0cvfNVlg/UBsD84iOKJHDTu/B5GqdhcIOKrwbFINihY9Bsrk8y1658GEV1BSl3

30JAZGSGvip2CTFvHST0mdCF/vIhCPnG9vHQWe3WVjwIKANnuvD58ZAWR65n5ryA

SOlCdjSXVWkkDoPWoC209fN5ikkodBpBocLTJIg1MGCUF7ThBCIxPTsvFwayuJ2G

K1pp74P1S8SqtCr4fKGxhZSM9AyHDPSsQPhZSZg=

-----END CERTIFICATE-----

配置SHA256证书指纹,切记,切记,切记,重要的话说三遍

位置:【我的项目】—>【项目设置】—>【常规】

② 友盟推送管理后台配置AppId,AppSecret

③ 加入代码块

//需要在AndroidManifest.xml中配置AppID,其中xxxxxx为华为应用的AppID

android:name="com.huawei.hms.client.appid"

android:value="appid=xxxxxx" />

④ 调用方法注册,即可:

HuaWeiRegister.register(final Context context);

⑤ 还是无法推送的话,可以尝试一下 targetSdkVersion 降低至 25

Tips : 应用未通过审核是不影响离线推送服务的噢!

3. 魅族

① 魅族开放平台 —> 注册账号 —> 创建应用

配置回执

位置:【配置管理】—>【回执管理】—>【新增】

http://agoo-ack.m.taobao.com/mz/

② 友盟推送管理后台配置AppId,AppSecret

③ 加入代码块

//自定义Recevier组件受魅族接入方式限制,必须在包名目录实现一个自定义Recevier,继承自MeizuPushReceiver,例如:

public class MeizuTestReceiver extends MeizuPushReceiver {

}

//然后在AndroidManifest.xml中配置该Recevier,例如:

④ 调用方法注册,入参AppId,AppKey,即可:

MeizuRegister.register(Context context, String meizuAppId, String meizuAppKey);

4. OPPO

① OPPO推送平台 —> 注册账号 —> 创建应用

② 友盟推送管理后台配置AppKey, MasterSecrect (此时的 MasterSecrect 对应OPPO推送平台的 AppServerSecret)

③ 调用方法注册,入参AppKey,AppSecret (此时的 AppSecret 对应OPPO推送平台的 AppSecret),即可:

//OPPO通道,参数1为app key,参数2为app secret

OppoRegister.register(this, "xxxxxx", "xxxxxx");

OPPO推送无重要注意事项,不过多赘述

5. VIVO

① VIVO推送平台 —> 注册账号 —> 创建应用

② 友盟推送管理后台配置AppId,AppKey, AppSecret

③ 加入代码块

//在Manifest文件中声明App ID 和 App Key,示例如下:

android:name="com.vivo.push.api_key"

android:value="xxxxxx" />

android:name="com.vivo.push.app_id"

android:value="xxxxxx" />

④ 调用方法注册,即可:

//vivo 通道

VivoRegister.register(this);

Tips : 应用未通过审核是无法进行离线推送服务的噢!

VIVO推送无重要注意事项,不过多赘述

End

本文内容比较简单,只是稍微整理了一下,如果能帮助到有需要的开发者也是非常荣幸的一件事情!

本人菜鸟一枚,如有误望指出,不胜感激!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值