您的位置:首页 > 移动开发 > Android开发

Android 接入华为推送教程

2018-01-19 11:07 204 查看
大家查看华为推送的文档时有没有感觉云里雾绕的,没有大厂风范呢,本教程希望可以帮到你噢。

华为推送分为新版(HMS SDK)和旧版(PUSH SDk),本教程使用的是新版的HMS SDK 的通知栏推送! 通知栏推送! 通知栏推送!  重要的事情说三遍。。。 经过测试华为的通知栏推送在华为手机上类似于苹果的APNS,送达率挺理想的,透传的话没有这么高的送达率,自己测试的。

 通知栏推送是可以带附加字段的哦!!!可以满足我们的一些其他的需求。

大家看到这有没有一个疑问呢?HMS AGent套件是什么鬼





,还必选,,其实它就是一个demo,测试用的,里面有华为的好多服务,不只push噢







studio 配置方式:

      maven仓库

allprojects {
repositories {
jcenter()
maven { url 'http://developer.huawei.com/repo/' }
}
}

       和  gradle  

implementation 'com.huawei.android.hms:push:2.5.2.300'

eclipse的配置是下载jar包

      地址:点击打开链接

其他的按照文档去做就行了噢,下面主要说一下intent字段配置,主要用来操作点击通知后的动作的,相信大家刚看到的时候也是懵逼的状态吧。华为推送平台有这样一段描述:

    



后来才反应过来,其实就是在要打开的activity里面加上配置,然后生成一个URI 配置在后台就可以了

<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:host="com.picchost.push"-------------按自己的项目配置
android:path="/hwpush_detail"
android:scheme="piccscheme"/>------------------按自己的项目配置
</intent-filter>

然后在程序里把uri打印出来给自己的后台配置上就行了:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("piccscheme://com.picchost.push/hwpush_detail?message=what"));
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
String intentUri = intent.toUri(Intent.URI_INTENT_SCHEME);
Log.e("huaweipush","action是:" + intentUri);

注意:把参数替换成自己的参数即可。
打印出来是这样的就对了:

intent://com.picchost.push/hwpush_detail?message=what#Intent;scheme=piccscheme;launchFlags=0x20000;end

intent字段就完成了!!!
下面说一下注意事项:

1. 华为推送在emui 4.1 以上才能收到推送

2. 华为i推送在emui 4.1到 5.0 之间是控制不了在应用内不接受通知的,5.1以上可以

3. 华为推送通知栏是不叠加角标未读数的,透传可以实现!

4. 华为推送需要把华为移动服务升级到最新版哦

5. 新版setTag/getTag/deleteTag功能暂时不能使用

有说的不对的地方,欢迎大家私信指正!

      

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息