真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

AwarenessKit讓你的音樂APP脫穎而出,更懂用戶,也更動人心-創(chuàng)新互聯(lián)

讓你的音樂APP脫穎而出,更懂用戶,也更動人心

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:國際域名空間、網站空間、營銷軟件、網站建設、資興網站維護、網站推廣。

場景

情景感知服務能帶來什么?

??作為音樂發(fā)燒友,閑下來的時候總想打開App,享受沉浸在音樂中的放松。然而,App推薦的歌單經常沒法滿足我的需要,如果App能根據(jù)我當前的情景狀態(tài),推送給我的歌曲恰好就是我當前最想聽的,那該多好啊~

什么是情景感知服務?

??情景感知服務(Awareness Kit)能感知用戶當前的時間、地理位置、活動狀態(tài)、耳機狀態(tài)、天氣狀況、環(huán)境光、車載連接狀態(tài)、信標連接狀態(tài)等情景,并通過能常駐后臺運行的圍欄能力向APP進行提醒,使APP能第一時間給用戶提供精準和貼心的服務。上述情景感知能力還在不斷擴充中,而且您可以自由組合這些感知能力,構建組合圍欄,從而讓APP的服務能力更加智能,更加精準。

在情景感知服務的支持下,App能給用戶帶來如下體驗

  • 每次連接上耳機(有線耳機、藍牙耳機),手機通知欄會彈出音樂App通知,提示用戶時候是否要啟動音樂播放,或者是否要自動播放音樂

  • 點擊通知,可以打開音樂APP,并展示用戶當前情境下最恰當?shù)母鑶?/p>

  • 跑步開始,推薦節(jié)奏輕快歌單;跑步結束,推薦節(jié)奏緩場歌單

  • 清晨起床,連接耳機,來點清新音樂;夜深人靜,連接耳機,讓靜心的音樂讓我舒緩

  • 發(fā)動汽車,手機連接藍牙車載,音樂App自動切換成車載模式,并主動詢問是否播放各場景的行車音樂(白天、夜晚、雨天、晴天,推薦各不同)

  • 不同的節(jié)日,應該有特別的節(jié)日音樂

同時,用戶還可以通過各種感知能力的組合圍欄,設置排除場景,避免給用戶過多打擾。

情景感知服務的優(yōu)勢

??無需用戶提前開啟App,用戶進入地理圍欄范圍后,即可后臺激活App,觸發(fā)通知。

??無懼App進程被系統(tǒng)殺死,通過圍欄服務,依然可接受到通知。

??點擊通知,即可前臺激活APP,點擊直接跳轉App推薦界面。

??通過組合圍欄實現(xiàn)精準推送;也可避免在用戶不需要的場景提供無效通知,避免頻繁打擾。


開發(fā)前準備

