对于应用来说,借助推送能力进行用户促活尤其重要。但是常规的推送方式,往往很难把握当前用户场景和实际需求,消息到达用户手机,却没法真正引起用户注意。这其中有一个原因是消息出现在用户设备时,运营人员无法准确知道用户当前的状态,很难做到投其所好。而这种盲推的推送方式,往往事倍功半,甚至招致用户厌烦。是否有办法可以了解用户当前的一些状态信息,做到定制化的推送呢?
华为推送5.0 新增的基于用户场景的智能推送,便是为了解决这一运营痛点。通过识别不同的用户状态,在合适的时机和场景下,向用户展示内容,从而真正的投用户所好,推送用户感兴趣的资讯。看似复杂的功能,实现起来,却非常简单。
下面我们以一个demo开发实战为例,一起看下如何快速实现基于场景推送消息。
此Demo已在Github上开源,如果你对实现方式感兴趣,可以下载源代码:
https://github.com/HMS-Core/hms-push-clientdemo-android
一、开发实战
1.集成pushSDK 5.0
1.1开发准备
1.1.1添加应用的AppGallery Connect配置文件
下载"agconnect-services.json"文件。
将下载的"agconnect-services.json"文件移至AndroidStudio开发工程app的根目录下。
1.1.2配置HMS Core SDK的Maven仓地址
打开Android Studio项目级“build.gradle”文件
添加HUAWEI agcp插件以及Maven代码库。
buildscript {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
dependencies {
classpath 'com.huawei.agconnect:agcp:1.3.1.300'
}
}
allprojects {
repositories {
google()
jcenter()
maven {url 'https://developer.huawei.com/repo/'}
}
}
1.1.3 添加编译依赖
打开应用级的“build.gradle”文件
在“dependencies”中添加如下编译依赖。
dependencies {
implementation 'com.huawei.hms:push:5.0.0.300'
}
在文件头apply plugin: 'com.android.application’下一行添加如下配置
apply plugin: 'com.huawei.agconnect'
1.1.4 在AndroidManifest.xml配置
DemoHmsMessageService类(类名由开发者自定义,此处仅是举例)继承于HmsMessageService类并实现其中的方法。
<service
android:name=".DemoHmsMessageService"
android:exported="false">
<intent-filter>
<action android:name="com.huawei.push.action.MESSAGING_EVENT" />
</intent-filter>
</service>
1.1.5 配置混淆脚本
打开工程的混淆配置文件“proguard-rules.pro”
-ignorewarning
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.hianalytics.android.**{*;}
-keep class com.huawei.updatesdk.**{*;}
-keep class com.huawei.hms.**{*;}
上述我们列举了集成的关键步骤,详细步骤参见pushsdk 5.0接入文档:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/android-config-agc-0000001050170137
确保推送功能可用再进入下一步。
二.接入情景智能推送功能
借助情景智能推送,可以实现如下场景的推送:
- 识别节假日、周末
- 识别用户当前天气情况(炎热、适宜、寒冷)
- 识别用户当前紫外线强度
- 识别用户手机是否取消了免打扰
- 识别用户设备是否连接耳机或者车载蓝牙
在完成推送的基本集成后,实现情景智能推送非常简单,仅需增加四行代码,申请获取用户的相关权限即可。
- 使用节假日推送、在周末推送、紫外线强度、温度范围的场景需要配置位置权限,且需要将HMS Core和应用的位置权限都打开。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- 识别耳机插入和车载蓝牙连接的场景需要配置蓝牙权限。
<uses-permission android:name="android.permission.BLUETOOTH" />
由于上述可能涉及到获取用户新的权限,因此记得在应用的隐私声明进行相应的更新,根据实际情况,增加上述权限的使用说明。
需要注意,情景智能推送的基本依赖条件如下:
HMS Core版本 | > 5.0.0 |
---|---|
推送服务 版本(应用市场搜索“推送服务”) | 推送服务版本:>11.0.0.400 |
因此实际测试过程中,需要在满足上述条件的设备上进行操作。
确保上述条件满足后,接下来就可以在华为推送运营控制台上创建情景智能任务了。
三、运营控制台操作指导
步骤一:登录华为开发者联盟,按照如下路径,进入推送控制台。
管理中心 → AppGallery Connect(应用市场) → 我的应用 → 选择目标应用 → 推送服务
步骤二:进入推送服务页签,点击“添加情景智能推送通知”
步骤三:填写推送内容
步骤四:选择推送场景
步骤五:点击发送,等待端侧触发场景后展示
创建任务完成后,见到该任务状态变成已生效,代表任务已经下发到设备。
该设备等待10分钟左右会进行情景任务创建,等到满足情景触发条件以后,就能在设备上看到推送的情景智能通知。
四、效果展示
至此,我们就实现了基于用户插入耳机(或者连入蓝牙耳机)这一场景,针对性地推送。抛转引玉,更多丰富的结合场景的推送,等你来亲自探索开发。
我们的宗旨,是让用户在合适的时间,合适的场景,接收到感兴趣的内容!
原文链接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202326981197520144&fid=18
原作者:别吃草莓
转载:https://blog.csdn.net/weixin_44708240/article/details/108093834