1. 程式人生 > 實用技巧 >推送開發實戰:APP如何實現跟隨使用者不同場景,實現不同的內容推薦

推送開發實戰:APP如何實現跟隨使用者不同場景,實現不同的內容推薦

  對於應用來說,藉助推送能力進行使用者促活尤其重要。但是常規的推送方式,往往很難把握當前使用者場景和實際需求,訊息到達使用者手機,卻沒法真正引起使用者注意。這其中有一個原因是訊息出現在使用者裝置時,運營人員無法準確知道使用者當前的狀態,很難做到投其所好。而這種盲推的推送方式,往往事倍功半,甚至招致使用者厭煩。是否有辦法可以瞭解使用者當前的一些狀態資訊,做到定製化的推送呢?

  華為推送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

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

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

  藉助情景智慧推送,可以實現如下場景的推送:

  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

  因此實際測試過程中,需要在滿足上述條件的裝置上進行操作。
  確保上述條件滿足後,接下來就可以在華為推送運營控制檯上建立情景智慧任務了。

三、運營控制檯操作指導

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

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

  步驟二:進入推送服務頁籤,點選“新增情景智慧推送通知”

  步驟三:填寫推送內容


  步驟四:選擇推送場景

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

  建立任務完成後,見到該任務狀態變成已生效,代表任務已經下發到裝置。

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

四、效果展示

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

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

  更多功能特性,請訪問  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

原作者:別吃草莓