Awareness Kit集成需要有如下3個關鍵步驟,可以參考華為開發(fā)者聯(lián)盟的文檔

  1. AppGallery Connect配置
  2. 集成HMS Awareness SDK
  3. 配置混淆腳本
    /tupian/20230522/ol

    代碼開發(fā)關鍵步驟

    1. 創(chuàng)建耳機圍欄
      ```java
      //創(chuàng)建一個感知耳機連接的圍欄,當耳機處于連接狀態(tài)時,此圍欄的狀態(tài)為true
      AwarenessBarrier headsetBarrier = HeadsetBarrier.keeping(HeadsetStatus.CONNECTED);

    //創(chuàng)建一個PendingIntent,當圍欄狀態(tài)改變的時候,會觸發(fā)該PendingIntent,這里以發(fā)送廣播為例
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);

    //創(chuàng)建圍欄的標簽,后續(xù)可以通過標簽查詢或者刪除對應圍欄
    String headsetBarrierLabel = “headset keeping connected label”;

     2. 注冊圍欄
    ```java
    //把剛剛創(chuàng)建好的耳機圍欄和它對應的label,pendingIntent注冊給Awareness kit
    Awareness.getBarrierClient(context).updateBarriers(new BarrierUpdateRequest.Builder()
            .addBarrier(headsetBarrierLabel,headsetBarrier,pendingIntent).build())
            .addOnSuccessListener(aVoid -> {
                //注冊圍欄成功
                Log.i(TAG,"add barrier success");
            })
            .addOnFailureListener(e -> {
                //注冊圍欄失敗
                Log.e(TAG,"add barrier failed");
                e.printStackTrace();
            });
    
    1. 創(chuàng)建廣播接收器監(jiān)聽圍欄事件
      //本示例中我們耳機圍欄的PendingIntent設置的是發(fā)送廣播,所以需要定義對應的廣播接收器來監(jiān)聽圍欄的狀態(tài)
      public final class HeadsetBarrierReceiver extends BroadcastReceiver {
      @Override
      public void onReceive(Context context, Intent intent) {
          //圍欄的信息通過intent傳遞過來,我們通過Barrier.extract方法將其解析出來
          BarrierStatus barrierState = BarrierStatus.extract(intent);
          //通過BarrierStatus獲取label和圍欄的當前狀態(tài)
          String label = barrierState.getBarrierLabel();
          int status = barrierState.getPresentStatus();
          if (status == BarrierStatus.TRUE && label.equals(headsetBarrierLabel)) {
              //當圍欄狀態(tài)為true時,代表耳機處于連接狀態(tài),這時就可以在通知欄推送相關消息
               //send Notification....
          }
      }
      }
      
        定義完廣播接收器后別忘記注冊該廣播接收器,如果需要APP被殺后依然推送,可以把該接收器設置為靜態(tài)廣播接收器。
    1. 通過Awareness快照接口獲取當前情景狀態(tài)
      ??在用戶點擊通知打開app后,可以通過Awareness各個能力的快照接口來獲取用戶當前的情景狀態(tài)以推薦不同歌單。

    ??例如獲取時間情景狀態(tài):

    Awareness.getCaptureClient(context).getTimeCategories()
            .addOnSuccessListener(timeIntervalsResponse -> {
                TimeCategories categories = timeIntervalsResponse.getTimeCategories();
                if (categories.isTimeCategory(TimeBarrier.TIME_CATEGORY_HOLIDAY)) {
                    //當天是節(jié)假日,可推薦節(jié)假日歌單
                }
                 if (categories.isTimeCategory(TimeBarrier.TIME_CATEGORY_WEEKEND)) {
                    //當天是周末,可推薦周末歌單
                }
                 if (categories.isTimeCategory(TimeBarrier.TIME_CATEGORY_NIGHT)) {
                    //當前是深夜,可推薦深夜歌單
                }
            })
            .addOnFailureListener(e -> {
                 //獲取時間信息失敗
                Log.e(TAG, "get Time Categories failed");
                e.printStackTrace();
            });
    

    ??獲取用戶當前的活動狀態(tài)以推薦歌單:

    Awareness.getCaptureClient(context).getBehavior()
            .addOnSuccessListener(behaviorResponse -> {
                BehaviorStatus behaviorStatus = behaviorResponse.getBehaviorStatus();
                DetectedBehavior mostLikelyBehavior = behaviorStatus.getMostLikelyBehavior();
                String str = "Most likely behavior is " + mostLikelyBehavior.getType();
            })
            .addOnFailureListener(e -> {
                //獲取活動狀態(tài)失敗
                Log.e(TAG, "Failed to get the behavior.", e);
            });
    

    ??獲取當前是否是連接車載藍牙:

    int deviceType = 0; // 0 代表獲取的設備類型為車載藍牙
    Awareness.getCaptureClient(this).getBluetoothStatus(deviceType)
            .addOnSuccessListener(bluetoothStatusResponse -> {
                BluetoothStatus bluetoothStatus = bluetoothStatusResponse.getBluetoothStatus();
                int status = bluetoothStatus.getStatus();
                if (status == BluetoothStatus.CONNECTED) {
                    //當前是連接車載藍牙,可將app切換為車載模式
                }
            })
            .addOnFailureListener(e -> {
                 //獲取車載藍牙狀態(tài)失敗
                Log.e(TAG, "Failed to get Bluetooth status.", e);
            });
    

    往期鏈接: 一文搞懂文本識別、銀行卡識別、通用卡證識別、身份證識別
    內容來源: /tupian/20230522/topicview
    原作者:Ascend
    新聞標題:AwarenessKit讓你的音樂APP脫穎而出,更懂用戶,也更動人心-創(chuàng)新互聯(lián)
    分享路徑:http://weahome.cn/article/cseged.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部