推送開發實戰:APP如何實現跟隨用戶不一樣場景,實現不一樣的內容推薦

  對於應用來講,藉助推送能力進行用戶促活尤爲重要。可是常規的推送方式,每每很難把握當前用戶場景和實際需求,消息到達用戶手機,卻無法真正引發用戶注意。這其中有一個緣由是消息出如今用戶設備時,運營人員沒法準確知道用戶當前的狀態,很難作到投其所好。而這種盲推的推送方式,每每事倍功半,甚至招致用戶厭煩。是否有辦法能夠了解用戶當前的一些狀態信息,作到定製化的推送呢?android

  華爲推送5.0 新增的基於用戶場景的智能推送,即是爲了解決這一運營痛點。經過識別不一樣的用戶狀態,在合適的時機和場景下,向用戶展現內容,從而真正的投用戶所好,推送用戶感興趣的資訊。看似複雜的功能,實現起來,卻很是簡單。git

  下面咱們以一個demo開發實戰爲例,一塊兒看下如何快速實現基於場景推送消息。github

  此Demo已在Github上開源,若是你對實現方式感興趣,能夠下載源代碼:
  https://github.com/HMS-Core/hms-push-clientdemo-androidjson

1、開發實戰

1.集成pushSDK 5.0

1.1開發準備

1.1.1添加應用的AppGallery Connect配置文件
  下載"agconnect-services.json"文件。app

在這裏插入圖片描述

  將下載的"agconnect-services.json"文件移至AndroidStudio開發工程app的根目錄下。maven

在這裏插入圖片描述

1.1.2配置HMS Core SDK的Maven倉地址
  打開Android Studio項目級「build.gradle」文件ide

在這裏插入圖片描述
  添加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」文件gradle

在這裏插入圖片描述

  在「dependencies」中添加以下編譯依賴。ui

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

  確保推送功能可用再進入下一步。

二.接入情景智能推送功能

  藉助情景智能推送,能夠實現以下場景的推送:

  1. 識別節假日、週末
  2. 識別用戶當前天氣狀況(炎熱、適宜、寒冷)
  3. 識別用戶當前紫外線強度
  4. 識別用戶手機是否取消了免打擾
  5. 識別用戶設備是否鏈接耳機或者車載藍牙

在這裏插入圖片描述

  在完成推送的基本集成後,實現情景智能推送很是簡單,僅需增長四行代碼,申請獲取用戶的相關權限便可。

  • 使用節假日推送、在週末推送、紫外線強度、溫度範圍的場景須要配置位置權限,且須要將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

  所以實際測試過程當中,須要在知足上述條件的設備上進行操做。
  確保上述條件知足後,接下來就能夠在華爲推送運營控制檯上建立情景智能任務了。

3、運營控制檯操做指導

  步驟一:登陸華爲開發者聯盟,按照以下路徑,進入推送控制檯。

  管理中心 → AppGallery Connect(應用市場) → 個人應用 → 選擇目標應用 → 推送服務

  步驟二:進入推送服務頁籤,點擊「添加情景智能推送通知」

在這裏插入圖片描述

  步驟三:填寫推送內容

在這裏插入圖片描述
  步驟四:選擇推送場景

在這裏插入圖片描述

  步驟五:點擊發送,等待端側觸發場景後展現

  建立任務完成後,見到該任務狀態變成已生效,表明任務已經下發到設備。

  該設備等待10分鐘左右會進行情景任務建立,等到知足情景觸發條件之後,就能在設備上看到推送的情景智能通知。

4、效果展現

在這裏插入圖片描述

  至此,咱們就實現了基於用戶插入耳機(或者連入藍牙耳機)這一場景,針對性地推送。拋轉引玉,更多豐富的結合場景的推送,等你來親自探索開發。

  咱們的宗旨,是讓用戶在合適的時間,合適的場景,接收到感興趣的內容!

  更多功能特性,請訪問  https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/service-introduction-0000001050040060


原文連接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202326981197520144&fid=18

原做者:別吃草莓

相關文章
相關標籤/搜索